/* roofcraft-section-hero */
.hero{position: relative;background: var(--navy);color: #fff;overflow: hidden;padding: 80px 0;}.hero > .bg{position: absolute;inset: -40px 0;background-size: cover;background-position: center;will-change: transform;transform: translateY(0);z-index: 0;}.hero .hero-background-slider{position: absolute;inset: -40px 0;z-index: 0;overflow: hidden;}.hero .hero-background-slide{position: absolute;inset: 0;background-size: cover;background-position: center;opacity: 0;pointer-events: none;transition: opacity 1.2s ease;will-change: opacity;}.hero .hero-background-slide.is-active{opacity: 1;}.hero .scrim{position: absolute;inset: 0;z-index: 2;background: linear-gradient( 240deg, rgba(0, 87, 112, 0.5) 0%, rgba(0, 87, 112, 0.5) 30%, rgba(33, 43, 85, 0.4) 50%, rgba(33, 43, 85, 0.8) 100% );pointer-events: none;}.hero::after{content: "";position: absolute;left: 0;right: 0;bottom: -1px;height: 71px;background: #fff;clip-path: polygon( 0 100%, 100% 0, 100% 100% );z-index: 10;pointer-events: none;}.hero .container{position: relative;z-index: 3;padding-top: 74px;padding-bottom: 84px;}.hero .inner{max-width: 660px;}.hero .eyebrow{color: #fff;}.hero .eyebrow svg{width: 14px;height: 14px;stroke: #7fd8a9;fill: none;stroke-width: 2.6;}.hero h1{color: #fff;font-size: clamp( 2.3rem, 4.6vw, 3.5rem );margin: 18px 0;}.hero h1 .accent{color: var(--green);}.hero .ir-zone{background: none;border: 0;border-radius: 0;box-shadow: none;padding: 0 0 15px 0;margin: 0 0 4px;color: #d4e0f4;font-size: 1.18rem;line-height: 1.6;max-width: 60ch;}.hero .ir-zone p{margin: 0 0 10px;}.hero .ir-zone strong{color: #fff;}.hero .hero-cta{margin: 30px 0 24px;}.hero .whats-link{color: #c6d6f0;}.hero .trust-strip{display: flex;gap: 10px;flex-wrap: wrap;border-top: 0;padding-top: 0;}.hero .trust-strip > div{display: inline-flex;align-items: center;gap: 8px;background: rgba(255, 255, 255, .1);border: 1px solid rgba(255, 255, 255, .2);padding: 8px 14px;border-radius: 999px;font-size: 13.5px;color: #e2ecfb;font-weight: 500;}.hero .trust-strip strong{color: #fff;}.hero .trust-strip .stars{color: #ffce54;}.hero .floatcards{position: absolute;right: 40px;top: 50%;transform: translateY(-50%);z-index: 3;display: flex;flex-direction: column;gap: 14px;}.hero .floatcard{background: #fff;color: var(--ink);border-radius: 14px;box-shadow: var(--sh-lg);padding: 13px 16px;display: flex;align-items: center;gap: 11px;font-size: 13.5px;font-weight: 700;opacity: 0;transform: translateX(60px);transition: opacity .7s ease, transform .7s cubic-bezier(.22,1,.36,1);will-change: opacity, transform;}.hero .floatcard.is-visible{opacity: 1;transform: translateX(0);}.hero .floatcard .ic{width: 38px;height: 38px;border-radius: 10px;display: grid;place-items: center;flex: none;}.hero .floatcard .ic svg{width: 20px;height: 20px;}.hero .floatcard small{display: block;color: var(--muted);font-weight: 500;font-size: 11.5px;}.hero .floatcard .fc-stars{color: #ffce54;letter-spacing: 1px;}@media (max-width: 1100px){.hero .floatcards{display: none;}}@media (max-width: 767px){.hero .trust-strip{display:none;}.hero .container{padding-top: 0;padding-bottom: 20px;}.hero .ir-zone{padding:0;}}@media (prefers-reduced-motion: reduce){.hero .hero-background-slide{transition: none;}}@media (min-width: 981px){.hero{padding-top: 40px;}.hero .container{padding-top: 40px;}}.hero .scrim{background: linear-gradient(90deg, rgba(8, 18, 38, 0.9) 0%, rgba(8, 18, 38, 0.82) 45%, rgba(8, 18, 38, 0.45) 75%, rgba(8, 18, 38, 0.25) 100%);}html body .hero p.hero-trust a{color: #fff;}.hero .hero-trust{margin-bottom: 14px;}
/* roofcraft-section-services-grid */
.services{background: var(--surface);padding: 80px 0 100px 0;}.services-header{text-align: left;margin-bottom: 48px;}.services-header .eyebrow{display: inline-flex;letter-spacing:0}.services-header h2{margin-bottom: 14px;}.services-header .lede{text-align: left;}.services-grid{display: grid;grid-template-columns: repeat(3, 1fr);gap: 20px;}@media (max-width: 767px){.services{padding:50px 0;}}@media (max-width: 980px){.services-grid{grid-template-columns: repeat(2, 1fr);}}@media (max-width: 580px){.services-grid{grid-template-columns: 1fr;}}.service-card{background: var(--card);border: 1px solid var(--line);border-radius: var(--r);overflow: hidden;transition: transform .2s, box-shadow .2s, border-color .2s;position: relative;display: flex;flex-direction: column;text-decoration: none;color: inherit;}.service-card:hover{transform: translateY(-5px);box-shadow: var(--sh);border-color: #d4e1f5;}.service-card.spearhead{border: 2px solid var(--blue);box-shadow: var(--sh);}.service-card.spearhead::after{content: 'Specialiteit';position: absolute;top: 14px;right: 14px;z-index: 3;background: var(--blue);color: #fff;font-size: 9px;text-transform: uppercase;letter-spacing: .1em;padding: 4px 9px;border-radius: 999px;font-weight: 700;}.service-card .ph{position: relative;aspect-ratio: 16 / 9;background: #13315c;overflow: hidden;}.service-card .ph img{width: 100%;height: 100%;object-fit: cover;transition: transform .35s;}.service-card:hover .ph img{transform: scale(1.05);}.service-card .ph .badge{position: absolute;top: 14px;left: 14px;z-index: 2;background: var(--blue);color: #fff;font-size: 10px;font-weight: 700;letter-spacing: .05em;text-transform: uppercase;padding: 5px 11px;border-radius: 999px;}.service-card .ph .badge.badge--dark{background: var(--navy);}.service-card .ph .badge.badge--spoed{background: var(--spoed);}.service-card .ph .badge.badge--green{background: var(--green);}.service-card .ph .badge.badge--blue{background: var(--blue);}.service-card.has-photo.spearhead{border: 1px solid var(--line);box-shadow: var(--sh-sm);}.service-card.has-photo.spearhead:hover{border-color: #d4e1f5;box-shadow: var(--sh);}.service-card.has-photo.spearhead::after{display: none;}.service-card .bd{padding: 22px 24px;display: flex;flex-direction: column;flex: 1;}.service-card .icon{width: 46px;height: 46px;border-radius: 12px;background: var(--blue-l);display: grid;place-items: center;position: relative;z-index: 2;margin-bottom: 12px;}.service-card .icon svg{width: 23px;height: 23px;stroke: var(--blue-d);fill: none;stroke-width: 1.9;stroke-linecap: round;stroke-linejoin: round;}.service-card.has-photo .icon{margin-top: -46px;border: 3px solid #fff;box-shadow: var(--sh-sm);background: var(--blue-l);}.service-card h3{font-size: 1.18rem;font-family: var(--display);margin-bottom: 7px;color: var(--ink);}.service-card .eav{color: var(--muted);font-size: .94rem;line-height: 1.6;margin-bottom: 14px;flex: 1;}.service-card .eav strong{color: var(--ink);}.service-card .arrow{color: var(--blue);font-weight: 600;font-size: .9rem;font-family: var(--display);display: inline-flex;align-items: center;gap: 6px;transition: gap .2s, color .2s;}.service-card:hover .arrow{gap: 10px;color: var(--blue-d);}.service-card{position: relative;}.service-card h3 .service-card-link{color: inherit;text-decoration: none;}.service-card h3 .service-card-link::after{content: "";position: absolute;inset: 0;z-index: 1;border-radius: inherit;}.service-card h3 .service-card-link:focus-visible{outline: none;}.service-card:focus-within{outline: 2px solid var(--blue);outline-offset: 3px;}
/* roofcraft-section-csi-strip */
.csi-strip{background: var(--navy);color: #fff;text-align: center;padding: 120px 0 100px;clip-path: polygon( 0 70px, 100% 0, 100% 100%, 0 100%)}.csi-strip h3{font-family: var(--display);color: #fff;margin: 0 0 8px;font-size: 36px;line-height: 1.25;letter-spacing: -0.01em;}.csi-strip p{color: #c6d6f0;margin: 0 auto 28px;font-size: 14px;line-height: 1.6;max-width: 760px;}.csi-strip .lede{margin:0 auto;}.csi-strip .verb-tags{display: flex;flex-wrap: wrap;gap: 12px;justify-content: center;max-width: 900px;margin: 0 auto;}.csi-strip .verb-tag{display: inline-flex;align-items: center;gap: 9px;background: rgba(255, 255, 255, 0.06);color: #fff;border: 1px solid rgba(255, 255, 255, 0.14);padding: 10px 18px;border-radius: var(--r-sm);font-family: var(--font);font-weight: 600;font-size: 14px;line-height: 1.2;transition: background 0.18s, border-color 0.18s, transform 0.18s;}.csi-strip .verb-tag::before{content: "";width: 8px;height: 8px;border-radius: 50%;background: var(--green);flex: 0 0 auto;}a.verb-tag, a.verb-tag:visited{color: #fff;text-decoration: none;}.csi-strip .verb-tag:focus-visible{outline: 2px solid #fff;outline-offset: 2px;}.csi-strip a.verb-tag:hover{background: rgba(37, 99, 235, 0.22);border-color: var(--blue);transform: translateY(-2px);}@media (max-width: 767px){.csi-strip{padding: 100px 0 60px;}}
/* roofcraft-section-dak-diagnose */
.dak-diagnose{background: var(--surface);padding-bottom:100px;}.dak-diagnose .dd-head{max-width: 700px;margin-bottom: 38px;}.dak-diagnose .dd-head .eyebrow{display: inline-flex;}.dak-diagnose .dd-head h2{margin-bottom: 8px;}.dak-diagnose .dd-head .lede{margin: 0;}.diag{display: grid;grid-template-columns: 1fr 1fr;gap: 36px;align-items: center;}.diag .opts{display: grid;grid-template-columns: 1fr 1fr;gap: 12px;}.diag .opt{text-align: left;background: var(--card);border: 1.5px solid var(--line);border-radius: 13px;padding: 15px 16px;cursor: pointer;font: inherit;transition: .18s;}.diag .opt:hover{border-color: #bcd2f6;}.diag .opt.on{border-color: var(--blue);background: var(--blue-l);box-shadow: 0 0 0 3px rgba(37,99,235,.12);}.diag .opt .t{display: flex;align-items: center;gap: 9px;font-weight: 600;color: var(--ink);font-size: .95rem;}.diag .opt .t svg{width: 18px;height: 18px;stroke: var(--blue-d);fill: none;stroke-width: 2;flex: none;}.diag .opt small{color: var(--muted);font-size: .8rem;display: block;margin-top: 3px;margin-left: 27px;}.diag .panel{background: var(--navy);color: #fff;border-radius: var(--r);padding: 30px;min-height: 230px;display: flex;flex-direction: column;justify-content: center;}.diag .panel .lbl{font-size: .74rem;letter-spacing: 0;text-transform: uppercase;color:var(--blue-on-dark, #009fe3);font-weight: 700;margin-bottom: 10px;}.diag .panel h3{color: #fff;font-size: 1.35rem;margin-bottom: 10px;}.diag .panel p{color: #c6d6f0;font-size: .98rem;margin-bottom: 18px;}.diag .panel .btn{align-self: flex-start;}@media (max-width: 767px){.dak-diagnose{padding-bottom: 70px;}}@media (max-width: 860px){.diag{grid-template-columns: 1fr;gap: 24px;}}@media (max-width: 480px){.diag .opts{grid-template-columns: 1fr;}}
/* roofcraft-section-eav-table */
.eav-section{background: var(--surface);padding: 70px 0 100px;}.eav-section .header-row{display: grid;grid-template-columns: 3fr 2fr;gap: 48px;margin-bottom: 30px;align-items: end;}.eav-section .header-row--single{grid-template-columns: 1fr;}.eav-section .header-row h2{font-family: var(--display);font-weight: 700;color: var(--ink);}.eav-section .eyebrow{color: var(--green);letter-spacing: 0;}.eav-section .lede{color: var(--muted);margin-top: 15px;}@media (max-width: 768px){.eav-section .header-row{grid-template-columns: 1fr;}}.eav-table{width: 100%;table-layout: fixed;border-collapse: separate;border-spacing: 0;background: var(--card);border: 1px solid var(--line);border-radius: var(--r);overflow: hidden;}.eav-table th, .eav-table td{text-align: left;padding: 13px 18px;vertical-align: top;font-size: .94rem;border-right: 1px solid var(--line);border-bottom: 1px solid var(--line);}.eav-table thead th{background: var(--blue-l);color: var(--green);font-family: var(--display);font-size: .78rem;text-transform: uppercase;letter-spacing: .04em;font-weight: 700;}.eav-table th:first-child{width: 45%;}.eav-table tr > *:last-child{border-right: 0;}.eav-table tbody tr:last-child > *{border-bottom: 0;}.eav-table tbody tr:nth-child(even){background: #fbfdff;}.eav-table .attribute, .eav-table td:first-child{font-weight: 600;color: var(--ink);}.eav-table .value{color: var(--ink);font-weight: 500;}.eav-section--values-only .eav-table .value{font-weight: 500;}.eav-table th[scope="row"].entity{text-align: left;font-weight: 700;color: var(--rc-primary, #1F2D5C);white-space: nowrap;}.eav-section--cols3 .eav-table td.attribute{color: #475569;}.eav-table thead th{text-align: left;}@media (max-width: 767px){.eav-section{padding: 50px 0 70px;}}@media (max-width: 640px){.eav-table{display: table;table-layout: auto;overflow: hidden;}.eav-table th, .eav-table td{white-space: normal;overflow-wrap: break-word;padding: 11px 14px;}.eav-table th:first-child{width: auto;}.eav-table th[scope="row"].entity{white-space: normal;}.eav-section--cols3 .eav-table, .eav-section--cols3 .eav-table tbody, .eav-section--cols3 .eav-table tr, .eav-section--cols3 .eav-table th[scope="row"].entity, .eav-section--cols3 .eav-table td{display: block;width: auto;}.eav-section--cols3 .eav-table thead{position: absolute;width: 1px;height: 1px;overflow: hidden;clip: rect(0 0 0 0);white-space: nowrap;}.eav-section--cols3 .eav-table tr{padding: 12px 14px;border-bottom: 1px solid var(--line);}.eav-section--cols3 .eav-table tbody tr:last-child{border-bottom: 0;}.eav-section--cols3 .eav-table tr > *{padding: 0;border: 0;}.eav-section--cols3 .eav-table th[scope="row"].entity{white-space: normal;margin-bottom: 2px;}.eav-section--cols3 .eav-table td.attribute, .eav-section--cols3 .eav-table td.value{display: inline;}.eav-section--cols3 .eav-table td.attribute::after{content: ": ";}}@media (max-width: 380px){.eav-table th, .eav-table td{padding: 10px;}.eav-table td.value{overflow-wrap: anywhere;}}
/* roofcraft-section-why-bm */
.why-bm{background: var(--surface);padding: 80px 0 100px 0;}.why-bm > .container{text-align: left;}.why-bm .eyebrow{display: inline-flex;font-family: var(--display);font-weight: 700;text-transform: uppercase;font-size: .8rem;color: var(--blue);}.why-bm h2{font-family: var(--display);color: var(--ink);margin:0;}.why-bm .lede{max-width: 60%;margin-top:14px;color: var(--muted);font-size: 18px;line-height: 1.65;}.why-list{display: grid;grid-template-columns: 1fr 1fr;gap: 18px 80px;margin-top:40px;padding: 0;max-width: 940px;text-align: left;}@media (max-width: 768px){.why-list{grid-template-columns: 1fr;}}.why-list li{list-style: none;display: flex;gap: 14px;align-items: flex-start;color: var(--muted);font-size: .93rem;line-height: 1.6;}.why-list li::before{content: "";flex: none;width: 30px;height: 30px;margin-top: 1px;border-radius: 9px;background: var(--green-l);background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2313794f' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: center;background-size: 17px 17px;}.why-list li strong{display: block;font-family: var(--display);font-weight: 700;color: var(--ink);font-size: 1rem;line-height: 1.3;margin-bottom: 2px;}@media (max-width: 767px){.why-bm{padding: 50px 0 70px;}.why-list{margin-left:0;}.why-bm .lede{max-width: 100%;}}
/* roofcraft-section-content-typography */
.content-section{font-family: var(--font);color: var(--ink);}.content-section h2, .content-section h3, .content-section h4{font-family: var(--display);color: var(--ink);line-height: 1.25;}.content-section h2{margin-bottom: 16px;font-size: clamp(22px, 3vw, 36px);font-weight: 700;}.content-section h3{margin: 28px 0 12px;font-size: clamp(19px, 2.4vw, 23px);font-weight: 700;}.content-section h4{margin: 22px 0 10px;font-size: 18px;font-weight: 600;}.content-section p{font-size: 14px;line-height: 1.6;margin-bottom: 14px;color: var(--ink);}.content-section p strong{color: var(--ink);font-weight: 700;}.content-section a{color: var(--blue);text-decoration: underline;text-underline-offset: 2px;transition: color .2s;}.content-section a:hover{color: var(--blue-d);}.content-section ul, .content-section ol{margin: 30px 0 18px;}.content-section li{font-size: 15.5px;line-height: 1.7;margin-bottom: 8px;color: var(--muted);}.content-section li strong{color: var(--ink);font-weight: 700;}.content-section blockquote{border-left: 3px solid var(--blue);padding: 8px 16px;margin: 18px 0;color: var(--muted);background: var(--surface);border-radius: 0 8px 8px 0;}.content-section blockquote p:last-child{margin-bottom: 0;}.content-section img{max-width: 100%;height: auto;border-radius: var(--r);}.content-section table{width: 100%;border-collapse: collapse;margin: 14px 0;font-size: 14px;border:1px solid #000;background: var(--surface);border-radius: var(--r);overflow: hidden;}.content-section table th{background: var(--blue-l);color: var(--blue-d);text-align: left;padding: 12px 14px;font-family: var(--display);font-size: 12px;text-transform: uppercase;letter-spacing: 0.06em;}.content-section table td{padding: 12px 14px;border-bottom: 1px solid var(--line);}.content-section table tr:last-child td{border-bottom: none;}.content-section table tr:hover td{background: var(--blue-l);}.related-grid{display: grid;grid-template-columns: repeat(3, 1fr);gap: 18px;}@media (max-width: 880px){.related-grid{grid-template-columns: repeat(2, 1fr);}}@media (max-width: 580px){.related-grid{grid-template-columns: 1fr;}}.related-card{display: block;background: var(--card);padding: 24px;border: 1px solid var(--line);border-radius: var(--r);text-decoration: none;color: inherit;transition: all 0.2s;}.related-card:hover{border-color: var(--blue);transform: translateY(-2px);box-shadow: var(--sh-sm);}.related-card h4{margin-bottom: 8px;font-family: var(--display);font-size: 17px;color: var(--ink);}.related-card p{font-size: 13.5px;color: var(--muted);line-height: 1.55;margin-bottom: 12px;}.related-card .arrow{color: var(--blue);font-size: 12.5px;font-weight: 700;font-family: var(--display);}.content-section ul.checks, .checks{list-style: none;padding-left: 0;margin: 25px 0;}.content-section ul.checks li, .checks li{position: relative;padding-left: 28px;margin-bottom: 10px;font-size: 16px;line-height: 1.6;color: var(--ink);}.content-section ul.checks li::before, .checks li::before{content: "✓";position: absolute;left: 0;top: 0;width: 20px;height: 20px;background: var(--green-l);color: var(--green-d);border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 12px;font-weight: 700;}.content-section ul.dechecks, .dechecks{list-style: none;padding-left: 0;margin: 25px 0;}.content-section ul.dechecks li, .dechecks li{position: relative;padding-left: 28px;margin-bottom: 10px;font-size: 16px;line-height: 1.6;color: var(--ink);}.content-section ul.dechecks li::before, .dechecks li::before{content: "✕";position: absolute;left: 0;top: 2px;width: 20px;height: 20px;background: #FEE2E2;color: #991B1B;border-radius: 50%;display: flex;align-items: center;justify-content: center;font-size: 11px;font-weight: 700;border: 1px solid #FCA5A5;}.content-section ul.rich-ul, .content-section ol.rich-ol, .rich-ul, .rich-ol{padding-left: 22px;margin: 14px 0 20px;}.content-section ul.rich-ul li, .content-section ol.rich-ol li, .rich-ul li, .rich-ol li{margin-bottom: 10px;font-size: 15.5px;line-height: 1.65;color: var(--muted);}.rich-ul li strong, .rich-ol li strong{color: var(--ink);font-weight: 700;}.callout{padding: 16px 18px;border-radius: var(--r);margin: 18px 0;font-size: 14.5px;line-height: 1.6;color: var(--muted);background: var(--surface);border-left: 3px solid var(--muted);}.callout strong:first-child{display: block;margin-bottom: 6px;color: var(--ink);font-weight: 700;}.callout-info{background: var(--blue-l);border-left-color: var(--blue);}.callout-tip{background: var(--green-l);border-left-color: var(--green-d);}.callout-warn{background: #fef3f2;border-left-color: var(--spoed);}.callout a{color: inherit;text-decoration: underline;}.callout p:last-child{margin-bottom: 0;}.num-cards{display: grid;grid-template-columns: repeat(3, 1fr);gap: 18px;margin: 18px 0;}@media (max-width: 880px){.num-cards{grid-template-columns: 1fr;}}.num-card{background: var(--card);border: 1px solid var(--line);border-radius: var(--r);padding: 22px 20px;position: relative;}.num-card .num{display: inline-block;width: 36px;height: 36px;border-radius: 50%;background: var(--blue);color: #fff;text-align: center;line-height: 36px;font-weight: 700;font-family: var(--display);margin-bottom: 12px;}.num-card h4{font-family: var(--display);font-size: 17px;margin: 0 0 8px;color: var(--ink);}.num-card p{font-size: 16px;line-height: 1.55;color: var(--ink);margin: 0 0 6px;}.content-section sup, .cluster-hero-intro sup, .quick-fact sup{color: var(--blue-d);font-size: 10px;font-weight: 400;}.bm-clusternav, .bm-orphanfix{margin: 1.5rem 0;}.bm-clusternav > h2, .bm-orphanfix > h2{margin: 0 0 1rem;}.bm-clusternav ul, .bm-orphanfix ul{list-style: none;padding: 0;margin: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));gap: .65rem;}.bm-clusternav li, .bm-orphanfix li{margin: 0;padding: 0;}.bm-clusternav li::before, .bm-orphanfix li::before{content: none;}.bm-clusternav li a, .bm-orphanfix li a{display: flex;align-items: center;justify-content: space-between;gap: .5rem;padding: .72rem 1rem;min-height: 48px;border: 1px solid var(--rc-border, #e5e7eb);border-radius: 10px;background: #fff;color: var(--rc-primary, #1F2D5C);font-weight: 600;line-height: 1.25;text-decoration: none;transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;}.bm-clusternav li a::after, .bm-orphanfix li a::after{content: "\203A";color: var(--blue, #EA580C);font-size: 1.3rem;line-height: 1;flex: none;}.bm-clusternav li a:hover, .bm-orphanfix li a:hover{border-color: var(--blue, #EA580C);box-shadow: 0 4px 14px rgba(0,0,0,.08);transform: translateY(-1px);}@media (max-width: 600px){.bm-clusternav ul, .bm-orphanfix ul{grid-template-columns: 1fr;}}
/* roofcraft-section-reviews */
.reviews{padding: 80px 0 100px 0;}.reviews h2{font-family: var(--display);color: var(--ink);margin-bottom:30px}.reviews .eyebrow{color: var(--blue);}.reviews .lede{color: var(--muted);}.review-stats{display: grid;grid-template-columns: repeat(2, 1fr);gap: 20px;margin-bottom: 48px;text-align: center;}@media (max-width: 540px){.review-stats{grid-template-columns: 1fr;}}.review-stats .stat{padding: 24px;background: linear-gradient(135deg, #212b55 0%, #005770 100%);border: 1px solid var(--line);border-radius: var(--r);}.review-stats .num{font-family: var(--display);font-size: 38px;font-weight: 800;color: #fff;line-height: 1;}.review-stats .label{margin-top: 8px;font-size: 13px;color: #fff;}.review-grid{display: grid;grid-template-columns: repeat(3, 1fr);gap: 20px;}@media (max-width: 767px){.reviews{padding: 50px 0 70px;}}@media (max-width: 980px){.review-grid{grid-template-columns: repeat(2, 1fr);}}@media (max-width: 640px){.review-grid{grid-template-columns: 1fr;}}.review-card{background: var(--card);border: 1px solid var(--line);border-radius: var(--r);padding: 24px;box-shadow: var(--sh-sm);}.review-card .rstars{color: var(--blue);letter-spacing: 2px;margin-bottom: 10px;font-size: 1.05rem;}.review-card blockquote{font-size: .97rem;line-height: 1.65;color: var(--ink);margin-bottom: 14px;}.review-card .meta{display: flex;align-items: center;gap: 10px;font-size: .86rem;color: var(--muted);}.review-card .meta strong{color: var(--ink);font-weight: 700;display: block;}.review-card .src-tag{margin-left: auto;background: var(--blue-l);color: var(--blue-d);padding: 2px 10px;border-radius: var(--r-sm);font-size: 10px;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;}
/* roofcraft-section-roof-lifecycle */
.roof-lifecycle .rl-head{max-width: 700px;margin-bottom: 26px;}.roof-lifecycle .rl-head .eyebrow{display: inline-flex;}.roof-lifecycle .rl-head h2{margin-bottom: 8px;}.roof-lifecycle .rl-head .lede{margin: 0;}.roof-lifecycle .tl{position: relative;display: grid;grid-template-columns: repeat(4, 1fr);gap: 18px;margin-top: 48px;margin-bottom: 10px;}.roof-lifecycle .tl::before{content: "";position: absolute;left: 8%;right: 8%;top: 25%;height: 4px;border-radius: 9px;background: linear-gradient(90deg, var(--blue), var(--green), var(--amber));}.roof-lifecycle .ph2{text-align: center;position: relative;}.roof-lifecycle .ph2 .d{width: 80px;height: 80px;border-radius: 50%;background: #fff;;margin: 0 auto 14px;display: grid;place-items: center;font-weight: 800;color: var(--blue-d);font-size: .76rem;font-family: var(--display);box-shadow: var(--sh-sm);position: relative;z-index: 1;}.roof-lifecycle .ph2.act .d{background: linear-gradient(135deg, #212b55 0%, #005770 100%);color: #fff;transform: scale(1.2);}.roof-lifecycle .ph2 b{display: block;font-size: 1rem;color: var(--ink);font-family: var(--display);}.roof-lifecycle .ph2 small{color: var(--muted);font-size: .84rem;}@media (max-width: 780px){.roof-lifecycle .tl{display: grid;grid-template-columns: repeat(2, 1fr);gap: 12px;}.roof-lifecycle .tl::before{display: none;}}
/* roofcraft-section-faq */
.faq{background: var(--surface);padding: 80px 0 100px;}.faq-grid{display: grid;grid-template-columns: 1fr 1.6fr;gap: 56px;align-items: start;}@media (max-width: 767px){.faq{padding: 50px 0 70px;}}@media (max-width: 880px){.faq-grid{grid-template-columns: 1fr;gap: 32px;}}.faq-intro .eyebrow{font-size: .7rem;font-weight: 700;letter-spacing: .08em;text-transform: uppercase;color: var(--blue);}.faq-intro h2{font-family: var(--display);color: var(--ink);margin-bottom: 14px;}.faq-intro .lede{color: var(--muted);margin-bottom: 32px;}.faq-cta{background: var(--navy);color: #fff;padding: 24px 26px;border-radius: var(--r);margin-top: 8px;box-shadow: var(--sh-sm);}.faq-cta h3, .faq-cta .faq-cta__title{font-family: var(--display);color: #fff;margin-bottom: 8px;font-size: 18px;}.faq-cta p{color: var(--blue-l);font-size: 13.5px;margin-bottom: 16px;}.faq-list{display: flex;flex-direction: column;gap: 10px;}.faq-item{background: var(--card);border: 1px solid var(--line);border-radius: var(--r-sm);box-shadow: var(--sh-sm);transition: border-color .25s ease, box-shadow .25s ease;overflow: hidden;}.faq-item:hover, .faq-item.active{border-color: var(--blue);}.faq-question{width: 100%;background: transparent;border: 0;padding: 20px;cursor: pointer;display: flex;justify-content: space-between;align-items: center;gap: 20px;font-family: var(--display);font-size: 15.5px;font-weight: 600;color: var(--ink);text-align: left;}.faq-question:focus-visible{outline: 2px solid var(--blue);outline-offset: -2px;}.faq-question::after{content: "+";color: var(--blue);font-size: 26px;font-weight: 600;transition: transform .3s ease;flex-shrink: 0;}.faq-item.active .faq-question::after{transform: rotate(45deg);}.faq-answer{max-height: 0;overflow: hidden;transition: max-height .45s ease;}.faq-answer-inner{padding: 0 20px 20px;}.faq-answer p{margin: 0 0 16px;color: var(--muted);line-height: 1.7;}.faq-answer p:last-child{margin-bottom: 0;}.faq-answer ul, .faq-answer ol{margin: 0 0 16px 20px;}.faq-answer li{margin-bottom: 8px;color: var(--muted);}.faq-item.active{box-shadow: 0 10px 24px rgba(0,0,0,.08);}
/* roofcraft-section-lead-magnet */
.lead-magnet{padding: 70px 0;}.lm-grid{display: grid;grid-template-columns: 1.1fr .9fr;gap: 30px;align-items: center;background: var(--navy);color: #fff;border-radius: 24px;padding: 34px;overflow: hidden;}@media (max-width: 767px){.lead-magnet{padding:0;}.lead-magnet > .container{padding:0;}.lm-grid{border-radius:0;padding:50px 26px 70px}}@media (max-width: 880px){.lm-grid{grid-template-columns: 1fr;gap: 24px;}}.lm-left .eyebrow{color: var(--blue);}.lm-left h2{font-family: var(--display);color: #fff;font-size: 36px;margin-bottom: 18px;}.lm-left p{color: #c6d6f0;font-size: 1rem;margin-bottom: 0;}.lm-bullets{list-style: none;margin: 14px 0 0;padding: 0;display: grid;gap: 8px;}.lm-bullets li{display: flex;gap: 9px;align-items: flex-start;color: #dbe7fb;font-size: .92rem;padding: 0;position: relative;}.lm-bullets li::before{content: '✓';color: var(--blue);font-weight: 700;font-size: 1rem;line-height: 1.4;flex: none;}.lm-form{background: var(--card);border-radius: var(--r);padding: 22px;box-shadow: var(--sh);}.lm-form h3{font-family: var(--display);color: var(--ink);margin-bottom: 12px;}.lm-form input, .lm-form select, .lm-form textarea{width: 100%;border: 1px solid var(--line);border-radius: 10px;padding: 11px 13px;font: inherit;margin-bottom: 10px;background: #fff;color: var(--ink);}.lm-form textarea{min-height: 110px;resize: vertical;}.lm-form input:focus, .lm-form select:focus, .lm-form textarea:focus{outline: none;border-color: var(--blue);box-shadow: 0 0 0 3px var(--blue-l);}.lm-form input[type="submit"], .lm-form button[type="submit"], .lm-form .wpcf7-submit, .lm-form .btn-green{width: 100%;margin-bottom: 0;background: var(--green);color: #fff;border: none;border-radius: 10px;padding: 13px 16px;font-family: var(--display);font-weight: 600;font-size: 1rem;cursor: pointer;transition: background .15s ease;text-transform:capitalize;}.lm-form input[type="submit"]:hover, .lm-form button[type="submit"]:hover, .lm-form .wpcf7-submit:hover, .lm-form .btn-green:hover{background: var(--blue-d);}.lm-form .privacy{font-size: .72rem;color: var(--muted);margin-top: 14px;line-height: 1.5;}
/* roofcraft-section-image-gallery */
.image-gallery{position: relative;overflow: hidden;padding: 80px 0 100px 0;background: var(--card);}.image-gallery::after{content: "";position: absolute;right: 0;bottom: 0;width: 380px;height: 380px;background: url("/wp-content/themes/roofcraft/assets/img/watermerk-onder.svg") no-repeat right bottom;background-size: contain;pointer-events: none;z-index: 0;}.image-gallery > .container{position: relative;z-index: 1;}.image-gallery-masonry{background: var(--surface);}.image-gallery-header{max-width: 760px;margin-bottom: 36px;}.image-gallery-header .eyebrow{display: inline-block;font-family: var(--font);font-weight: 700;font-size: 13px;letter-spacing: 0.08em;text-transform: uppercase;color: var(--blue);}.image-gallery-header h2{font-family: var(--display);font-weight: 700;font-size: 32px;line-height: 1.18;color: var(--ink);margin: 0 0 12px;}.image-gallery-intro{font-family: var(--font);font-size: 16px;line-height: 1.65;color: var(--muted);}.ig-filter{display: flex;flex-wrap: wrap;gap: 8px;margin-bottom: 22px;}.ig-chip{border: 1px solid var(--line);background: var(--card);color: var(--muted);padding: 7px 16px;border-radius: 999px;font-family: var(--font);font-weight: 600;font-size: 13px;cursor: pointer;transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;}.ig-chip:hover{border-color: var(--blue);color: var(--ink);}.ig-chip.is-active{background: var(--blue);color: #fff;border-color: var(--blue);}.ig-masonry{display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;}.ig-tile{position: relative;margin: 0;overflow: hidden;border-radius: 5px;aspect-ratio: 16 / 10;background: #13315c;cursor: zoom-in;box-shadow: var(--sh-sm);transition: transform 0.25s ease, box-shadow 0.25s ease;}.ig-tile.ig-span-2{grid-row: auto;}.ig-tile:hover{transform: translateY(-2px);box-shadow: var(--sh);}.ig-tile:focus-visible{outline: 3px solid var(--blue);outline-offset: 2px;}.ig-tile img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.4s ease;}.ig-tile:hover img{transform: scale(1.06);}.ig-tile-caption{position: absolute;left: 0;right: 0;bottom: 0;padding: 30px 16px 14px;background: linear-gradient(transparent, rgba(8, 18, 38, 0.9));color: #fff;display: flex;flex-direction: column;gap: 2px;}.ig-tile-cat{align-self: flex-start;background: var(--blue);color: #fff;font-family: var(--font);font-size: 0.64rem;font-weight: 700;letter-spacing: 0.05em;text-transform: uppercase;padding: 3px 9px;border-radius: 999px;margin-bottom: 7px;}.ig-tile-title{font-family: var(--display);font-weight: 700;font-size: 0.95rem;color: #fff;}.ig-tile-sub{font-family: var(--font);font-size: 0.86rem;font-weight: 600;color: #cdd7e6;}.ig-tile[hidden]{display: none;}@media (max-width: 900px){.ig-masonry{grid-template-columns: repeat(2, 1fr);}}@media (max-width: 560px){.ig-masonry{grid-template-columns: 1fr;}}.ig-swiper-wrap{position: relative;}.ig-swiper{display: grid;grid-auto-flow: column;grid-auto-columns: 360px;gap: 18px;overflow-x: auto;overflow-y: hidden;scroll-snap-type: x mandatory;scrollbar-width: none;-ms-overflow-style: none;padding-bottom: 8px;scroll-padding-left: 0;}.ig-swiper::-webkit-scrollbar{display: none;}.ig-swiper:focus-visible{outline: 3px solid var(--blue);outline-offset: 4px;border-radius: 4px;}.ig-card{margin: 0;scroll-snap-align: start;display: flex;flex-direction: column;gap: 12px;}.ig-card-frame{aspect-ratio: 16 / 10;border-radius: 14px;overflow: hidden;background: #13315c;box-shadow: var(--sh-sm);}.ig-card-frame img{width: 100%;height: 100%;object-fit: cover;display: block;transition: transform 0.4s ease;}.ig-card:hover .ig-card-frame img{transform: scale(1.06);}.ig-card-caption{display: flex;flex-direction: column;gap: 2px;padding: 0 4px;}.ig-card-title{font-family: var(--display);font-weight: 700;font-size: 15px;color: var(--ink);}.ig-card-sub{font-family: var(--font);font-size: 13px;color: var(--muted);}.ig-swiper-progress{margin-top: 14px;height: 4px;background: var(--line);border-radius: 999px;overflow: hidden;}.ig-swiper-bar{display: block;height: 100%;width: 30%;background: var(--blue);border-radius: inherit;transform-origin: left;transition: width 0.18s ease;}.ig-swiper-arrow{position: absolute;top: calc(50% - 28px);transform: translateY(-50%);width: 44px;height: 44px;border-radius: 50%;border: 1px solid var(--line);background: rgba(255, 255, 255, 0.96);color: var(--navy);display: flex;align-items: center;justify-content: center;cursor: pointer;box-shadow: var(--sh);z-index: 3;opacity: 0;transition: opacity 0.18s ease, background 0.18s ease, color 0.18s ease;}.ig-swiper-prev{left: -8px;}.ig-swiper-next{right: -8px;}.ig-swiper-wrap:hover .ig-swiper-arrow{opacity: 1;}.ig-swiper-arrow:hover{background: var(--blue);color: #fff;border-color: var(--blue);}.ig-swiper-arrow:focus-visible{opacity: 1;outline: 3px solid var(--blue);outline-offset: 2px;}@media (max-width:768px){.image-gallery::after{width:250px;height:250px;}.image-gallery{padding: 50px 0 70px 0;}}@media (max-width: 720px){.ig-swiper{grid-auto-columns: 78vw;gap: 14px;}.ig-swiper-arrow{display: none;}}.ig-baw-list{display: flex;flex-direction: column;gap: 36px;}.ig-baw-frame{position: relative;aspect-ratio: 16 / 9;border-radius: var(--r);overflow: hidden;background: #13315c;box-shadow: var(--sh);user-select: none;touch-action: pan-y;}.ig-baw-frame img{position: absolute;inset: 0;width: 100%;height: 100%;object-fit: cover;display: block;pointer-events: none;}.ig-baw-after-clip{position: absolute;inset: 0;width: 50%;overflow: hidden;will-change: width;}.ig-baw-after-clip img{width: calc(100% * (100 / var(--ig-baw-clip, 50)));max-width: none;}.ig-baw-label{position: absolute;top: 14px;padding: 5px 12px;background: rgba(8, 18, 38, 0.85);color: #fff;font-family: var(--font);font-weight: 700;font-size: 11.5px;letter-spacing: 0.06em;text-transform: uppercase;border-radius: 999px;pointer-events: none;z-index: 2;}.ig-baw-label-before{left: 14px;}.ig-baw-label-after{right: 14px;background: var(--blue);}.ig-baw-handle{position: absolute;top: 0;left: 50%;height: 100%;width: 44px;transform: translateX(-50%);background: transparent;border: 0;padding: 0;cursor: ew-resize;z-index: 3;display: flex;align-items: center;justify-content: center;}.ig-baw-handle-line{position: absolute;top: 0;bottom: 0;left: 50%;width: 3px;transform: translateX(-50%);background: #fff;box-shadow: 0 0 0 1px rgba(8, 18, 38, 0.18);}.ig-baw-handle-knob{position: relative;width: 44px;height: 44px;border-radius: 50%;background: #fff;color: var(--blue);box-shadow: 0 4px 12px rgba(8, 18, 38, 0.25);display: flex;align-items: center;justify-content: center;}.ig-baw-handle:focus-visible{outline: 3px solid var(--blue);outline-offset: 2px;}.ig-baw-caption{margin-top: 12px;font-family: var(--font);font-size: 14px;color: var(--muted);text-align: center;}.ig-lightbox{position: fixed;inset: 0;background: rgba(8, 18, 38, 0.94);display: none;align-items: center;justify-content: center;z-index: 9999;padding: 40px;}.ig-lightbox.is-open{display: flex;}.ig-lightbox-figure{margin: 0;max-width: min(1200px, 100%);max-height: 100%;display: flex;flex-direction: column;align-items: center;gap: 14px;}.ig-lightbox img{max-width: 100%;max-height: 78vh;object-fit: contain;border-radius: 6px;box-shadow: var(--sh-lg);}.ig-lightbox-caption{color: #cdd7e6;text-align: center;font-family: var(--font);font-size: 14px;line-height: 1.5;}.ig-lightbox-caption strong{color: #fff;font-weight: 700;display: block;font-family: var(--display);font-size: 16px;margin-bottom: 2px;}.ig-lightbox-close, .ig-lightbox-nav{position: absolute;background: rgba(255, 255, 255, 0.1);color: #fff;border: 1px solid rgba(255, 255, 255, 0.2);width: 44px;height: 44px;border-radius: 50%;cursor: pointer;display: flex;align-items: center;justify-content: center;font-size: 22px;line-height: 1;transition: background 0.18s ease;}.ig-lightbox-close:hover, .ig-lightbox-nav:hover{background: var(--blue);border-color: var(--blue);}.ig-lightbox-close{top: 24px;right: 24px;}.ig-lightbox-prev{left: 24px;}.ig-lightbox-next{right: 24px;}.ig-lightbox-prev, .ig-lightbox-next{top: calc(50% - 22px);}@media (prefers-reduced-motion: reduce){.ig-tile, .ig-tile img, .ig-card-frame img, .ig-tile-caption, .ig-swiper-bar{transition: none;}}
/* roofcraft-section-final-cta */
.final-cta{padding: 90px 0;}.final-cta .container{position: relative;overflow: hidden;background: var(--navy);color: #fff;border-radius: 24px;padding: 56px;text-align: center;box-shadow: var(--sh-lg);}.final-cta .container > *{position: relative;z-index: 2;}.final-cta h2{color: #fff;font-family: var(--display);font-size: clamp(1.8rem, 3vw, 2.5rem);margin-bottom: 22px;}.final-cta p{color: #cfe0f7;font-size: 1.1rem;max-width: 54ch;margin: 2px auto 26px;}.final-cta .cta-row{display: flex;gap: 14px;justify-content: center;flex-wrap: wrap;}@media (max-width: 980px){.final-cta{padding: 56px 0;}.final-cta .container{padding: 38px 22px;margin:0 26px;}.final-cta .cta-row{width: 100%;}}
/* roofcraft-forms */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select{width: 100%;padding: 13px 16px;border: 1px solid var(--line);border-radius: var(--radius-sm);font: inherit;font-size: 14px;margin-bottom: 12px;background: white;}.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus{outline: none;border-color: var(--blue);box-shadow: 0 0 0 3px rgba(37,99,235,.12);}.wpcf7 .wpcf7-submit{display: inline-flex;align-items: center;gap: 8px;padding: 13px 22px;background: var(--green);color: white;border-radius: 999px;font-weight: 700;font-family: var(--display);font-size: 14.5px;cursor: pointer;}.wpcf7 .wpcf7-submit:hover{background: var(--green-d);}.wpcf7-not-valid{border-color: var(--emergency) !important;}.wpcf7-response-output{border-radius: var(--radius-sm);padding: 12px 16px;}
