
:root{
 --navy:#0b2344;--navy2:#06182f;--blue:#1268c7;--text:#17263b;--muted:#657388;
 --line:#e1e7ee;--soft:#f6f8fb;--softblue:#eef5fc;--sand:#f8f5ef;--green:#edf7f2;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit}
.container{width:min(1260px,calc(100% - 56px));margin:0 auto}
header{border-bottom:1px solid #e7ecf1;background:#fff;position:relative;z-index:20}
.header-inner{height:88px;display:flex;align-items:center;gap:38px}
.logo img{display:block;width:335px;max-width:100%}
.desktop-nav{display:flex;gap:28px;margin-left:auto}
.desktop-nav a{text-decoration:none;font-size:14px;font-weight:700;color:#2b3b50}
.desktop-nav a:hover{color:var(--blue)}
.menu-btn,.mobile-nav{display:none}

.hero{background:linear-gradient(90deg,#fff 0%,#fff 47%,#f7fbff 100%)}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;min-height:455px}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding:60px 62px 60px 0}
.kicker{text-transform:uppercase;letter-spacing:.105em;color:var(--blue);font-size:12px;font-weight:850;margin-bottom:16px}
.hero h1,.page-hero h1{font-size:51px;line-height:1.05;letter-spacing:-1.8px;margin:0 0 18px}
.hero p,.page-hero p{font-size:18px;line-height:1.55;color:#59697e;margin:0;max-width:680px}
.hero-actions{display:flex;gap:17px;align-items:center;margin-top:27px;flex-wrap:wrap}
.btn{display:inline-flex;justify-content:center;align-items:center;min-height:47px;padding:0 20px;border-radius:8px;text-decoration:none;font-size:14px;font-weight:750}
.btn.primary{background:var(--navy);color:#fff}
.text-link{text-decoration:none;font-weight:750;color:var(--navy);font-size:14px}
.hero-photo{min-height:455px;background-image:linear-gradient(90deg,rgba(255,255,255,.78),rgba(255,255,255,0) 31%),url('/assets/hero.jpg');background-size:cover;background-position:center}

.trust{border-top:1px solid #edf1f5;border-bottom:1px solid #edf1f5;background:#fbfcfe}
.trust .container{min-height:60px;display:flex;align-items:center;gap:13px;flex-wrap:wrap}
.trust strong{font-size:14px;color:var(--navy)}
.trust span{font-size:13px;color:var(--muted)}

.home-paths{padding:66px 0 72px}
.section-head{margin-bottom:27px;max-width:760px}
.section-head h2{font-size:34px;letter-spacing:-.75px;margin:0 0 8px}
.section-head p{font-size:16px;line-height:1.55;color:var(--muted);margin:0}
.path-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:15px}
.path-card{position:relative;grid-column:span 4;min-height:190px;border:1px solid var(--line);border-radius:16px;padding:24px;text-decoration:none;background:#fff;overflow:hidden;transition:.16s}
.path-card.wide{grid-column:span 6;min-height:215px}
.path-card:hover{transform:translateY(-2px);border-color:#cbd6e2;box-shadow:0 12px 30px rgba(11,35,68,.06)}
.path-card:nth-child(1){background:linear-gradient(145deg,#eef5fc,#fff 75%)}
.path-card:nth-child(2){background:linear-gradient(145deg,#f0f6fa,#fff 75%)}
.path-card:nth-child(3){background:linear-gradient(145deg,#f8f5ef,#fff 75%)}
.path-card:nth-child(4){background:linear-gradient(145deg,#f7f9fb,#fff 75%)}
.path-card:nth-child(5){background:linear-gradient(145deg,#edf7f2,#fff 75%)}
.path-card h3{font-size:25px;letter-spacing:-.4px;margin:0 0 9px}
.path-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.5;max-width:430px}
.arrow{position:absolute;right:20px;bottom:18px;width:38px;height:38px;border:1px solid #dce4ec;border-radius:50%;display:grid;place-items:center;background:#fff;font-size:17px}
.secondary-access{text-align:center;margin-top:25px}
.secondary-access a{text-decoration:none;font-size:14px;font-weight:750;color:var(--navy)}

.snapshot{padding:58px 0;background:var(--soft);border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4}
.snapshot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.snapshot-card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:20px}
.snapshot-card small{display:block;color:var(--muted);font-size:12px;margin-bottom:8px}
.snapshot-card strong{font-size:23px;letter-spacing:-.4px;display:block;margin-bottom:5px}
.snapshot-card span{font-size:13px;color:var(--muted);line-height:1.4}

.page-hero{padding:54px 0 43px;border-bottom:1px solid #edf0f4;background:#fff}
.page-hero .crumbs{font-size:12px;color:#7a8799;margin-bottom:15px}
.page-hero h1{font-size:44px;max-width:850px}
.page-hero p{font-size:17px;max-width:780px}
.page-main{padding:48px 0 74px}
.content-section{margin-bottom:54px}
.content-section h2{font-size:30px;letter-spacing:-.55px;margin:0 0 12px}
.content-section>p{font-size:16px;color:#58687d;line-height:1.62;max-width:820px;margin:0 0 22px}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.info-card{border:1px solid var(--line);border-radius:14px;padding:21px;background:#fff}
.info-card h3{font-size:19px;margin:0 0 7px}
.info-card p{font-size:14px;line-height:1.5;color:var(--muted);margin:0}
.info-card .big{font-size:25px;font-weight:800;letter-spacing:-.45px;color:var(--navy);display:block;margin:13px 0 6px}
.info-card .sub{font-size:12px;color:#7a8797}

.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.model-card{border:1px solid var(--line);border-radius:14px;padding:20px;background:#fff;min-width:0}
.model-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.model-type{font-size:11px;text-transform:uppercase;letter-spacing:.045em;font-weight:800;color:#61728a}
.brand-name{font-size:12px;font-weight:800;color:var(--navy)}
.model-card h3{font-size:20px;line-height:1.18;margin:0 0 21px;min-height:48px}
.model-price small{display:block;font-size:11px;color:var(--muted);margin-bottom:2px}
.model-price strong{font-size:23px;letter-spacing:-.4px}
.model-size{font-size:13px;color:#56677c;margin-top:7px;min-height:20px}
.mini-note{font-size:12px;color:#35664f;background:#eff8f3;padding:7px 9px;border-radius:7px;margin-top:12px}
.source-link{display:inline-block;margin-top:18px;text-decoration:none;color:var(--blue);font-size:13px;font-weight:750}
.notice{background:#f7f9fc;border:1px solid #e0e6ed;border-radius:13px;padding:17px 19px;font-size:13px;line-height:1.55;color:#5c6c80;margin:20px 0}
.notice strong{color:var(--navy)}

.type-stack{display:grid;gap:12px}
.type-row{display:grid;grid-template-columns:200px 1fr auto;gap:20px;align-items:center;border:1px solid var(--line);border-radius:13px;padding:18px 20px;text-decoration:none}
.type-row strong{font-size:17px}
.type-row p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.type-row .range{font-size:14px;font-weight:800;color:var(--navy);white-space:nowrap}

.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.brand-card{border:1px solid var(--line);border-radius:12px;padding:18px;background:#fff}
.brand-card strong{display:block;font-size:16px;margin-bottom:4px}
.brand-card span{font-size:12px;color:var(--muted)}
.brand-details{margin-top:14px;border-top:1px solid #edf0f4;padding-top:12px}
.brand-details div{font-size:13px;color:#53647a;line-height:1.5}

.faqs{max-width:850px}
.faq{border-top:1px solid var(--line)}
.faq:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:18px 35px 18px 0;font-weight:750;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";position:absolute;right:5px;top:15px;font-size:23px;color:#66768a}
.faq[open] summary:after{content:"–"}
.faq div{padding:0 30px 18px 0}
.faq p{margin:0;color:#5d6d81;line-height:1.58;font-size:14px}

.page-links{display:flex;flex-wrap:wrap;gap:10px}
.page-links a{border:1px solid #dbe3ec;border-radius:9px;padding:10px 13px;text-decoration:none;font-size:13px;font-weight:700;background:#fff}

.collection-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}
.collection-controls select,.collection-controls input{min-height:43px;border:1px solid #d7e0e9;border-radius:8px;padding:0 12px;background:#fff;color:var(--text);font:inherit;font-size:14px}
.collection-controls input{min-width:250px}
.collection-summary{font-size:13px;color:var(--muted);margin-bottom:14px}
.pagination{display:flex;justify-content:center;gap:8px;margin-top:24px}
.pagination button{border:1px solid #d7e0e9;background:#fff;border-radius:8px;padding:9px 13px;cursor:pointer}
.pagination button.active{background:var(--navy);color:#fff;border-color:var(--navy)}

footer{background:var(--navy2);color:#d9e2ee;padding:36px 0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:40px}
footer strong{font-size:15px;color:#fff}
footer p{font-size:12px;line-height:1.55;max-width:650px;color:#aebdce;margin:8px 0 0}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.footer-links a{text-decoration:none;color:#fff;font-size:12px}

@media(max-width:980px){
 .path-card{grid-column:span 6}
 .snapshot-grid{grid-template-columns:1fr 1fr}
 .model-grid,.brand-grid,.info-grid{grid-template-columns:1fr 1fr}
 .type-row{grid-template-columns:170px 1fr}
 .type-row .range{grid-column:2}
}
@media(max-width:760px){
 .container{width:min(100% - 28px,1260px)}
 .header-inner{height:74px}
 .logo img{width:235px}
 .desktop-nav{display:none}
 .menu-btn{display:block;margin-left:auto;border:0;background:#fff;font-size:24px;color:var(--navy)}
 .mobile-nav{display:none;position:absolute;top:74px;left:0;right:0;background:#fff;border-top:1px solid #edf0f4;border-bottom:1px solid #dfe6ee;padding:13px 14px}
 .menu-open .mobile-nav{display:grid}
 .mobile-nav a{padding:12px 4px;text-decoration:none;font-weight:700;border-bottom:1px solid #edf0f4}
 .mobile-nav a:last-child{border-bottom:0}
 .hero-grid{grid-template-columns:1fr;min-height:auto}
 .hero-copy{padding:42px 0 29px}
 .hero h1,.page-hero h1{font-size:36px;letter-spacing:-1px}
 .hero p,.page-hero p{font-size:16px}
 .hero-photo{min-height:238px;background-image:url('/assets/hero.jpg')}
 .trust .container{padding:11px 0;align-items:flex-start;gap:3px;flex-direction:column}
 .home-paths{padding:43px 0 50px}
 .section-head h2{font-size:28px}
 .path-grid{grid-template-columns:1fr}
 .path-card,.path-card.wide{grid-column:auto;min-height:148px}
 .path-card h3{font-size:22px}
 .snapshot{padding:42px 0}
 .page-hero{padding:38px 0 31px}
 .page-main{padding:37px 0 58px}
 .content-section{margin-bottom:43px}
 .content-section h2{font-size:26px}
 .model-grid,.brand-grid,.info-grid{grid-template-columns:1fr}
 .model-card h3{min-height:0}
 .type-row{grid-template-columns:1fr;gap:8px}
 .type-row .range{grid-column:auto}
 .footer-grid{grid-template-columns:1fr}
 .footer-links{grid-template-columns:1fr 1fr}
 .collection-controls{display:grid}
 .collection-controls input{min-width:0;width:100%}
}


/* Simpler price overview */
.price-ladder{
  display:grid;
  gap:10px;
  max-width:900px;
  margin-top:22px;
}
.price-step{
  border:1px solid var(--line);
  border-radius:13px;
  padding:18px 20px;
  background:#fff;
}
.price-step.featured{
  background:#f4f8fd;
  border-color:#cfddec;
}
.price-step-top{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:18px;
}
.price-step-name{
  font-size:16px;
  font-weight:750;
}
.price-step-top strong{
  font-size:20px;
  color:var(--navy);
  white-space:nowrap;
}
.price-step p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.5;
  max-width:700px;
}
.simple-examples{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.simple-example{
  border:1px solid var(--line);
  border-radius:14px;
  padding:20px;
  background:#fff;
}
.simple-example>span{
  display:block;
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.05em;
  font-weight:800;
  margin-bottom:13px;
}
.simple-example h3{
  font-size:19px;
  line-height:1.2;
  margin:0 0 15px;
}
.simple-example>strong{
  display:block;
  font-size:23px;
  color:var(--navy);
  margin-bottom:8px;
}
.simple-example p{
  margin:0;
  min-height:42px;
  color:var(--muted);
  font-size:13px;
  line-height:1.45;
}
.simple-example a{
  display:inline-block;
  margin-top:17px;
  text-decoration:none;
  color:var(--blue);
  font-size:13px;
  font-weight:750;
}
@media(max-width:760px){
  .price-step-top{
    display:block;
  }
  .price-step-top strong{
    display:block;
    margin-top:5px;
  }
  .simple-examples{
    grid-template-columns:1fr;
  }
  .simple-example p{
    min-height:0;
  }
}


/* =========================================================
   V4 visual polish – same information architecture, richer cards
   ========================================================= */
:root{
  --ice:#eaf5fb;
  --ice-strong:#cce7f4;
  --lake:#1668b2;
  --lake-soft:#eff7fd;
  --teal:#16847d;
  --teal-soft:#edf8f6;
  --pine:#32725d;
  --pine-soft:#eef7f2;
  --sand2:#fbf5e9;
  --sand-line:#eadcbf;
  --violet:#6d68a8;
  --violet-soft:#f4f2fb;
  --shadow:0 10px 28px rgba(11,35,68,.065);
  --shadow-hover:0 15px 36px rgba(11,35,68,.11);
}

/* Header CTA */
.nav-cta{
  border:1px solid #cbd9e7;
  border-radius:999px;
  padding:9px 13px !important;
  color:var(--navy) !important;
  background:#f8fbfe;
  white-space:nowrap;
}
.nav-cta:hover{background:var(--softblue);border-color:#9fc0dd}

/* Universal card feel */
.path-card,.snapshot-card,.info-card,.model-card,.brand-card,.simple-example,.price-step,.type-row{
  box-shadow:0 4px 14px rgba(11,35,68,.035);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.path-card:hover,.snapshot-card:hover,.info-card:hover,.model-card:hover,.brand-card:hover,.simple-example:hover,.price-step:hover,.type-row:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-hover);
}

/* Model/product cards */
.model-card{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  border:1px solid #dae4ed;
  padding:24px 22px 21px;
  background:
    radial-gradient(circle at 100% 0%,rgba(18,104,199,.07),transparent 33%),
    linear-gradient(180deg,#fff 0%,#fbfdff 100%);
  display:flex;
  flex-direction:column;
  min-height:330px;
}
.model-card::before{
  content:"";
  position:absolute;
  left:0;top:0;right:0;height:5px;
  background:linear-gradient(90deg,#2591dd,#7bc8e8);
}
.model-top{align-items:flex-start}
.model-type{
  display:inline-flex;
  align-items:center;
  min-height:25px;
  padding:5px 9px;
  border-radius:999px;
  color:#27658c;
  background:#edf7fc;
  letter-spacing:.035em;
  font-size:10px;
}
.brand-name{
  padding:5px 0;
  font-size:12px;
  letter-spacing:.01em;
}
.model-card h3{
  font-size:22px;
  letter-spacing:-.35px;
  color:var(--navy);
  margin:3px 0 24px;
}
.model-price{
  margin-top:auto;
  padding-top:2px;
}
.model-price small{
  color:#728197;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-size:9px;
  font-weight:800;
}
.model-price strong{
  display:block;
  margin-top:3px;
  font-size:25px;
  color:var(--navy);
}
.model-size{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:10px;
  min-height:0;
  padding:6px 9px;
  border-radius:8px;
  background:#f3f6f9;
  color:#596a7f;
}
.mini-note{
  position:relative;
  padding:9px 11px 9px 29px;
  border:1px solid #d9eee4;
  background:linear-gradient(90deg,#eff9f4,#f7fcfa);
  color:#2f6d55;
  border-radius:10px;
  line-height:1.35;
}
.mini-note::before{
  content:"✓";
  position:absolute;
  left:10px;top:8px;
  font-weight:900;color:#298263;
}
.source-link{
  display:inline-flex;
  align-items:center;
  width:max-content;
  max-width:100%;
  margin-top:18px;
  padding:9px 12px;
  border-radius:9px;
  background:#edf6ff;
  color:#075cae;
  line-height:1.25;
}
.source-link:hover{background:#dfedfb}

/* Winter page: visually distinct but calm */
.page-talvehtivat-laiturit .model-card{
  background:
    radial-gradient(circle at 100% 0%,rgba(31,134,126,.11),transparent 35%),
    linear-gradient(180deg,#fff 0%,#f8fcfb 100%);
  border-color:#d7e9e4;
}
.page-talvehtivat-laiturit .model-card::before{
  background:linear-gradient(90deg,#237e78,#5eb9b1);
}
.page-talvehtivat-laiturit .model-type{
  background:#edf8f6;color:#2b716b;
}

/* Type classes set by site.js */
.model-card.type-betoni::before{background:linear-gradient(90deg,#546b84,#87a4bd)}
.model-card.type-betoni .model-type{background:#eff3f7;color:#506579}
.model-card.type-putki::before{background:linear-gradient(90deg,#1783cc,#62b8e5)}
.model-card.type-putki .model-type{background:#eaf6fd;color:#176b9e}
.model-card.type-muovi::before{background:linear-gradient(90deg,#19857c,#55bbb2)}
.model-card.type-muovi .model-type{background:#edf9f7;color:#29766f}
.model-card.type-pylvas::before{background:linear-gradient(90deg,#8b6d37,#c7a663)}
.model-card.type-pylvas .model-type{background:#fbf5e8;color:#7c6338}

/* Price examples */
.simple-examples{gap:16px}
.simple-example{
  position:relative;
  overflow:hidden;
  border-radius:18px;
  padding:23px;
  min-height:285px;
  display:flex;
  flex-direction:column;
  border-color:#dbe5ee;
  background:linear-gradient(160deg,#fff,#f8fbfe);
}
.simple-example::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:linear-gradient(90deg,#4ba8e4,#8bd2ec);
}
.simple-example:nth-child(2){
  background:linear-gradient(160deg,#fff,#f5faf8);
}
.simple-example:nth-child(2)::before{
  background:linear-gradient(90deg,#2b8b71,#74c0a8);
}
.simple-example:nth-child(3){
  background:linear-gradient(160deg,#fff,#f7f5fb);
}
.simple-example:nth-child(3)::before{
  background:linear-gradient(90deg,#666a9c,#a6a3ca);
}
.simple-example>span{
  display:inline-flex;
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  background:#f1f5f8;
  color:#66778d;
  margin-bottom:17px;
}
.simple-example h3{font-size:21px;color:var(--navy)}
.simple-example>strong{font-size:26px}
.simple-example p{line-height:1.55}
.simple-example a{
  margin-top:auto;
  padding-top:20px;
}

/* Price ladder */
.price-ladder{gap:12px}
.price-step{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  padding:20px 22px 20px 25px;
  border-color:#dce5ed;
  background:linear-gradient(90deg,#fff,#fbfdff);
}
.price-step::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:5px;
  background:#a9c6dd;
}
.price-step:nth-child(1)::before{background:#6bb6dc}
.price-step:nth-child(2)::before{background:#3e9d8b}
.price-step:nth-child(3)::before{background:#7b83ac}
.price-step:nth-child(4)::before{background:#3c5067}
.price-step.featured{
  background:linear-gradient(90deg,#f0f8f6,#fbfdfc);
  border-color:#cfe5de;
}

/* Information cards */
.info-card{
  position:relative;
  overflow:hidden;
  border-radius:17px;
  padding:24px 22px;
  border-color:#dee6ed;
  background:
    radial-gradient(circle at 100% 0%,rgba(18,104,199,.055),transparent 35%),
    #fff;
}
.info-card::after{
  content:"";
  position:absolute;
  right:-24px;top:-24px;
  width:80px;height:80px;border-radius:50%;
  background:rgba(18,104,199,.045);
}
.info-card:nth-child(3n+2){
  background:radial-gradient(circle at 100% 0%,rgba(31,132,125,.07),transparent 35%),#fff;
}
.info-card:nth-child(3n+3){
  background:radial-gradient(circle at 100% 0%,rgba(177,137,69,.07),transparent 35%),#fff;
}
.info-card h3{font-size:20px;color:var(--navy)}
.info-card p{line-height:1.58}

/* Home overview and path cards */
.snapshot-card{
  position:relative;
  overflow:hidden;
  border-radius:17px;
  padding:22px;
  border-color:#dde6ee;
  background:linear-gradient(155deg,#fff,#f7fafc);
}
.snapshot-card:nth-child(2){background:linear-gradient(155deg,#fff,#f2faf7)}
.snapshot-card:nth-child(3){background:linear-gradient(155deg,#fff,#faf7ef)}
.snapshot-card:nth-child(4){background:linear-gradient(155deg,#fff,#f5f4fa)}
.snapshot-card strong{font-size:24px;color:var(--navy)}
.path-card{border-radius:19px}

/* Brand cards */
.brand-card{
  position:relative;
  overflow:hidden;
  border-radius:16px;
  padding:20px;
  border-color:#dfe6ed;
  background:linear-gradient(155deg,#fff,#f8fbfd);
}
.brand-card::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:4px;
  background:linear-gradient(90deg,#2c7fbd,#78bddf);
}
.brand-card:nth-child(3n+2)::before{background:linear-gradient(90deg,#398b78,#82c0ae)}
.brand-card:nth-child(3n+3)::before{background:linear-gradient(90deg,#7f738f,#b4a9c0)}
.brand-card>strong{font-size:18px;color:var(--navy)}
.brand-card>span{
  display:inline-block;
  margin-top:3px;
  padding:4px 8px;
  border-radius:999px;
  background:#f0f4f8;
}
.brand-details{border-top:0;padding-top:13px;margin-top:7px}

/* Type rows */
.type-row{
  border-radius:15px;
  border-color:#dde6ee;
  background:linear-gradient(90deg,#fff,#f9fbfd);
  padding:20px 22px;
}
.type-row strong{color:var(--navy)}
.type-row .range{
  background:#eef5fb;
  padding:7px 10px;
  border-radius:9px;
}

/* FAQ as calm cards, not a wall */
.faqs{display:grid;gap:9px}
.faq{
  border:1px solid #e0e7ee !important;
  border-radius:13px;
  background:#fff;
  overflow:hidden;
}
.faq summary{padding:17px 44px 17px 18px}
.faq div{padding:0 18px 17px}
.faq summary:after{right:17px}

/* Notices */
.notice{
  border-radius:14px;
  border-color:#dce7ee;
  background:linear-gradient(90deg,#f3f8fc,#fbfdff);
  padding:18px 20px;
}

/* Missing model CTA */
.missing-cta{
  width:min(1260px,calc(100% - 56px));
  margin:0 auto 62px;
  border:1px solid #d8e5ee;
  border-radius:18px;
  padding:21px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  background:
    radial-gradient(circle at 90% 20%,rgba(18,104,199,.10),transparent 30%),
    linear-gradient(120deg,#f7fbfe,#eef7fb);
}
.missing-cta span{display:block;color:#617188;font-size:12px;margin-bottom:4px}
.missing-cta strong{font-size:18px;color:var(--navy)}
.missing-cta a{
  text-decoration:none;
  white-space:nowrap;
  border-radius:10px;
  padding:11px 14px;
  background:var(--navy);
  color:#fff;
  font-size:13px;font-weight:750;
}

/* Submission form */
.form-layout{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:48px;
  align-items:start;
  max-width:1040px;
}
.form-intro{padding:12px 0}
.form-kicker{
  display:inline-flex;padding:6px 9px;border-radius:999px;
  background:#eef6fb;color:#246b99;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
}
.form-intro h2{font-size:31px;margin:15px 0 10px}
.form-intro p{color:var(--muted);line-height:1.6;max-width:430px}
.form-help{
  margin-top:24px;padding:17px 18px;border-radius:14px;
  background:#f2f8f6;border:1px solid #dcece6;
}
.form-help strong{display:block;color:#2e6e58;margin-bottom:5px}
.form-help span{font-size:13px;line-height:1.5;color:#577368}
.missing-form{
  display:grid;gap:15px;
  padding:25px;
  border:1px solid #dce5ed;
  border-radius:19px;
  background:linear-gradient(155deg,#fff,#f8fbfd);
  box-shadow:var(--shadow);
}
.missing-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#33465d}
.missing-form label>span{font-weight:400}
.missing-form input,.missing-form textarea{
  width:100%;
  border:1px solid #cedae5;
  border-radius:10px;
  padding:12px 13px;
  background:#fff;
  color:var(--text);
  font:inherit;
  font-size:15px;
}
.missing-form input:focus,.missing-form textarea:focus{
  outline:3px solid rgba(18,104,199,.10);
  border-color:#7eb1db;
}
.hidden-field{display:none}
.consent{
  display:grid !important;
  grid-template-columns:auto 1fr;
  gap:10px !important;
  align-items:start;
  font-weight:400 !important;
  line-height:1.45;
}
.consent input{width:18px;height:18px;margin:1px 0 0}
.submit-btn{
  min-height:48px;
  border:0;border-radius:10px;
  background:var(--navy);color:#fff;
  font-weight:800;font-size:14px;cursor:pointer;
}
.submit-btn:hover{background:#12345d}
.form-alt{font-size:12px;color:var(--muted);margin:0;text-align:center}
.form-alt a{color:var(--blue)}

/* Privacy */
.privacy-content{max-width:860px;margin-left:0}
.privacy-section{
  padding:23px 0;
  border-bottom:1px solid #e5eaf0;
}
.privacy-section:first-child{padding-top:0}
.privacy-section h2{font-size:22px;margin:0 0 9px;color:var(--navy)}
.privacy-section p{font-size:15px;line-height:1.65;color:#596a7e;margin:0}
.privacy-section a{color:var(--blue)}
.privacy-date{margin-top:12px !important;font-size:12px !important}

/* Thank you */
.thank-you{padding:80px 0;min-height:65vh;display:grid;place-items:center}
.thank-card{
  max-width:560px;margin:auto;text-align:center;
  padding:42px 30px;border:1px solid #dce6ed;border-radius:22px;
  background:linear-gradient(155deg,#fff,#f3f9fc);box-shadow:var(--shadow);
}
.thank-card>span{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 17px;border-radius:50%;background:#e9f7f1;color:#247a59;font-size:24px;font-weight:900}
.thank-card h1{font-size:32px;margin:0 0 10px}
.thank-card p{color:var(--muted);line-height:1.55;margin:0 0 24px}

/* Footer */
.footer-contact{margin-top:10px !important}
.footer-contact a{color:#fff}
.footer-links{align-content:start}

/* Mobile: no sideways card/table feeling */
@media(max-width:760px){
  body{overflow-x:hidden}
  .container{width:min(100% - 26px,1260px)}
  .mobile-nav{max-height:calc(100vh - 74px);overflow:auto}
  .mobile-nav a{min-height:46px;display:flex;align-items:center}
  .model-grid,.info-grid,.brand-grid,.simple-examples,.snapshot-grid{grid-template-columns:1fr !important}
  .model-card{min-height:0;padding:20px 18px;border-radius:16px}
  .model-card h3{font-size:21px;margin-bottom:20px}
  .model-price strong{font-size:24px}
  .source-link{width:100%;justify-content:center;text-align:center;padding:11px 12px}
  .simple-example{min-height:0;padding:20px}
  .simple-example a{margin-top:16px}
  .price-step{padding:17px 17px 17px 20px}
  .info-card{padding:20px 18px}
  .snapshot-grid{gap:10px}
  .type-row{padding:18px}
  .brand-card{padding:18px}
  .faq summary{font-size:14px;line-height:1.4}
  .missing-cta{
    width:min(100% - 26px,1260px);
    margin-bottom:46px;
    padding:18px;
    display:grid;
  }
  .missing-cta a{width:100%;text-align:center}
  .form-layout{grid-template-columns:1fr;gap:20px}
  .form-intro h2{font-size:27px}
  .missing-form{padding:18px;border-radius:16px}
  .page-main{padding-top:34px}
  .content-section{margin-bottom:40px}
}


/* =========================================================
   V5 comparison cards
   ========================================================= */
.compact-head{margin-bottom:20px}
.compact-head p{margin-top:4px}
.compare-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.compare-card{
  position:relative;
  overflow:hidden;
  min-height:365px;
  padding:22px 20px 20px;
  border:1px solid #dbe5ed;
  border-radius:18px;
  background:#fff;
  box-shadow:0 5px 16px rgba(11,35,68,.04);
  display:flex;
  flex-direction:column;
}
.compare-card::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:#69aee0;
}
.compare-card.compare-blue{
  background:linear-gradient(155deg,#fff,#f1f8fd);
}
.compare-card.compare-blue::before{
  background:linear-gradient(90deg,#1685cf,#76c3e7);
}
.compare-card.compare-slate{
  background:linear-gradient(155deg,#fff,#f4f6f9);
}
.compare-card.compare-slate::before{
  background:linear-gradient(90deg,#536b82,#96aabd);
}
.compare-card.compare-teal{
  background:linear-gradient(155deg,#fff,#f1faf8);
}
.compare-card.compare-teal::before{
  background:linear-gradient(90deg,#19857c,#72c4bb);
}
.compare-card.compare-sand{
  background:linear-gradient(155deg,#fff,#fbf7ee);
}
.compare-card.compare-sand::before{
  background:linear-gradient(90deg,#9b783f,#d7b673);
}
.compare-card-top{
  display:flex;
  justify-content:space-between;
  gap:9px;
  align-items:center;
  margin-bottom:20px;
}
.compare-badge{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(90,117,145,.13);
  color:#586a7f;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.compare-price{
  font-size:12px;
  font-weight:800;
  color:var(--navy);
  text-align:right;
}
.compare-card h3{
  font-size:22px;
  line-height:1.16;
  letter-spacing:-.35px;
  color:var(--navy);
  margin:0 0 9px;
}
.compare-card>p{
  margin:0 0 16px;
  color:#637388;
  font-size:13px;
  line-height:1.5;
}
.compare-card ul{
  list-style:none;
  padding:0;
  margin:0 0 18px;
  display:grid;
  gap:9px;
}
.compare-card li{
  position:relative;
  padding-left:21px;
  color:#465a71;
  font-size:13px;
  line-height:1.4;
}
.compare-card li::before{
  content:"✓";
  position:absolute;left:0;top:0;
  color:#2f7a61;
  font-weight:900;
}
.compare-card a{
  margin-top:auto;
  display:inline-flex;
  width:max-content;
  max-width:100%;
  padding:10px 12px;
  border-radius:10px;
  text-decoration:none;
  color:#075ba9;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(18,104,199,.12);
  font-size:12px;
  font-weight:800;
}

/* Winter comparison */
.winter-compare-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.winter-compare-card{
  position:relative;
  overflow:hidden;
  min-height:400px;
  border:1px solid #dbe7e5;
  border-radius:19px;
  padding:22px;
  background:linear-gradient(160deg,#fff,#f5faf9);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  box-shadow:0 5px 16px rgba(11,35,68,.04);
}
.winter-compare-card::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:linear-gradient(90deg,#1b7f79,#6ec3ba);
}
.winter-compare-card.winter-blue{
  background:linear-gradient(160deg,#fff,#eff8fd);
  border-color:#d8e8f2;
}
.winter-compare-card.winter-blue::before{
  background:linear-gradient(90deg,#177fc2,#68bfe4);
}
.winter-compare-card.winter-slate{
  background:linear-gradient(160deg,#fff,#f2f5f8);
  border-color:#dce4eb;
}
.winter-compare-card.winter-slate::before{
  background:linear-gradient(90deg,#52697f,#93a9bc);
}
.winter-icon{
  width:44px;height:44px;
  border-radius:13px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(80,110,135,.13);
  color:#2a6a78;
  font-size:20px;
  font-weight:900;
}
.winter-card-body{
  min-width:0;
  display:flex;
  flex-direction:column;
}
.winter-count{
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.045em;
  color:#6a7b8f;
  font-weight:800;
  margin-bottom:8px;
}
.winter-card-body h3{
  margin:0 0 9px;
  font-size:22px;
  line-height:1.17;
  color:var(--navy);
}
.winter-card-body>p{
  margin:0 0 18px;
  color:#617286;
  font-size:13px;
  line-height:1.52;
}
.winter-meta{
  border-top:1px solid rgba(106,127,145,.14);
  border-bottom:1px solid rgba(106,127,145,.14);
  padding:13px 0;
  margin-bottom:14px;
}
.winter-meta small{
  display:block;
  text-transform:uppercase;
  font-size:9px;
  letter-spacing:.05em;
  color:#77889a;
  font-weight:800;
  margin-bottom:3px;
}
.winter-meta strong{
  color:var(--navy);
  font-size:17px;
}
.winter-note{
  padding:10px 11px;
  border-radius:10px;
  background:rgba(255,255,255,.66);
  color:#4d6471;
  font-size:12px;
  line-height:1.45;
}
.winter-card-body a{
  margin-top:auto;
  padding-top:17px;
  text-decoration:none;
  color:#075ba9;
  font-size:12px;
  font-weight:800;
}

@media(max-width:1050px){
  .compare-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .winter-compare-grid{grid-template-columns:1fr}
  .winter-compare-card{min-height:0}
}
@media(max-width:760px){
  .compare-grid{grid-template-columns:1fr}
  .compare-card{min-height:0;padding:19px 17px}
  .compare-card-top{align-items:flex-start}
  .compare-card h3{font-size:21px}
  .compare-card a{width:100%;justify-content:center}
  .winter-compare-card{
    grid-template-columns:1fr;
    min-height:0;
    padding:18px;
  }
  .winter-icon{width:40px;height:40px}
  .winter-card-body h3{font-size:21px}
  .winter-card-body a{
    display:block;
    width:100%;
    margin-top:16px;
    padding:10px 12px;
    text-align:center;
    border-radius:10px;
    background:rgba(255,255,255,.75);
    border:1px solid rgba(18,104,199,.12);
  }
}


/* =========================================================
   V6 Installation & delivery page
   ========================================================= */
.install-hero{
  background:
    radial-gradient(circle at 92% 15%,rgba(18,104,199,.08),transparent 30%),
    linear-gradient(180deg,#fff,#fbfdff);
}
.install-four{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:13px;
}
.install-factor{
  position:relative;
  overflow:hidden;
  min-height:250px;
  padding:21px 19px;
  border:1px solid #dce5ed;
  border-radius:17px;
  background:linear-gradient(160deg,#fff,#f5f9fc);
  box-shadow:0 5px 16px rgba(11,35,68,.035);
}
.install-factor::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:#6cb4dd;
}
.install-factor.factor-teal{background:linear-gradient(160deg,#fff,#f2faf7)}
.install-factor.factor-teal::before{background:#54aa92}
.install-factor.factor-slate{background:linear-gradient(160deg,#fff,#f4f6f9)}
.install-factor.factor-slate::before{background:#788da2}
.install-factor.factor-sand{background:linear-gradient(160deg,#fff,#fbf7ef)}
.install-factor.factor-sand::before{background:#c2a064}
.factor-icon{
  width:37px;height:37px;
  display:grid;place-items:center;
  margin-bottom:18px;
  border-radius:11px;
  background:#fff;
  border:1px solid #dce5ed;
  color:var(--navy);
  font-size:13px;font-weight:900;
}
.install-factor h3{font-size:20px;margin:0 0 8px;color:var(--navy)}
.install-factor p{font-size:13px;line-height:1.52;color:#617185;margin:0 0 18px}
.install-factor>span{
  position:absolute;left:19px;right:19px;bottom:18px;
  color:#607287;font-size:11px;font-weight:750;
}

.install-price-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.install-price-card{
  position:relative;
  overflow:hidden;
  min-height:325px;
  padding:22px;
  border:1px solid #dbe5ed;
  border-radius:18px;
  background:linear-gradient(155deg,#fff,#f4f9fd);
  display:flex;
  flex-direction:column;
  box-shadow:0 5px 16px rgba(11,35,68,.04);
}
.install-price-card::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:linear-gradient(90deg,#4b9ed3,#80c7e8);
}
.install-price-card.anchor-mid{
  background:linear-gradient(155deg,#fff,#f1f9f6);
}
.install-price-card.anchor-mid::before{
  background:linear-gradient(90deg,#3b8d78,#7cc0ac);
}
.install-price-card.anchor-heavy{
  background:linear-gradient(155deg,#fff,#f5f5f9);
}
.install-price-card.anchor-heavy::before{
  background:linear-gradient(90deg,#65758d,#a1acbd);
}
.install-label{
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(77,107,134,.12);
  color:#63758a;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:9px;font-weight:850;
  margin-bottom:17px;
}
.install-price-card h3{font-size:20px;line-height:1.2;color:var(--navy);margin:0 0 10px}
.install-price-card>strong{font-size:29px;color:var(--navy);letter-spacing:-.5px;margin-bottom:11px}
.install-price-card p{font-size:13px;color:#607186;line-height:1.52;margin:0 0 18px}
.install-price-card a{
  margin-top:auto;
  width:max-content;
  max-width:100%;
  text-decoration:none;
  color:#075ba9;
  background:rgba(255,255,255,.75);
  border:1px solid rgba(18,104,199,.12);
  border-radius:9px;
  padding:9px 11px;
  font-size:12px;font-weight:800;
}
.price-source-note{
  margin-top:12px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  align-items:center;
  padding:12px 15px;
  border-radius:11px;
  background:#f7f9fb;
  color:#6b7b8f;
  font-size:11px;
}
.price-source-note a{color:#075ba9;text-decoration:none;font-weight:750}

.turnkey-card{
  display:grid;
  grid-template-columns:1.35fr .65fr;
  gap:28px;
  align-items:center;
  padding:28px;
  border:1px solid #d7e4ed;
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0%,rgba(18,104,199,.11),transparent 35%),
    linear-gradient(130deg,#f7fbfe,#eef7fb);
  box-shadow:0 8px 25px rgba(11,35,68,.055);
}
.turnkey-kicker{
  display:inline-flex;
  width:max-content;
  padding:6px 9px;border-radius:999px;
  background:#fff;border:1px solid #dce6ed;
  color:#266e9c;text-transform:uppercase;
  letter-spacing:.05em;font-size:9px;font-weight:850;
}
.turnkey-copy h2{font-size:28px;line-height:1.16;margin:13px 0 10px;color:var(--navy)}
.turnkey-copy p{font-size:14px;line-height:1.6;color:#596b80;margin:0}
.turnkey-copy a{display:inline-block;margin-top:16px;color:#075ba9;text-decoration:none;font-size:12px;font-weight:800}
.turnkey-total{
  border:1px solid rgba(17,61,102,.12);
  background:rgba(255,255,255,.78);
  border-radius:16px;
  padding:24px 20px;
  text-align:center;
}
.turnkey-total small{
  display:block;text-transform:uppercase;letter-spacing:.05em;
  color:#718195;font-size:9px;font-weight:800;margin-bottom:6px;
}
.turnkey-total strong{display:block;font-size:35px;color:var(--navy);letter-spacing:-.7px}
.turnkey-total span{display:block;margin-top:6px;color:#607186;font-size:11px;line-height:1.4}

.delivery-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.delivery-card{
  position:relative;
  min-height:280px;
  padding:22px;
  border:1px solid #dce5ed;
  border-radius:18px;
  background:#fff;
  box-shadow:0 4px 15px rgba(11,35,68,.035);
}
.delivery-card.featured{
  background:linear-gradient(155deg,#fff,#eff8f5);
  border-color:#d6e9e2;
}
.delivery-no{
  display:block;
  color:#8a9aab;font-size:10px;font-weight:850;letter-spacing:.08em;
  margin-bottom:23px;
}
.delivery-card h3{font-size:22px;margin:0 0 8px;color:var(--navy)}
.delivery-card p{font-size:13px;line-height:1.55;color:#617185;margin:0 0 18px}
.delivery-good{
  position:absolute;left:22px;right:22px;bottom:20px;
  padding:10px 11px;
  border-radius:10px;
  background:#f4f7fa;
  color:#50667c;
  font-size:11px;line-height:1.4;
}
.delivery-card.featured .delivery-good{background:#eaf6f1;color:#3e6e5b}

.source-callout{
  margin-top:16px;
  padding:18px 20px;
  border:1px solid #dfe6ed;
  border-radius:14px;
  background:#fafcfd;
}
.source-callout strong{display:block;color:var(--navy);margin-bottom:5px}
.source-callout p{font-size:13px;line-height:1.55;color:#627286;margin:0 0 11px;max-width:880px}
.source-callout div{display:flex;gap:14px;flex-wrap:wrap}
.source-callout a{color:#075ba9;text-decoration:none;font-size:12px;font-weight:750}

@media(max-width:1120px){
  .logo img{width:275px}
  .desktop-nav{gap:15px}
  .desktop-nav a{font-size:13px}
  .nav-cta{padding:8px 11px !important}
}
@media(max-width:970px){
  .desktop-nav{display:none}
  .menu-btn{display:block;margin-left:auto;border:0;background:#fff;font-size:24px;color:var(--navy)}
  .mobile-nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;border-top:1px solid #edf0f4;border-bottom:1px solid #dfe6ee;padding:13px 22px}
  .menu-open .mobile-nav{display:grid}
}
@media(max-width:760px){
  .mobile-nav{top:74px;padding:13px}
  .install-four,.install-price-grid,.delivery-options{grid-template-columns:1fr}
  .install-factor{min-height:220px}
  .install-price-card{min-height:0}
  .install-price-card a{width:100%;text-align:center}
  .price-source-note{display:grid}
  .turnkey-card{grid-template-columns:1fr;padding:20px}
  .turnkey-copy h2{font-size:24px}
  .turnkey-total{padding:20px 16px}
  .delivery-card{min-height:250px}
}


/* =========================================================
   V7 Sources & update transparency
   ========================================================= */
.data-source-strip{
  border-top:1px solid #e6ebf0;
  background:#f9fbfc;
}
.data-source-strip .container{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.data-source-strip span{
  color:#6c7b8e;
  font-size:11px;
}
.data-source-strip a{
  text-decoration:none;
  color:#0a5fab;
  font-size:11px;
  font-weight:800;
}

.source-hero{
  background:
    radial-gradient(circle at 92% 15%,rgba(18,104,199,.075),transparent 30%),
    linear-gradient(180deg,#fff,#fbfdff);
}
.source-content{max-width:1080px;margin-left:auto;margin-right:auto}

.source-method-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-bottom:50px;
}
.source-method-card{
  position:relative;
  overflow:hidden;
  min-height:245px;
  padding:23px 22px;
  border:1px solid #dde5ed;
  border-radius:18px;
  background:linear-gradient(155deg,#fff,#f5f9fc);
  box-shadow:0 5px 16px rgba(11,35,68,.035);
}
.source-method-card::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:linear-gradient(90deg,#2686c8,#78c3e5);
}
.source-method-card.source-teal{background:linear-gradient(155deg,#fff,#f1faf7)}
.source-method-card.source-teal::before{background:linear-gradient(90deg,#318d76,#7cc2ad)}
.source-method-card.source-sand{background:linear-gradient(155deg,#fff,#fbf7ee)}
.source-method-card.source-sand::before{background:linear-gradient(90deg,#9e7b42,#d3b274)}
.source-method-card.source-slate{background:linear-gradient(155deg,#fff,#f4f6f9)}
.source-method-card.source-slate::before{background:linear-gradient(90deg,#5a7085,#9caebf)}
.source-method-card>span{
  display:block;
  margin-bottom:25px;
  color:#8796a7;
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
}
.source-method-card h2{
  font-size:22px;
  line-height:1.2;
  margin:0 0 9px;
  color:var(--navy);
}
.source-method-card p{
  font-size:13px;
  line-height:1.58;
  color:#607185;
  margin:0;
}

.source-update-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  padding:24px 25px;
  border:1px solid #d8e6e1;
  border-radius:18px;
  background:linear-gradient(120deg,#f3faf7,#fbfdfc);
}
.source-update-label{
  display:block;
  color:#668274;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:9px;
  font-weight:850;
  margin-bottom:4px;
}
.source-update-card strong{
  display:block;
  font-size:27px;
  color:var(--navy);
  letter-spacing:-.4px;
}
.source-update-card p{
  margin:7px 0 0;
  max-width:680px;
  color:#617467;
  font-size:12px;
  line-height:1.5;
}
.source-update-card>a{
  white-space:nowrap;
  text-decoration:none;
  padding:11px 13px;
  border-radius:10px;
  background:var(--navy);
  color:#fff;
  font-size:12px;
  font-weight:800;
}

.source-rules{
  display:grid;
  gap:9px;
  max-width:880px;
}
.source-rule{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:22px;
  padding:15px 17px;
  border:1px solid #e0e6ed;
  border-radius:12px;
  background:#fff;
}
.source-rule strong{
  color:var(--navy);
  font-size:13px;
}
.source-rule span{
  color:#617185;
  font-size:12px;
  line-height:1.45;
}

.source-links-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:11px;
}
.source-links-grid a{
  min-height:104px;
  padding:17px 18px;
  border:1px solid #dde5ed;
  border-radius:14px;
  background:linear-gradient(155deg,#fff,#f8fbfd);
  text-decoration:none;
}
.source-links-grid strong{
  display:block;
  margin-bottom:6px;
  color:var(--navy);
  font-size:16px;
}
.source-links-grid span{
  color:#68798d;
  font-size:11px;
  line-height:1.4;
}
.source-maintainer{
  border-top:1px solid #e4e9ee;
  padding-top:28px;
}
.source-maintainer h2{font-size:24px}
.source-maintainer p{
  max-width:820px;
  color:#5d6e82;
  font-size:14px;
  line-height:1.6;
}
.source-maintainer a{color:#075ba9}

@media(max-width:760px){
  .data-source-strip .container{
    min-height:0;
    padding:12px 0;
    display:grid;
    gap:4px;
  }
  .source-method-grid{grid-template-columns:1fr;margin-bottom:40px}
  .source-method-card{min-height:0;padding:20px 18px}
  .source-update-card{display:grid;padding:19px}
  .source-update-card>a{width:100%;text-align:center}
  .source-rule{grid-template-columns:1fr;gap:5px}
  .source-links-grid{grid-template-columns:1fr}
  .source-links-grid a{min-height:0}
}


/* =========================================================
   V8 Mökkilaituri – visible consumer path
   ========================================================= */
.cottage-path{
  grid-column:1/-1;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  min-height:155px;
  padding:27px 30px;
  border:1px solid #cfe4df;
  border-radius:20px;
  text-decoration:none;
  background:
    radial-gradient(circle at 91% 15%,rgba(35,130,112,.13),transparent 31%),
    linear-gradient(120deg,#f2faf7,#f7fbfd 62%,#eef7fb);
  box-shadow:0 8px 24px rgba(11,35,68,.05);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.cottage-path::before{
  content:"";
  position:absolute;left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,#2b8d75,#67bca6);
}
.cottage-path:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 32px rgba(11,35,68,.09);
  border-color:#b9d9d0;
}
.cottage-path-copy{max-width:760px}
.cottage-path-kicker{
  display:block;
  margin-bottom:5px;
  color:#39735f;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-size:10px;
  font-weight:850;
}
.cottage-path h3{
  margin:0 0 6px;
  color:var(--navy);
  font-size:26px;
  letter-spacing:-.4px;
}
.cottage-path p{
  margin:0;
  color:#5d7180;
  font-size:13px;
  line-height:1.55;
}
.cottage-path-action{
  flex:0 0 auto;
  padding:11px 14px;
  border-radius:10px;
  background:var(--navy);
  color:#fff;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.cottage-hero{
  background:
    radial-gradient(circle at 88% 10%,rgba(43,141,117,.09),transparent 30%),
    linear-gradient(180deg,#fff,#fbfdfc);
}

.cottage-start{
  margin-bottom:54px;
}
.cottage-start-head{
  max-width:760px;
  margin-bottom:22px;
}
.cottage-start-head>span{
  display:inline-flex;
  padding:6px 9px;
  border-radius:999px;
  background:#eef8f4;
  color:#36745e;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:9px;
  font-weight:850;
}
.cottage-start-head h2{
  margin:12px 0 7px;
  font-size:31px;
  color:var(--navy);
  letter-spacing:-.5px;
}
.cottage-start-head p{
  margin:0;
  color:#637487;
  font-size:14px;
  line-height:1.55;
}
.cottage-choice-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.cottage-choice{
  position:relative;
  overflow:hidden;
  min-height:315px;
  padding:23px 22px;
  border:1px solid #dce6ed;
  border-radius:18px;
  background:linear-gradient(155deg,#fff,#f7fafc);
  display:flex;
  flex-direction:column;
  box-shadow:0 5px 16px rgba(11,35,68,.035);
}
.cottage-choice::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:#8eb5ce;
}
.cottage-choice.choice-light{
  background:linear-gradient(155deg,#fff,#fbf8ef);
}
.cottage-choice.choice-light::before{background:linear-gradient(90deg,#b99454,#dfc487)}
.cottage-choice.choice-blue{
  background:linear-gradient(155deg,#fff,#f0f8fd);
}
.cottage-choice.choice-blue::before{background:linear-gradient(90deg,#1c82c5,#74c1e5)}
.cottage-choice.choice-slate{
  background:linear-gradient(155deg,#fff,#f3f6f9);
}
.cottage-choice.choice-slate::before{background:linear-gradient(90deg,#576e84,#9badbd)}
.cottage-choice.choice-teal{
  background:linear-gradient(155deg,#fff,#eff9f6);
}
.cottage-choice.choice-teal::before{background:linear-gradient(90deg,#2a876f,#78bea9)}
.choice-label{
  width:max-content;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(84,108,130,.12);
  color:#65768a;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:18px;
}
.cottage-choice h3{
  margin:0 0 8px;
  color:var(--navy);
  font-size:22px;
  letter-spacing:-.3px;
}
.cottage-choice>p{
  margin:0 0 15px;
  color:#617286;
  font-size:13px;
  line-height:1.5;
}
.cottage-choice ul{
  list-style:none;
  margin:0 0 18px;
  padding:0;
  display:grid;
  gap:8px;
}
.cottage-choice li{
  position:relative;
  padding-left:20px;
  color:#4d6177;
  font-size:12px;
  line-height:1.4;
}
.cottage-choice li::before{
  content:"✓";
  position:absolute;
  left:0;top:0;
  color:#337d64;
  font-weight:900;
}
.cottage-choice a{
  margin-top:auto;
  width:max-content;
  text-decoration:none;
  color:#075ba9;
  font-size:12px;
  font-weight:800;
}

.cottage-reality-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  padding:24px 26px;
  border:1px solid #d9e6e1;
  border-radius:18px;
  background:linear-gradient(120deg,#f6fbf9,#fbfdfc);
}
.cottage-reality-card>div{max-width:800px}
.cottage-reality-card span{
  display:block;
  margin-bottom:5px;
  color:#477464;
  font-size:10px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cottage-reality-card h2{
  margin:0 0 7px;
  color:var(--navy);
  font-size:25px;
}
.cottage-reality-card p{
  margin:0;
  color:#617568;
  font-size:13px;
  line-height:1.58;
}
.cottage-reality-card>a{
  flex:0 0 auto;
  text-decoration:none;
  color:#075ba9;
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}

.cottage-example-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.cottage-example{
  position:relative;
  overflow:hidden;
  min-height:340px;
  padding:22px;
  border:1px solid #dce5ed;
  border-radius:18px;
  background:linear-gradient(155deg,#fff,#f7fafc);
  display:flex;
  flex-direction:column;
  box-shadow:0 5px 16px rgba(11,35,68,.035);
}
.cottage-example::before{
  content:"";
  position:absolute;left:0;top:0;right:0;height:5px;
  background:#7ba7c5;
}
.cottage-example.example-green{background:linear-gradient(155deg,#fff,#f5faf4)}
.cottage-example.example-green::before{background:linear-gradient(90deg,#588f63,#8db693)}
.cottage-example.example-blue{background:linear-gradient(155deg,#fff,#f1f8fd)}
.cottage-example.example-blue::before{background:linear-gradient(90deg,#1b83c8,#76c3e7)}
.cottage-example.example-lake{background:linear-gradient(155deg,#fff,#f3f8fb)}
.cottage-example.example-lake::before{background:linear-gradient(90deg,#347fa6,#83b9d3)}
.cottage-example.example-teal{background:linear-gradient(155deg,#fff,#eff9f6)}
.cottage-example.example-teal::before{background:linear-gradient(90deg,#23866e,#75bea8)}
.cottage-example.example-slate{background:linear-gradient(155deg,#fff,#f3f5f8)}
.cottage-example.example-slate::before{background:linear-gradient(90deg,#596f84,#9cadbd)}
.cottage-example-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:17px;
}
.cottage-example-top>span{
  padding:6px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.8);
  border:1px solid rgba(80,105,127,.11);
  color:#617489;
  font-size:9px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.045em;
}
.cottage-example-top small{
  color:#77879a;
  font-size:11px;
  font-weight:750;
}
.cottage-example h3{
  margin:0 0 7px;
  color:var(--navy);
  font-size:22px;
}
.cottage-use{
  margin:0 0 17px;
  min-height:58px;
  color:#617286;
  font-size:12px;
  line-height:1.5;
}
.cottage-example-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:13px 0;
  border-top:1px solid rgba(91,115,137,.13);
  border-bottom:1px solid rgba(91,115,137,.13);
}
.cottage-example-meta small{
  display:block;
  margin-bottom:3px;
  color:#8290a0;
  font-size:8px;
  font-weight:850;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.cottage-example-meta strong{
  display:block;
  color:var(--navy);
  font-size:14px;
}
.cottage-example>a{
  margin-top:auto;
  padding-top:17px;
  color:#075ba9;
  text-decoration:none;
  font-size:12px;
  font-weight:800;
}
.cottage-example-note{
  margin-top:12px;
  padding:11px 14px;
  border-radius:10px;
  background:#f8fafb;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:#738295;
  font-size:10px;
}
.cottage-example-note a{
  color:#075ba9;
  text-decoration:none;
  font-weight:800;
}

@media(max-width:980px){
  .cottage-example-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .cottage-path{
    display:grid;
    gap:18px;
    min-height:0;
    padding:21px 19px;
  }
  .cottage-path h3{font-size:23px}
  .cottage-path-action{width:100%;text-align:center}
  .cottage-start-head h2{font-size:27px}
  .cottage-choice-grid,.cottage-example-grid{grid-template-columns:1fr}
  .cottage-choice,.cottage-example{min-height:0;padding:19px 18px}
  .cottage-choice a{
    width:100%;
    padding:10px 11px;
    border-radius:9px;
    text-align:center;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(18,104,199,.12);
  }
  .cottage-reality-card{display:grid;padding:19px}
  .cottage-reality-card>a{white-space:normal}
  .cottage-use{min-height:0}
  .cottage-example>a{
    display:block;
    width:100%;
    margin-top:16px;
    padding:10px 11px;
    border-radius:9px;
    text-align:center;
    background:rgba(255,255,255,.72);
    border:1px solid rgba(18,104,199,.12);
  }
  .cottage-example-note{display:grid}
}
