/* SMB Communications · Canadian Small Business Giveaway
   Uses the same visual palette and unchanged corporate logo as tryvoip.ca.
   Separate stylesheet intentionally preserves the contest app's strict CSP. */
:root{
  --smb-blue:#059ac4;
  --smb-deep:#003b73;
  --smb-green:#38a830;
  --smb-sky:#0057a8;
  --smb-ink:#1b2939;
  --smb-muted:#526575;
  --smb-line:#d9e4ec;
  --smb-bg:#f5f7fa;
  --smb-white:#fff;
  font-family:Arial,Helvetica,sans-serif;
  color:var(--smb-ink);
  background:var(--smb-bg);
  line-height:1.6;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;min-width:0}
a{color:#00789f;text-underline-offset:.19em}
a:hover{color:var(--smb-deep)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid #f7ae32;outline-offset:3px;box-shadow:0 0 0 5px rgba(255,255,255,.95)
}
button{font:inherit}
.wrap{width:min(92%,1180px);margin-inline:auto}
.skip{position:absolute;left:-10000px;top:0;z-index:999;padding:12px 18px;background:#fff;color:var(--smb-deep)}
.skip:focus{left:12px;top:12px}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid #e4ebef;box-shadow:0 2px 15px rgba(0,59,115,.05)}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:96px}
.site-brand{display:flex;flex-shrink:0;align-items:center}
.site-brand img{width:190px;height:auto;max-height:82px;object-fit:contain}
.site-nav{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 12px}
.site-nav a{color:#253744;font-weight:700;text-decoration:none;padding:9px 8px;border-radius:5px;white-space:nowrap}
.site-nav a:hover,.site-nav .current{color:var(--smb-deep);background:#eaf5fa}
.site-nav .current{box-shadow:inset 0 -3px var(--smb-green)}
.header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.language-switch{color:var(--smb-deep);font-weight:700;text-decoration:none;border:1px solid #c7dce7;padding:9px 12px;border-radius:6px;white-space:nowrap}
.language-switch:hover{background:#ecf7fb}
.header-call{background:var(--smb-green);border-radius:6px;padding:11px 16px;color:#fff;text-decoration:none;font-weight:700;white-space:nowrap}
.header-call:hover{background:#287e25;color:#fff}
.hero{background:linear-gradient(126deg,var(--smb-sky) 0%,var(--smb-deep) 68%,#002c54 100%);color:#fff;padding:70px 0 76px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.17fr) minmax(315px,.83fr);gap:clamp(28px,5vw,65px);align-items:center}
.hero-copy{min-width:0}
.eyebrow{display:inline-block;margin:0 0 17px;color:#c6f6d5;font-weight:800;letter-spacing:.075em;font-size:.82rem;text-transform:uppercase}
.hero h1{font-size:clamp(2.15rem,4.5vw,3.55rem);line-height:1.13;letter-spacing:-.025em;color:#fff;margin:0 0 22px;max-width:720px}
.hero-intro{font-size:clamp(1rem,1.7vw,1.21rem);line-height:1.72;color:#e5f2fd;margin:0 0 24px;max-width:690px}
.hero-cta{display:inline-flex;align-items:center;gap:10px;background:var(--smb-green);color:white;text-decoration:none;font-weight:800;padding:13px 24px;border-radius:7px;box-shadow:0 6px 22px #001d3a30}
.hero-cta:hover{background:#2b8527;color:white;transform:translateY(-1px)}
.prize-card{background:white;color:#283b49;border-radius:14px;padding:clamp(24px,3vw,36px);box-shadow:0 20px 54px #00234748;border-top:6px solid var(--smb-green)}
.prize-kicker{margin:0 0 3px;font-size:.83rem;color:var(--smb-deep);text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.prize-number{display:block;font-size:clamp(2.4rem,4vw,3.45rem);line-height:1.15;color:var(--smb-deep);font-weight:800;letter-spacing:-.03em}
.prize-term{display:block;color:#1b6d33;font-weight:800;font-size:1.06rem;margin:9px 0 20px}
.prize-card p:last-child{font-size:.93rem;line-height:1.75;margin:0;color:#425363}
.contest-facts{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:-28px;position:relative;z-index:1;margin-bottom:42px}
.fact-card{background:white;border:1px solid var(--smb-line);border-radius:12px;border-top:4px solid var(--smb-blue);padding:26px 30px;box-shadow:0 7px 20px #143e6412}
.fact-card:nth-child(2){border-top-color:var(--smb-green)}
.fact-card h2{font-size:1.21rem;line-height:1.3;margin:0 0 10px;color:var(--smb-deep)}
.fact-card p{margin:0;color:#3e5162;font-size:.97rem}
.entry-section{padding:0 0 74px}
.panel{background:white;border:1px solid var(--smb-line);border-radius:14px;box-shadow:0 9px 34px #0c3b6612;padding:clamp(23px,4.5vw,45px);max-width:900px;margin:auto;scroll-margin-top:115px}
.panel h2{font-size:clamp(1.55rem,3vw,2.15rem);line-height:1.2;color:var(--smb-deep);margin:0 0 16px}
.panel>p{line-height:1.7}
.notice{background:#fff4d6;border-left:5px solid #ad7900;border-radius:5px;padding:14px 18px;color:#624411}
.legal-links{font-weight:700;margin:22px 0}
.legal-links a{color:#006c97}
form{display:grid;gap:9px;margin-top:25px}
form label:not(.check){font-weight:700;margin-top:8px;color:#283d4f}
input,select{font:inherit;width:100%;min-height:47px;border:1px solid #8297a5;border-radius:7px;padding:11px 13px;background:white;color:#183041}
input:hover,select:hover{border-color:var(--smb-blue)}
input:focus,select:focus{border-color:var(--smb-blue)}
.check{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:9px 0;line-height:1.55;color:#283d4f}
.check input{flex:0 0 22px;width:22px;height:22px;min-height:22px;margin:2px 0 0;accent-color:var(--smb-green)}
.notice + #form-help{margin-top:24px}
button[type=submit]{background:var(--smb-blue);color:white;border:0;border-radius:7px;padding:14px 22px;min-height:49px;font-weight:800;margin-top:12px;cursor:pointer}
button[type=submit]:not(:disabled):hover{background:var(--smb-deep)}
button[type=submit]:disabled{background:#697d8b;color:#fff;cursor:not-allowed}
.fine{font-size:.89rem;color:var(--smb-muted);margin-top:23px}
.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.feedback-success,.feedback-error{padding:12px 16px;border-left:5px solid;border-radius:6px;margin:12px 0 22px}
.feedback-success{background:#e6f5e9;border-color:#22823d;color:#155b2b}
.feedback-error{background:#fff0e8;border-color:#ae3024;color:#79251d}
#form-feedback:focus{outline:3px solid #f7ae32;outline-offset:3px}
.field-error{color:#a31d1d;font-size:.9rem;font-weight:700}
input[aria-invalid=true],select[aria-invalid=true]{border:3px solid #a31d1d}
.site-footer{background:var(--smb-deep);color:#e4f1fa;padding:33px 0;border-top:5px solid var(--smb-green)}
.footer-content{display:flex;align-items:center;justify-content:space-between;gap:30px}
.footer-content strong{font-size:1.12rem;color:#fff}
.footer-content p{margin:6px 0 0;font-size:.89rem;line-height:1.6}
.footer-content nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.footer-content a{color:#e4f1fa;font-weight:700}
.footer-content a:hover{color:#fff}
/* Rules and privacy: readability, semantic tables and safe mobile scrolling. */
.legal-title-band{background:linear-gradient(120deg,#0057a8,var(--smb-deep));padding:30px 0;color:white}
.legal-title-band .eyebrow{margin-bottom:4px}
.legal-title-band p:last-child{font-size:clamp(1.3rem,2.4vw,1.9rem);line-height:1.3;font-weight:800;margin:0}
.legal-document{width:min(92%,1000px);min-width:0;max-width:100%;background:white;border-radius:12px;box-shadow:0 9px 30px #0c3b6614;border:1px solid var(--smb-line);padding:clamp(20px,4.5vw,46px);margin-top:36px;margin-bottom:64px}
.legal-document>p:first-child a,.legal-back-bottom a{display:inline-block;font-weight:700;color:var(--smb-deep);padding:6px 0}
.legal-document h1{font-size:clamp(1.75rem,3.5vw,2.55rem);line-height:1.24;color:var(--smb-deep);margin:23px 0}
.legal-document h2{font-size:clamp(1.25rem,2.2vw,1.55rem);color:var(--smb-deep);margin:33px 0 11px;padding-bottom:8px;border-bottom:1px solid #dbe9ee}
.legal-document p,.legal-document li{line-height:1.77;color:#354a5a;overflow-wrap:anywhere}
.legal-document ul{padding-left:23px}
.legal-document li{margin:5px 0}
.legal-document table{width:100%;max-width:100%;display:block;overflow-x:auto;border-collapse:collapse;margin:25px 0;contain:inline-size}
.legal-document th,.legal-document td{border:1px solid #b8cbd7;text-align:left;vertical-align:top;padding:10px 12px;min-width:0;overflow-wrap:anywhere}
.legal-document th{background:#ebf4f8;color:var(--smb-deep)}
.legal-document caption{text-align:left;color:var(--smb-deep);font-weight:700;margin-bottom:8px}
.legal-back-bottom{margin-top:30px}
@media (max-width:1000px){
 .header-row{flex-wrap:wrap;padding:12px 0;min-height:auto;gap:10px 16px}
 .site-nav{order:3;flex-basis:100%;justify-content:center;border-top:1px solid #e7edf3;padding-top:7px}
 .hero-grid{grid-template-columns:1fr 350px;gap:25px}
 .site-brand img{width:165px}
}
@media (max-width:760px){
 html{scroll-padding-top:145px}
 .wrap{width:min(92%,620px)}
 .hero{padding:44px 0 63px}
 .hero-grid{grid-template-columns:minmax(0,1fr)}
 .prize-card{max-width:100%}
 .contest-facts{grid-template-columns:1fr;gap:16px;margin-top:-25px;margin-bottom:30px}
 .fact-card{padding:22px}
 .entry-section{padding-bottom:45px}
 .panel{padding:23px}
 .site-header{position:relative}
 .header-row{justify-content:center}
 .header-actions{justify-content:center}
 .site-nav{gap:1px 6px}
 .site-nav a{padding:7px}
 .footer-content{flex-direction:column;align-items:flex-start}
 .legal-document{margin-top:24px;margin-bottom:38px}
}
@media(max-width:420px){
 .site-brand img{width:153px}
 .header-call{font-size:.85rem;padding:10px}
 .language-switch{font-size:.85rem;padding:9px}
 .site-nav a{font-size:.88rem}
 .hero h1{font-size:2.1rem}
 .prize-number{font-size:2.6rem}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
}
