:root{
  --bg0:#fffdf8;
  --bg1:#f1f9fc;
  --surface:#ffffff;
  --surface2:#f7fbfd;
  --card:rgba(255,255,255,.92);
  --text:#0b2433;
  --muted:#4a6b7a;
  --line:rgba(11,36,51,.11);
  --brand:#0096d6;
  --brand2:#38bde9;
  --brand-soft:rgba(0,150,214,.08);
  --shadow:0 12px 32px rgba(30,73,92,.10);
  --shadow-hover:0 16px 38px rgba(30,73,92,.14);
  --radius:20px;
  --wrap:1180px;
  --danger:#a93333;
  --success:#18794e;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  line-height:1.6;
  background:
    radial-gradient(1000px 500px at 15% 10%,rgba(0,150,214,.08),transparent 60%),
    radial-gradient(900px 480px at 90% 18%,rgba(95,211,255,.09),transparent 62%),
    linear-gradient(180deg,var(--bg0) 0%,#ffffff 45%,var(--bg1) 100%);
  min-height:100vh;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(calc(100% - 36px),var(--wrap));margin-inline:auto}

.skipLink{position:fixed;left:12px;top:-80px;z-index:100;background:#fff;color:var(--text);padding:10px 14px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.skipLink:focus{top:12px}

/* Header */
.siteHeader{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
  box-shadow:0 4px 18px rgba(30,73,92,.05);
}
.headerInner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brandLogo{width:58px;height:58px;object-fit:contain}
.brandText{display:flex;flex-direction:column;line-height:1.1}
.brandText strong{letter-spacing:.13em;font-size:1.08rem;color:var(--text)}
.brandText small{margin-top:5px;color:var(--muted);font-size:.78rem}
.primaryNav{display:flex;align-items:center;gap:6px}
.primaryNav>a{padding:10px 12px;border-radius:999px;text-decoration:none;color:var(--muted);font-weight:650;font-size:.94rem;border:1px solid transparent;transition:background .15s ease,color .15s ease,transform .15s ease}
.primaryNav>a:hover{color:var(--text);background:rgba(0,150,214,.055)}
.primaryNav>a.active{color:var(--brand);background:var(--brand-soft)}
.socialIcon{padding:5px!important;border-radius:10px!important}
.socialIcon img{width:27px;height:27px;object-fit:contain;transition:transform .15s ease,filter .15s ease}
.socialIcon:hover img{transform:scale(1.06);filter:drop-shadow(0 2px 6px rgba(0,0,0,.18))}
.navToggle{display:none;background:#fff;color:var(--text);border:1px solid var(--line);padding:9px 12px;border-radius:10px;font-weight:700;box-shadow:0 4px 12px rgba(30,73,92,.06)}

/* Typography & common elements */
h1,h2,h3{line-height:1.12;color:var(--text)}
p{margin-top:0}
.eyebrow{display:inline-block;color:var(--brand);font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.76rem;margin-bottom:12px}
.hero h1,.pageHero h1{font-size:clamp(2.6rem,7vw,5.4rem);line-height:.98;letter-spacing:-.05em;margin:0 0 24px;color:var(--text)}
.hero h1 span{color:var(--brand)}
.lead{font-size:1.18rem;color:var(--muted);max-width:680px}
.leadSmall{font-size:1.05rem;color:#315766!important}
.meta,.small{font-size:.9rem;color:var(--muted)}
.textLink{color:var(--brand);font-weight:800;text-decoration:none}
.textLink:hover{text-decoration:underline}

/* Buttons */
.ctaRow{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 19px;border-radius:13px;text-decoration:none;font-weight:800;border:1px solid var(--line);cursor:pointer;font:inherit;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:hover{transform:translateY(-1px)}
.btnPrimary{background:linear-gradient(180deg,#20b7ed,#0096d6);color:#fff;border-color:#008bc6;box-shadow:0 9px 22px rgba(0,150,214,.20)}
.btnPrimary:hover{box-shadow:0 12px 27px rgba(0,150,214,.27)}
.btnGhost{background:rgba(255,255,255,.78);color:var(--text);border-color:rgba(11,36,51,.14)}
.btnGhost:hover{background:#fff;border-color:rgba(0,150,214,.28)}

/* Cards and sections */
.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
.card:hover{box-shadow:var(--shadow-hover)}
.hero{padding:66px 0 52px}
.heroGrid{display:grid;grid-template-columns:1.1fr .9fr;gap:38px;align-items:center}
.heroVisual{padding:24px}
.heroLogo{max-width:230px;margin:4px auto 20px}
.serviceNote{color:#315766;font-weight:700;margin-top:18px}
.benefitGrid{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}
.benefitGrid span,.badge{border:1px solid rgba(0,150,214,.18);background:rgba(0,150,214,.07);border-radius:999px;padding:7px 11px;color:#176481;font-size:.82rem;font-weight:800}
.comparisonCard{background:linear-gradient(180deg,rgba(246,252,255,.96),rgba(255,255,255,.98));border:1px solid var(--line);border-radius:17px;padding:20px}
.comparisonCard h2{margin-top:0}
.comparisonCard p{color:var(--muted)}
.imageLink img{border-radius:13px;border:1px solid var(--line);margin-top:14px;background:#fff}
.section{padding:68px 0}
.sectionTint{background:rgba(232,247,253,.42);border-block:1px solid rgba(0,150,214,.08)}
.sectionHead{margin-bottom:26px;max-width:760px}
.sectionHead h2{font-size:clamp(2rem,4vw,3.3rem);line-height:1.05;letter-spacing:-.04em;margin:0}
.sectionHead p{color:var(--muted)}
.splitHead{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:20px}
.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.span2{grid-column:span 2}
.feature,.panel{padding:26px}
.feature h3,.panel h2,.productBody h2,.promoBody h2{margin-top:0}
.feature p,.panel p,.productBody p,.promoBody p{color:var(--muted)}
.promoMini{padding:24px}
.promoMini h3{font-size:1.45rem;margin:13px 0 6px}
.ctaBand{border:1px solid rgba(0,150,214,.15);background:linear-gradient(125deg,rgba(0,150,214,.08),rgba(255,255,255,.86));border-radius:var(--radius);padding:32px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 10px 28px rgba(30,73,92,.06)}
.ctaBand h2{margin:0;font-size:clamp(1.8rem,4vw,3rem)}

/* Interior pages */
.pageHero{padding:62px 0 26px}
.pageHero h1{font-size:clamp(2.5rem,6vw,4.7rem);max-width:900px}
.pageHero p{font-size:1.1rem;color:var(--muted);max-width:760px}
.pdfFrame{aspect-ratio:16/9;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 8px 24px rgba(30,73,92,.07)}
.pdfFrame iframe{width:100%;height:100%;border:0}
.productCard,.promoCard{overflow:hidden}
.productImage{aspect-ratio:4/3;background:#f3f8fa;overflow:hidden}
.productImage img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.productCard:hover .productImage img{transform:scale(1.035)}
.productBody{padding:24px}
.promoGrid+.eventHead{margin-top:62px}
.promoImage{aspect-ratio:16/9;background:#f3f8fa}
.promoImage img{width:100%;height:100%;object-fit:cover}
.promoBody{padding:25px}
.promoBody .badge{display:inline-block;margin-bottom:13px}
.contentText{color:var(--muted)}
.emptyState{text-align:center;padding:48px;max-width:760px;margin:auto}
.emptyState h1,.emptyState h2{margin-top:0}
.emptyState p{color:var(--muted)}
.centered{justify-content:center}

/* Contact form */
.contactLayout{display:grid;grid-template-columns:.75fr 1.25fr;gap:18px;align-items:start}
.contactTip{margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:22px 0}
.formGrid label{display:flex;flex-direction:column;gap:7px;font-weight:700}
.formGrid .full{grid-column:1/-1}
.formGrid input,.formGrid select,.formGrid textarea,.adminForm input,.adminForm select,.adminForm textarea{
  width:100%;padding:12px 13px;border-radius:12px;border:1px solid rgba(11,36,51,.16);background:#fff;color:var(--text);font:inherit;outline:none;
}
.formGrid input::placeholder,.formGrid textarea::placeholder,.adminForm input::placeholder,.adminForm textarea::placeholder{color:#78909b}
.formGrid input:focus,.formGrid select:focus,.formGrid textarea:focus,.adminForm input:focus,.adminForm select:focus,.adminForm textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,150,214,.10)}
.honeypot{position:absolute!important;left:-9999px!important}
.narrow{max-width:820px}

/* Footer */
.siteFooter{border-top:1px solid var(--line);background:rgba(247,251,253,.88)}
.footerInner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}
.siteFooter a{color:#176481;font-weight:650;text-decoration:none}
.siteFooter a:hover{text-decoration:underline}
.waFloat{position:fixed;right:22px;bottom:22px;width:56px;height:56px;border-radius:50%;overflow:hidden;z-index:40;box-shadow:0 13px 30px rgba(30,73,92,.24)}
.waFloat img{width:100%;height:100%;object-fit:contain}

/* Admin */
.adminBody{
  min-height:100vh;
  background:
    radial-gradient(900px 460px at 10% 10%,rgba(0,150,214,.08),transparent 60%),
    linear-gradient(180deg,#fffdf8,#eef8fb);
  color:var(--text);
}
.adminShell{width:min(calc(100% - 32px),1120px);margin:auto;padding:34px 0 60px}
.adminTop{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.adminTop h1{margin:0}
.adminNav{display:flex;gap:8px;flex-wrap:wrap}
.adminCard{padding:24px;margin-bottom:18px;background:rgba(255,255,255,.96)}
.adminGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.adminGrid .full{grid-column:1/-1}
.adminForm label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:var(--text)}
.adminForm input[type=checkbox]{width:auto}
.checkRow{display:flex!important;flex-direction:row!important;align-items:center;gap:9px!important}
.adminActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.alert{padding:12px 15px;border-radius:12px;margin-bottom:18px;border:1px solid var(--line)}
.alert.success{background:#edf9f2;border-color:rgba(24,121,78,.22);color:#125e3d}
.alert.error{background:#fff0f0;border-color:rgba(169,51,51,.20);color:#8f2929}
.adminTable{width:100%;border-collapse:collapse}
.adminTable th,.adminTable td{text-align:left;padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.adminTable th{color:#486b79;font-size:.84rem;text-transform:uppercase;letter-spacing:.06em;background:#f7fbfd}
.adminTable tr:hover td{background:rgba(0,150,214,.025)}
.statusOn{color:var(--success);font-weight:700}
.statusOff{color:var(--danger);font-weight:700}
.inlineForm{display:inline}
.loginWrap{width:min(calc(100% - 32px),480px);margin:8vh auto}
.loginBrand{text-align:center;margin-bottom:20px}
.loginBrand img{width:100px;margin:0 auto 14px}

@media(max-width:900px){
  .heroGrid,.contactLayout{grid-template-columns:1fr}
  .grid3{grid-template-columns:1fr 1fr}
  .primaryNav{position:absolute;left:18px;right:18px;top:74px;display:none;flex-direction:column;align-items:stretch;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}
  .primaryNav.open{display:flex}
  .navToggle{display:block}
  .socialIcon{width:max-content}
  .hero{padding-top:46px}
  .span2{grid-column:auto}
  .adminTable{display:block;overflow:auto}
}

@media(max-width:620px){
  .grid2,.grid3,.formGrid,.adminGrid{grid-template-columns:1fr}
  .formGrid .full,.adminGrid .full{grid-column:auto}
  .hero h1,.pageHero h1{font-size:clamp(2.35rem,13vw,3.65rem)}
  .hero{padding-top:38px}
  .section{padding:50px 0}
  .ctaBand,.splitHead{align-items:flex-start;flex-direction:column}
  .footerInner{padding:22px 0}
  .brandText small{display:none}
  .brandLogo{width:48px;height:48px}
}

/* Ice special flyer */
.iceSpecialPage{padding:46px 0 70px}
.iceSpecialWrap{max-width:860px}
.iceSpecialIntro{text-align:center;margin:0 auto 24px;max-width:720px}
.iceSpecialIntro .eyebrow{margin-bottom:8px}
.iceSpecialIntro h1{margin:0 0 10px;font-size:clamp(2rem,5vw,3.4rem);letter-spacing:-.035em}
.iceSpecialIntro p{margin:0;color:var(--muted)}
.specialPosterShell{padding:14px;background:#fff;max-width:760px;margin:0 auto}
.specialPoster{position:relative;aspect-ratio:2/3;width:100%;overflow:hidden;border-radius:18px;background:#0b477d;box-shadow:0 18px 44px rgba(30,73,92,.18)}
.specialPosterBg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.specialPriceOverlay{position:absolute;left:65.1%;top:36.9%;width:24%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:2}
.specialPriceOverlay .priceMain{display:block;font-size:clamp(1.45rem,4.45vw,3.05rem);font-weight:900;line-height:1;color:#000000;white-space:nowrap;text-shadow:0 1px 6px rgba(255,255,255,.35)}
.specialPriceOverlay .priceUnit{display:block;margin-top:10px;font-size:clamp(.68rem,1.55vw,.92rem);font-weight:900;color:#000000;letter-spacing:.02em;text-shadow:0 2px 8px rgba(5,40,86,.55)}
.specialActions{max-width:760px;margin:18px auto 0;padding:18px 20px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}
.specialActionButtons{display:flex;gap:9px;flex-wrap:wrap;justify-content:center}
.specialActionButtons .btn{min-height:44px;padding-inline:15px}
@media(max-width:620px){
  .iceSpecialPage{padding-top:28px}
  .specialPosterShell{padding:8px}
  .specialPriceOverlay{left:65.2%;top:37.0%;width:24.2%}
  .specialActionButtons{width:100%}
  .specialActionButtons .btn{flex:1 1 44%}
}

/* Homepage current ice-special banner */
.homeSpecialSection{padding-top:20px;padding-bottom:26px}
.homeSpecialBanner{display:grid;grid-template-columns:minmax(280px,.85fr) 1.15fr;overflow:hidden;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease}
.homeSpecialBanner:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}
.homeSpecialArt{position:relative;min-height:300px;background:#0b477d;overflow:hidden}
.homeSpecialArt::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(255,255,255,.10));pointer-events:none}
.homeSpecialArtBg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.homeSpecialBadge{position:absolute;left:20px;top:20px;z-index:2;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#0c4d8f;font-weight:900;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.homeSpecialPrice{position:absolute;left:65.1%;top:30.8%;z-index:2;width:24%;height:18%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:transparent;border:0;box-shadow:none}
.homeSpecialPrice strong{display:block;font-size:clamp(1.35rem,2.6vw,2rem);line-height:1;color:#000000;white-space:nowrap;text-shadow:0 1px 6px rgba(255,255,255,.35)}
.homeSpecialPrice span{display:block;margin-top:5px;color:#000000;font-weight:900;font-size:.68rem;letter-spacing:.01em;text-shadow:0 1px 6px rgba(255,255,255,.35)}
.homeSpecialCopy{padding:34px;display:flex;flex-direction:column;justify-content:center}
.homeSpecialCopy h2{font-size:clamp(2rem,4vw,3.4rem);margin:0 0 12px;letter-spacing:-.035em}
.homeSpecialCopy p{color:var(--muted);font-size:1.05rem}
.homeSpecialAvailability{font-weight:800;color:#315766!important;text-transform:uppercase;font-size:.9rem!important}
.homeSpecialLink{margin-top:8px;color:var(--brand);font-weight:900}

@media(max-width:780px){
  .homeSpecialBanner{grid-template-columns:1fr}
  .homeSpecialArt{min-height:360px}
  .homeSpecialCopy{padding:26px}
}

@media(max-width:520px){
  .homeSpecialArt{min-height:300px}
  .homeSpecialPrice{left:65%;top:30.9%;width:24%;height:18%}
  .homeSpecialPrice strong{font-size:1.8rem}
  .homeSpecialCopy{padding:22px}
}
