/* BU1ST Technologies Sydney — Elections public launch.
   Exact current BU1ST palette: paper #f4f5ef, ink #0a0d0c, lime #c8ff63, blue #2f61ff.
   Source: bu1st.com.au current website, 10 November 2026. */
html{scroll-padding-top:94px}
body{background:#f4f5ef;color:#0a0d0c}
:root{--e-lime:#c8ff63;--e-blue:#2f61ff;--e-black:#0a0d0c;--e-paper:#f4f5ef;--e-surface:#fff;--e-border:#cbd3c5}
.site-header{background:#f4f5ef;box-shadow:0 2px 10px rgba(10,13,12,.025)}
.brand-name>span{color:var(--e-blue)}
.brand-link{background:var(--e-lime)}
.hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:30px;align-items:stretch;padding:29px 0 25px;border-bottom:0}
.hero-story{padding:14px 0 12px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.hero-story .eyebrow{display:inline-flex;align-items:center;gap:8px;color:#3158d9;font-size:10px;font-weight:700;letter-spacing:.065em}
.live-pin{display:inline-block;width:8px;height:8px;background:var(--e-blue);border-radius:50%;box-shadow:0 0 0 4px #2f61ff15}
.hero h1{font:650 clamp(35px,3.65vw,51px)/1.09 var(--display);letter-spacing:-.063em;max-width:790px;margin:17px 0 15px;text-wrap:balance}
.hero h1 .highlight{background:linear-gradient(to top,var(--e-lime) 0 18%,transparent 18%);box-decoration-break:clone;-webkit-box-decoration-break:clone;text-decoration:none;color:var(--e-black)}
.hero-lead{max-width:645px;color:#5a665c;line-height:1.7;font-size:14px;margin:0}.hero-lead strong{color:#1c291e;font-weight:720}
.hero-actions{display:flex;gap:17px;align-items:center;flex-wrap:wrap;margin-top:22px}
.primary-action{border:1px solid var(--e-black);color:#fff;background:var(--e-black);display:inline-flex;align-items:center;gap:16px;font:650 12px/1.3 var(--display);padding:12px 17px;border-radius:2px;white-space:nowrap;transition:background .18s,transform .18s}
.primary-action span{font-size:16px;color:var(--e-lime)}.primary-action:hover{background:#2a3729;transform:translateY(-1px)}
.secondary-action{color:#244fca;font:750 11px/1.45 var(--body);padding:8px 0}.secondary-action span{padding-left:5px}.secondary-action:hover{text-decoration:underline}
.for-everyone{font:500 10.5px/1.7 var(--body);margin-top:21px;max-width:540px;color:#697569}.for-everyone>span{font:700 9px/1.6 var(--mono);color:#446048;letter-spacing:.018em;margin-right:9px}
.hero-featured{background:#0e130f;color:#fff;padding:19px;min-width:0;display:flex;flex-direction:column;gap:10px}
.featured-heading{display:flex;align-items:center;justify-content:space-between;font:700 9px/1.4 var(--mono);letter-spacing:.04em;color:var(--e-lime);padding-bottom:3px}
.featured-heading small{font:500 9px/1.3 var(--mono);color:#a2ada1}
.feature{position:relative;display:grid;grid-template-columns:57px minmax(0,1fr) 17px;gap:15px;align-items:center;min-height:98px;padding:13px 12px;color:#0c110e;transition:transform .16s,filter .16s}
.feature:hover{transform:translateX(3px);filter:saturate(1.08)}
.feature-nz{background:#d8f7ab}.feature-vic{background:#ffe1d5}
.feature-code{font:700 34px/1 var(--display);letter-spacing:-.065em;text-align:left;white-space:nowrap}
.feature-info{min-width:0;display:flex;flex-direction:column;gap:5px}
.feature-info small{font:650 8px/1.2 var(--mono);letter-spacing:.015em;color:#51604b}
.feature-vic .feature-info small{color:#8c5044}
.feature-info strong{font:700 clamp(14px,1.65vw,19px)/1.1 var(--display);letter-spacing:-.045em}
.feature-info>span{font:500 10px/1.4 var(--body);color:#455141}
.feature-vic .feature-info>span{color:#7a5146}
.feature-arrow{font:700 18px/1 var(--display);align-self:start}
.featured-foot{margin-top:2px;color:#b9c5b9;font:500 10px/1.55 var(--body)}
.trust-circle{display:inline-grid;place-items:center;width:17px;height:17px;border:1px solid #788c71;border-radius:50%;margin-right:7px;color:var(--e-lime);font-size:10px}
.value-strip{display:grid;grid-template-columns:170px repeat(3,minmax(0,1fr));align-items:stretch;padding:12px 0 14px;border-top:1px solid #c3cdbd;border-bottom:1px solid #c3cdbd;gap:0}
.value-caption{align-self:center;font:700 10px/1.5 var(--mono);color:#37483c;letter-spacing:.01em;padding-right:14px}
.value-link{border-left:1px solid #cbd3c7;display:flex;align-items:center;gap:10px;min-width:0;padding:7px 13px;transition:background .16s}
.value-link:hover{background:#e8ece2}
.value-icon{flex-shrink:0;width:33px;height:33px;display:grid;place-items:center;border-radius:50%;font:700 10px/1 var(--mono);color:#0a0d0c}
.value-icon.lime{background:var(--e-lime)}.value-icon.blue{background:#cdd9ff}.value-icon.coral{background:#ffd5c6}
.value-link>span:nth-child(2){display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.value-link strong{font:700 12px/1.2 var(--display);letter-spacing:-.03em}
.value-link small{font:500 10px/1.35 var(--body);color:#697667}
.value-link>span:last-child{font:650 16px/1 var(--display);color:var(--e-blue)}
.workspace{padding:25px 0 19px;grid-template-columns:minmax(0,1.64fr) minmax(290px,.82fr);gap:29px}
.panel-heading h2{font:700 25px/1.1 var(--display);letter-spacing:-.055em;margin:6px 0 0}
.panel-heading .eyebrow{font-size:9px;color:#3155cc}
.title-dot{color:var(--e-blue)}
.small-note{color:#7a8779}
.election-list{border-color:#b8c4b2}
.election-card{border-color:#d6dfd1;min-height:87px;padding:11px 3px 12px 0;grid-template-columns:45px minmax(0,1fr) minmax(130px,.31fr);gap:12px;transition:background .15s}
.election-card:hover{background:#eaeee3}
.region-mark{width:45px;height:45px;font:700 12px/1 var(--display);border-radius:3px}
.region-mark.nz{background:#c8ff63;border-color:#c8ff63}
.region-mark.vic{background:#ffbd9f;border-color:#ffbd9f}
.region-mark.nsw{background:#ddd4ff;border-color:#ddd4ff}
.region-mark.france{background:#c9d5ff;border-color:#c9d5ff}
.election-main h3{font:700 17px/1.15 var(--display);margin:4px 0;letter-spacing:-.04em}
.election-main p{font:500 10px/1.5 var(--body);color:#5c6a5e}
.election-action a{color:#244bcb}
.status{font-size:8px}.status.counting{background:#dff3c9}.status.upcoming{background:#ffe0d5}
.side-column{padding-left:23px;border-left:1px solid #c3cdbd}
.panel-heading-side h2{font:700 21px/1.1 var(--display);letter-spacing:-.04em}
.info-tabs{border-bottom-color:#bbc8b5}.info-tabs button{font-size:11px}.info-tabs button[aria-selected="true"]{border-bottom-color:var(--e-blue)}
.info-panel{min-height:128px}.info-panel h3{font:700 16px/1.25 var(--display)}
.info-panel p{font-size:11px}.info-panel a{color:#244bcb}
.calendar{border-top-color:#bac5b7}.calendar time{background:#e5eadf}
.directory-note{line-height:1.6}
.integrity{font-family:var(--body);color:#646f64;border-color:#cbd2c5}
.integrity strong{color:#1b2a1b}
.footer{background:#eceee7}
@media(max-width:1090px){
.hero{grid-template-columns:minmax(0,1fr) minmax(325px,.91fr);gap:20px}
.hero h1{font-size:clamp(33px,3.7vw,46px)}
.feature{grid-template-columns:46px minmax(0,1fr) 12px;gap:10px}
.feature-code{font-size:29px}
.feature-info strong{font-size:15px}
.value-strip{grid-template-columns:135px repeat(3,minmax(0,1fr))}
.value-link{padding-inline:9px;gap:7px}
.value-link small{font-size:9px}
.workspace{grid-template-columns:minmax(0,1.45fr) minmax(265px,.85fr);gap:20px}
.election-card{grid-template-columns:39px minmax(0,1fr) minmax(115px,.28fr);gap:9px}
.region-mark{width:39px;height:39px}
}
@media(max-width:860px){
.hero{grid-template-columns:minmax(0,1fr);gap:18px;padding:24px 0}
.hero-story{padding:0}
.hero h1{font-size:clamp(38px,6.3vw,52px)}
.hero-featured{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:15px}
.featured-heading,.featured-foot{grid-column:1/-1}
.feature{min-height:89px}
.value-strip{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.value-caption{grid-column:1/-1;margin-bottom:6px}
.value-link:first-of-type{border-left:0}
.workspace{grid-template-columns:minmax(0,1fr)}
.side-column{padding:17px 0 0;border-left:0;border-top:1px solid #c3cdbd}
}
@media(max-width:760px){
html{scroll-padding-top:125px}
.hero h1{font-size:clamp(36px,7vw,49px)}
.hero-lead{font-size:13px}
.value-link{gap:8px}
.value-link strong{font-size:11px}
}
@media(max-width:550px){
.hero{padding:19px 0 17px}
.hero h1{font-size:clamp(34px,8vw,41px);line-height:1.11}
.hero-story .eyebrow{font-size:9px}
.hero-lead{font-size:12px}
.hero-actions{gap:11px;margin-top:17px}
.primary-action{padding:11px 12px}
.secondary-action{font-size:10px}
.for-everyone{font-size:10px;margin-top:14px}
.for-everyone>span{display:block;margin-bottom:3px}
.hero-featured{grid-template-columns:1fr;gap:8px;padding:13px}
.featured-heading,.featured-foot{grid-column:1}
.feature{min-height:83px;padding:10px;grid-template-columns:50px minmax(0,1fr) 12px}
.feature-code{font-size:28px}
.feature-info strong{font-size:15px}
.value-strip{grid-template-columns:1fr;padding:7px 0}
.value-caption{grid-column:1;padding:5px 0}
.value-link{border:0;border-top:1px solid #d1dbce;padding:9px 4px}
.value-link strong{font-size:12px}.value-link small{font-size:10px}
.workspace{padding-top:21px}
.election-card{grid-template-columns:35px minmax(0,1fr);gap:9px}
.region-mark{width:35px;height:35px}
.election-action{grid-column:2;flex-direction:row;align-items:center;justify-content:space-between;text-align:left}
}
@media(max-width:390px){
.hero h1{font-size:32px}
.hero-lead{font-size:11px}
.feature{grid-template-columns:44px minmax(0,1fr) 12px;gap:8px}
.feature-code{font-size:24px}
.feature-info strong{font-size:14px}
.feature-info small{font-size:7.5px}
.value-link{padding:8px 2px}
}
@media(prefers-reduced-motion:reduce){
.feature,.value-link,.primary-action{transition:none!important;transform:none!important}
}

/* Dedicated elections remain non-clickable until nzelect/vicelect custom domains launch. */
.feature-pending{cursor:default;grid-template-columns:57px minmax(0,1fr) auto;gap:12px;min-height:98px}
.feature-pending:hover{transform:none;filter:none}
.feature-soon{align-self:center;padding:6px 7px;border:1px solid currentColor;border-radius:2px;font:700 8px/1.35 var(--mono);white-space:nowrap;letter-spacing:.035em}
.feature-nz .feature-soon{color:#355126}
.feature-vic .feature-soon{color:#7c4036}
.inactive-link{color:#68766a;font:650 10px/1.5 var(--body);cursor:default}
.launch-soon{color:#68766a;text-decoration:none;cursor:default}
.launch-soon:hover{text-decoration:none}
@media(max-width:1090px){
.feature-pending{grid-template-columns:46px minmax(0,1fr);gap:8px}
.feature-soon{grid-column:2;justify-self:start;padding:4px 6px}
}
@media(max-width:860px){
.feature-pending{grid-template-columns:43px minmax(0,1fr);min-height:100px}
.feature-soon{grid-column:2}
}
@media(max-width:550px){
.feature-pending{grid-template-columns:44px minmax(0,1fr);min-height:80px}
.feature-soon{grid-column:2;margin-top:-3px}
}

/* NZ launch: live destination; Victoria remains a disabled coming-soon tile */
.feature-live{cursor:pointer;grid-template-columns:57px minmax(0,1fr) 17px}
.feature-live:hover{filter:brightness(1.03);transform:translateX(3px)}
.feature-live:focus-visible{outline:3px solid #2f61ff;outline-offset:2px}
.feature-arrow{font:700 19px/1 var(--display);align-self:start;color:#243d24}
@media(max-width:1090px){.feature-live{grid-template-columns:46px minmax(0,1fr) 15px;gap:9px}}
@media(max-width:860px){.feature-live{grid-template-columns:43px minmax(0,1fr) 15px}}
@media(max-width:550px){.feature-live{grid-template-columns:44px minmax(0,1fr) 15px;min-height:80px}}
