/* ============================================================
   NN RENEWABLES — components.css
   buttons, cards, forms, calculators, sliders, modals, toasts…
   ============================================================ */

/* ---------- buttons ---------- */
.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 28px;border-radius:var(--r-sm);font:600 13.5px/1 var(--fd);letter-spacing:.09em;text-transform:uppercase;border:2px solid transparent;transition:transform .25s,background .25s,box-shadow .25s,color .25s;white-space:nowrap}
.btn i{transition:transform .25s}
.btn:hover i{transform:translateX(4px)}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 26px -10px rgba(15,76,255,.55)}
.btn-primary:hover{background:var(--blue-d);transform:translateY(-2px)}
.btn-orange{background:var(--orange);color:var(--navy);box-shadow:0 12px 26px -10px rgba(255,157,0,.6)}
.btn-orange:hover{background:#FFB233;transform:translateY(-2px)}
.btn-outline-w{border-color:rgba(255,255,255,.4);color:#fff}
.btn-outline-w:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.btn-outline{border-color:var(--navy);color:var(--navy)}
.btn-outline:hover{background:var(--navy);color:#fff;transform:translateY(-2px)}
.btn-green{background:var(--green);color:#fff;box-shadow:0 12px 26px -10px rgba(22,163,74,.55)}
.btn-green:hover{background:#128A3E;transform:translateY(-2px)}
.btn-sm{padding:11px 18px;font-size:12px}
.btn-lg{padding:19px 34px;font-size:14px}
.btn-block{width:100%}
.ripple{position:absolute;width:14px;height:14px;border-radius:50%;background:rgba(255,255,255,.5);transform:translate(-50%,-50%) scale(0);animation:rippleGo .65s ease-out forwards;pointer-events:none}

/* ---------- generic cards ---------- */
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px 28px;position:relative;transition:transform .3s,box-shadow .3s,border-color .3s}
.card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:rgba(15,76,255,.25)}
.card-t{font-size:18.5px;margin:20px 0 10px;font-weight:700}
.card p{color:var(--mut);font-size:14.5px}
.icon-tile{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;font-size:23px;transition:transform .3s}
.card:hover .icon-tile{transform:scale(1.08) rotate(-4deg)}
.tile-blue{background:var(--blue-soft);color:var(--blue)}
.tile-orange{background:var(--orange-soft);color:var(--orange-d)}
.tile-green{background:var(--green-soft);color:var(--green)}
.tile-navy{background:#E7ECF5;color:var(--navy)}
.num-corner{position:absolute;top:20px;right:22px;font:800 15px var(--fd);color:rgba(7,27,52,.14);letter-spacing:.05em}
.sec-dark .num-corner{color:rgba(255,255,255,.16)}
.card-link{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font:700 12.5px var(--fd);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.card-link i{transition:transform .25s}
.card-link:hover i{transform:translateX(5px)}
.card-link:hover{color:var(--orange-d)}

/* grids */
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}

/* chips / tags / misc */
.chip-row{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:100px;background:#fff;border:1px solid var(--line);font:600 13px var(--fb);color:var(--ink)}
.chip i{color:var(--blue);font-size:12px}
.plc{color:var(--mut);border-bottom:1px dashed var(--orange);cursor:text}
.demo-tag{display:inline-flex;align-items:center;gap:7px;font:700 10px var(--fd);letter-spacing:.2em;text-transform:uppercase;color:var(--orange-d);border:1px dashed rgba(255,157,0,.7);padding:5px 11px;border-radius:7px;background:var(--orange-soft)}
.checks{display:grid;gap:13px}
.checks li{display:flex;gap:13px;align-items:flex-start;font-size:15px}
.checks i{color:var(--green);margin-top:4px}
.checks b{color:var(--navy)}
.note-box{background:var(--blue-soft);border-left:4px solid var(--blue);border-radius:0 10px 10px 0;padding:18px 22px;font-size:14px;color:var(--navy)}
.note-box.warn{background:var(--orange-soft);border-color:var(--orange)}
.note-box.green{background:var(--green-soft);border-color:var(--green)}
.disclaimer{font-size:12.5px;color:var(--mut);border:1px dashed var(--line);border-radius:10px;padding:14px 18px;background:var(--fog)}
.stars{color:var(--orange);letter-spacing:3px;font-size:15px}

/* ---------- filter bar ---------- */
.filter-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:40px}
.f-chip{padding:11px 22px;border-radius:100px;border:1.5px solid var(--line);background:#fff;font:600 12.5px var(--fd);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);transition:.25s}
.f-chip:hover{border-color:var(--blue);color:var(--blue)}
.f-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}
.f-item{transition:opacity .35s,transform .35s}
.f-item.is-hide{display:none}

/* ---------- forms ---------- */
.field{margin-bottom:18px}
.field label{display:block;font:600 12px var(--fd);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.field label b{color:var(--orange)}
.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:var(--fog);font:500 15px var(--fb);color:var(--ink);transition:border-color .2s,background .2s,box-shadow .2s}
.field textarea{min-height:110px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(15,76,255,.12)}
.field.err input,.field.err select,.field.err textarea{border-color:#E5484D;background:#FFF5F5}
.fmsg{display:none;color:#E5484D;font-size:12.5px;margin-top:6px;font-weight:600}
.field.err .fmsg{display:block}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.form-grid .full{grid-column:1/-1}
.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--sh-md);overflow:hidden}
.form-card-head{background:var(--navy);color:#fff;padding:22px 30px;display:flex;align-items:center;gap:14px}
.form-card-head i{color:var(--orange);font-size:22px}
.form-card-head h3{color:#fff;font-size:18px}
.form-card-head p{color:#93A5C0;font-size:12.5px;margin-top:2px}
.form-card-body{padding:30px}
.form-alt{margin-top:16px;font-size:13.5px;color:var(--mut);text-align:center}
.form-alt a{color:var(--green);font-weight:700}

/* contact info cards */
.c-card{display:flex;gap:18px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;transition:.3s}
.c-card:hover{border-color:rgba(255,157,0,.5);box-shadow:var(--sh-sm)}
.c-card .icon-tile{flex:0 0 auto}
.c-card h4{font-size:15.5px;margin-bottom:4px}
.c-card p,.c-card a{font-size:14px;color:var(--mut)}
.c-card a.big{font:700 17px var(--fd);color:var(--navy)}
.c-card a.big:hover{color:var(--blue)}

/* ---------- calculators ---------- */
.calc{background:#fff;border-radius:18px;box-shadow:var(--sh-lg);border:1px solid var(--line);overflow:hidden}
.calc-head{background:var(--navy);color:#fff;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:14px}
.calc-head h3{color:#fff;font-size:17px;display:flex;gap:12px;align-items:center}
.calc-head h3 i{color:var(--orange)}
.calc-head span{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8FA2BE}
.calc-body{padding:28px}
.calc-out{background:var(--fog);border:1px solid var(--line);border-radius:var(--r);padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.out-item{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px 16px}
.out-item small{display:block;font:600 10.5px var(--fd);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);margin-bottom:5px}
.out-item b{font:800 21px var(--fd);color:var(--navy);font-variant-numeric:tabular-nums}
.out-item.hi b{color:var(--blue)}
.out-item.save b{color:var(--orange-d)}
.out-item.eco b{color:var(--green)}
.q-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.q-chip{padding:6px 13px;border-radius:100px;border:1px solid var(--line);background:#fff;font:600 12px var(--fb);color:var(--mut);transition:.2s}
.q-chip:hover,.q-chip.on{border-color:var(--blue);color:var(--blue);background:var(--blue-soft)}
.calc-foot{margin-top:20px}

/* ---------- system size cards ---------- */
.sys-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:28px 26px;display:flex;flex-direction:column;transition:.3s;position:relative;overflow:hidden}
.sys-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.sys-card:hover{transform:translateY(-7px);box-shadow:var(--sh-md)}
.sys-card:hover::before{transform:scaleX(1)}
.sys-kw{font:800 40px/1 var(--fd);color:var(--navy)}
.sys-kw em{font:700 18px var(--fd);color:var(--orange);font-style:normal}
.sys-fit{margin:14px 0 4px;font:600 13px var(--fd);color:var(--blue);letter-spacing:.02em}
.sys-gen{font-size:13px;color:var(--mut);padding-bottom:14px;border-bottom:1px dashed var(--line);margin-bottom:14px}
.sys-list{display:grid;gap:8px;margin-bottom:20px;flex:1}
.sys-list li{display:flex;gap:9px;font-size:13.5px;color:var(--ink)}
.sys-list i{color:var(--green);font-size:11px;margin-top:5px}

/* ---------- audience tiles ---------- */
.aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.aud{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:17px 20px;font:600 14.5px var(--fd);color:var(--navy);transition:.25s}
.aud i{color:var(--blue);font-size:19px;width:24px;text-align:center}
.aud:hover{border-color:var(--orange);transform:translateX(5px);box-shadow:var(--sh-sm)}
.aud:hover i{color:var(--orange-d)}

/* ---------- industrial rows ---------- */
.ind-row{display:grid;grid-template-columns:86px 1fr;gap:22px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.1);align-items:start}
.ind-num{font:800 34px var(--fd);color:transparent;-webkit-text-stroke:1.3px rgba(255,157,0,.85)}
.ind-row h3{color:#fff;font-size:19px;margin-bottom:6px}
.ind-row p{color:#A9BAD3;font-size:14.5px}

/* ---------- process ---------- */
.proc-grid{display:grid;grid-template-columns:5fr 7fr;gap:70px;align-items:start}
.proc-left{position:sticky;top:120px}
.proc-steps{border-left:2px dashed rgba(15,76,255,.28);padding-left:0}
.p-step{display:grid;grid-template-columns:auto 1fr;gap:24px;padding:26px 0;position:relative}
.p-num{width:56px;height:56px;border-radius:15px;background:var(--navy);color:#fff;font:800 16px var(--fd);display:grid;place-items:center;margin-left:-29px;border:4px solid #fff;box-shadow:var(--sh-sm);transition:.3s}
.p-step:hover .p-num{background:var(--orange);color:var(--navy);transform:rotate(-6deg) scale(1.06)}
.p-body h3{font-size:18px;margin-bottom:6px}
.p-body p{color:var(--mut);font-size:14.5px}
.p-body .p-tag{font:700 10.5px var(--fd);letter-spacing:.22em;color:var(--orange-d);text-transform:uppercase}

/* ---------- project cards ---------- */
.proj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.proj-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s;cursor:pointer;display:flex;flex-direction:column}
.proj-card:hover{transform:translateY(-7px);box-shadow:var(--sh-md)}
.proj-img{position:relative;height:230px;overflow:hidden}
.proj-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.6,.2,1)}
.proj-card:hover .proj-img img{transform:scale(1.09)}
.proj-badge{position:absolute;top:14px;left:14px;background:var(--orange);color:var(--navy);font:800 13px var(--fd);padding:7px 13px;border-radius:8px;letter-spacing:.03em;z-index:2}
.proj-type{position:absolute;bottom:14px;left:14px;background:rgba(7,27,52,.85);color:#fff;font:600 11px var(--fd);letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:7px;z-index:2}
.proj-body{padding:22px 24px;flex:1;display:flex;flex-direction:column}
.proj-body h3{font-size:17.5px;margin-bottom:12px}
.proj-meta{display:grid;gap:7px;font-size:13px;color:var(--mut);margin-bottom:16px}
.proj-meta i{color:var(--blue);width:16px;text-align:center}
.proj-view{margin-top:auto;font:700 12px var(--fd);letter-spacing:.14em;text-transform:uppercase;color:var(--blue);display:flex;gap:8px;align-items:center}
.proj-card:hover .proj-view{color:var(--orange-d)}

/* ---------- product cards ---------- */
.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.prod-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;transition:.3s;display:flex;flex-direction:column}
.prod-card:hover{transform:translateY(-6px);box-shadow:var(--sh-md);border-color:rgba(15,76,255,.3)}
.prod-img{height:160px;overflow:hidden;background:var(--fog)}
.prod-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.prod-card:hover .prod-img img{transform:scale(1.07)}
.prod-body{padding:20px;flex:1;display:flex;flex-direction:column}
.prod-body h3{font-size:16px;margin-bottom:10px}
.prod-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.tag{font:600 10.5px var(--fd);letter-spacing:.08em;text-transform:uppercase;background:var(--blue-soft);color:var(--blue);padding:5px 10px;border-radius:6px}
.tag.o{background:var(--orange-soft);color:var(--orange-d)}
.tag.g{background:var(--green-soft);color:var(--green)}
.prod-body p{font-size:13px;color:var(--mut);flex:1}

/* ---------- brands ---------- */
.brand-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.brand-tile{border:1.5px dashed rgba(91,107,131,.4);border-radius:12px;min-height:92px;display:grid;place-items:center;text-align:center;font:700 11.5px var(--fd);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);padding:14px;transition:.25s;background:#fff}
.brand-tile:hover{border-color:var(--orange);color:var(--orange-d);transform:translateY(-3px)}

/* ---------- founder ---------- */
.founder-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--sh-md)}
.founder-photo{height:340px;overflow:hidden;position:relative}
.founder-photo img{width:100%;height:100%;object-fit:cover}
.founder-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 55%,rgba(7,27,52,.85))}
.founder-id{position:absolute;bottom:18px;left:22px;z-index:2;color:#fff}
.founder-id b{font:800 22px var(--fd);display:block;text-transform:uppercase}
.founder-id span{font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange)}
.founder-quote{padding:26px 26px 28px;font-size:14.5px;color:var(--mut)}
.founder-quote .q{font-size:34px;color:var(--orange);font-family:Georgia,serif;line-height:0;vertical-align:-10px;margin-right:4px}

/* ---------- testimonials ---------- */
.tslider{position:relative;max-width:860px;margin:0 auto}
.t-viewport{overflow:hidden;border-radius:18px}
.t-track{display:flex;transition:transform .55s cubic-bezier(.3,.7,.3,1)}
.t-card{min-width:100%;background:#fff;border:1px solid var(--line);border-radius:18px;padding:48px 56px;text-align:center;position:relative}
.t-card::before{content:"\201C";position:absolute;top:8px;left:30px;font:800 110px/1 Georgia,serif;color:rgba(15,76,255,.1)}
.t-ava{width:66px;height:66px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:3px solid var(--orange)}
.t-card blockquote{font-size:17px;color:var(--ink);font-weight:500;max-width:620px;margin:12px auto}
.t-who b{font:700 15px var(--fd);color:var(--navy);display:block}
.t-who span{font-size:12.5px;color:var(--mut);letter-spacing:.06em;text-transform:uppercase}
.t-nav{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px}
.t-btn{width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line);background:#fff;color:var(--navy);transition:.25s;font-size:14px}
.t-btn:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.t-dots{display:flex;gap:8px}
.t-dot{width:9px;height:9px;border-radius:50%;background:var(--line);transition:.3s;padding:0}
.t-dot.on{background:var(--orange);width:26px;border-radius:6px}

/* ---------- google review ---------- */
.grev{background:#fff;border:1px solid var(--line);border-radius:18px;padding:40px;display:flex;align-items:center;gap:40px;flex-wrap:wrap;box-shadow:var(--sh-sm)}
.grev-score{flex:0 0 auto;text-align:center;padding-right:40px;border-right:1px solid var(--line)}
.grev-score b{font:800 56px/1 var(--fd);color:var(--navy)}
.grev-score .stars{font-size:20px;display:block;margin:8px 0 4px}
.grev-body{flex:1;min-width:240px}
.grev-body h3{display:flex;gap:12px;align-items:center;font-size:20px}
.grev-body h3 i{color:#4285F4}
.grev-body p{color:var(--mut);font-size:14.5px;margin:10px 0 18px}

/* ---------- accordion ---------- */
.acc-group{display:grid;gap:12px}
.acc{background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;transition:border-color .3s,box-shadow .3s}
.acc.open{border-color:rgba(15,76,255,.4);box-shadow:var(--sh-sm)}
.acc-btn{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;font:600 15.5px var(--fd);color:var(--navy);text-align:left;transition:color .2s}
.acc-btn:hover{color:var(--blue)}
.acc-btn .acc-ico{flex:0 0 auto;width:30px;height:30px;border-radius:9px;background:var(--blue-soft);color:var(--blue);display:grid;place-items:center;font-size:13px;transition:.3s}
.acc.open .acc-ico{background:var(--orange);color:var(--navy);transform:rotate(45deg)}
.acc-panel{max-height:0;overflow:hidden;transition:max-height .4s ease}
.acc-panel p{padding:0 24px 22px;color:var(--mut);font-size:14.5px}
.faq-cat{font:700 12px var(--fd);letter-spacing:.24em;text-transform:uppercase;color:var(--orange-d);margin:34px 0 16px;display:flex;align-items:center;gap:14px}
.faq-cat::after{content:"";flex:1;height:1px;background:var(--line)}

/* ---------- table ---------- */
.cmp{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh-sm)}
.cmp th,.cmp td{padding:16px 20px;text-align:left;font-size:14px;border-bottom:1px solid var(--line)}
.cmp th{background:var(--navy);color:#fff;font:600 12.5px var(--fd);letter-spacing:.1em;text-transform:uppercase}
.cmp th:first-child{color:var(--orange)}
.cmp td:first-child{font-weight:700;color:var(--navy)}
.cmp tr:last-child td{border-bottom:0}
.cmp tr:hover td{background:var(--fog)}
.tbl-scroll{overflow-x:auto;border-radius:var(--r)}

/* ---------- steps (numbered list) ---------- */
.steps{display:grid;gap:0;counter-reset:stp}
.step{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:20px 0;border-bottom:1px dashed var(--line);align-items:start}
.step::before{counter-increment:stp;content:"0" counter(stp);width:48px;height:48px;border-radius:12px;background:var(--blue-soft);color:var(--blue);font:800 15px var(--fd);display:grid;place-items:center}
.step:hover::before{background:var(--orange);color:var(--navy)}
.step h4{font-size:16px;margin-bottom:4px}
.step p{font-size:13.5px;color:var(--mut)}

/* ---------- gallery ---------- */
.gal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gal-item{position:relative;border-radius:12px;overflow:hidden;cursor:zoom-in;aspect-ratio:1/1;background:var(--fog)}
.gal-item.wide{grid-column:span 2;aspect-ratio:auto}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.gal-item:hover img{transform:scale(1.08)}
.gal-cap{position:absolute;inset:auto 0 0 0;padding:34px 16px 12px;background:linear-gradient(transparent,rgba(7,27,52,.85));color:#fff;font:600 12.5px var(--fd);letter-spacing:.05em;opacity:0;transition:.35s}
.gal-item:hover .gal-cap{opacity:1}

/* ---------- modals ---------- */
.modal{position:fixed;inset:0;z-index:220;display:flex;align-items:center;justify-content:center;padding:22px;opacity:0;visibility:hidden;transition:.3s}
.modal.show{opacity:1;visibility:visible}
.modal-bg{position:absolute;inset:0;background:rgba(5,15,30,.72);backdrop-filter:blur(5px)}
.modal-box{position:relative;background:#fff;border-radius:18px;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;padding:36px;transform:translateY(24px) scale(.97);transition:.35s;box-shadow:var(--sh-lg)}
.modal.show .modal-box{transform:none}
.modal-lg{max-width:840px;padding:0}
.modal-x{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:10px;background:var(--fog);color:var(--navy);z-index:5;transition:.2s}
.modal-x:hover{background:var(--navy);color:#fff;transform:rotate(90deg)}
.pm-hero{position:relative;height:280px}
.pm-hero img{width:100%;height:100%;object-fit:cover}
.pm-hero .proj-badge{top:18px;left:18px}
.pm-body{padding:32px}
.pm-body h3{font-size:24px;text-transform:uppercase}
.pm-loc{color:var(--mut);font-size:14px;margin:6px 0 22px;display:flex;gap:8px;align-items:center}
.pm-loc i{color:var(--orange)}
.pm-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}
.pm-spec{background:var(--fog);border-radius:10px;padding:13px 15px}
.pm-spec small{display:block;font:600 10px var(--fd);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.pm-spec b{font:700 14.5px var(--fd);color:var(--navy)}
.pm-block{margin-bottom:20px}
.pm-block h4{font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);margin-bottom:7px;display:flex;gap:9px;align-items:center}
.pm-block p{font-size:14.5px;color:var(--mut)}

/* ---------- lightbox ---------- */
.lightbox{position:fixed;inset:0;z-index:240;background:rgba(4,10,20,.92);display:flex;align-items:center;justify-content:center;padding:5vh 5vw;opacity:0;visibility:hidden;transition:.3s}
.lightbox.show{opacity:1;visibility:visible}
.lightbox img{max-width:100%;max-height:82vh;border-radius:12px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.lb-cap{position:absolute;bottom:4vh;left:50%;transform:translateX(-50%);color:#fff;font:600 13.5px var(--fd);letter-spacing:.08em;background:rgba(255,255,255,.08);padding:9px 20px;border-radius:100px}
.lb-x{position:absolute;top:22px;right:26px;color:#fff;font-size:26px;width:50px;height:50px;border-radius:50%;background:rgba(255,255,255,.1)}
.lb-x:hover{background:var(--orange);color:var(--navy)}

/* ---------- toasts ---------- */
.toast-wrap{position:fixed;top:24px;right:24px;z-index:300;display:grid;gap:12px;max-width:min(400px,90vw)}
.toast{display:flex;gap:14px;align-items:flex-start;background:var(--navy);color:#fff;padding:17px 20px;border-radius:13px;box-shadow:var(--sh-lg);border-left:4px solid var(--green);animation:toastIn .45s cubic-bezier(.2,.9,.3,1.2)}
.toast.err{border-left-color:#E5484D}
.toast i{font-size:19px;color:var(--green);margin-top:2px}
.toast.err i{color:#FF8087}
.toast b{display:block;font:700 14px var(--fd)}
.toast span{font-size:13px;color:#B9C8DE}

/* ---------- misc content blocks ---------- */
.kicker-stat{display:flex;gap:44px;flex-wrap:wrap;margin-top:36px}
.kicker-stat div b{font:800 40px var(--fd);color:var(--orange);display:block;line-height:1;font-variant-numeric:tabular-nums}
.kicker-stat div span{font:600 12px var(--fd);letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.sec-dark .kicker-stat div span{color:#8FA2BE}
.split-img{position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--sh-md)}
.split-img img{width:100%;height:100%;object-fit:cover;min-height:380px}
.split-img .exp-badge{position:absolute;bottom:20px;left:20px;background:var(--orange);color:var(--navy);padding:16px 22px;border-radius:13px;font:800 15px var(--fd);line-height:1.25;box-shadow:var(--sh-md)}
.split-img .exp-badge span{display:block;font:600 11px var(--fd);letter-spacing:.1em;text-transform:uppercase}