/* Kloof Roofing & Waterproofing: "after the storm". DM Serif Display with DM Sans, a pinned hero where the rain stops
   and the sun comes out as you scroll, a house you tap to find the leak, a mosaic gallery and a signed guarantee. */
@font-face{font-family:"DM Serif Display";src:url(/demos/kit/fonts/dmserif-normal-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"DM Serif Display";src:url(/demos/kit/fonts/dmserif-italic-400.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"DM Sans";src:url(/demos/kit/fonts/dmsans-normal-400_700.woff2) format("woff2");font-weight:400 700;font-display:swap}
.d-roofing{--k-ink:#1f2a33;--k-paper:#f6f1e8;--k-accent:#c4573a;--k-accent-ink:#fff;--k-radius:10px;--k-font:"DM Sans",system-ui,sans-serif;--k-mono:ui-monospace,"SF Mono",Menlo,monospace;--water:#2f7f9c;--line:rgb(31 42 51/.12);--mut:#5d6872;
  background:#f6f1e8;color:#1f2a33;font:400 17px/1.6 var(--k-font)}
.d-roofing h1,.d-roofing h2,.d-roofing h3{margin:0;font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.015em;line-height:.98}
.d-roofing em{font-style:italic;color:#c4573a}
.d-roofing .k-loader{background:#23303b}.d-roofing .k-loader path{stroke:#f6f1e8;fill:none}.d-roofing .k-loader.filled path{fill:none;stroke:#f2b84b}
.kr-kicker,.kr-lab{margin:0 0 14px;font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#c4573a}
.kr-lab{margin-top:26px;color:var(--mut)}
.kr-head{position:sticky;top:38px;z-index:50;display:flex;align-items:center;gap:26px;padding:14px 4vw;background:rgb(246 241 232/.95);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}
.in-frame .kr-head{top:0}
.kr-logo{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:10px;font:400 30px/1 "DM Serif Display",serif;text-decoration:none}
.kr-logo svg{grid-row:span 2;width:40px;fill:none;stroke:#c4573a;stroke-width:3.5;stroke-linecap:round;stroke-linejoin:round}
.kr-logo small{font:700 9.5px/1.4 var(--k-font);letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.kr-nav{display:flex;gap:26px;margin-left:auto}
.kr-nav a{text-decoration:none;font-weight:500}
.kr-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border:0;border-radius:10px;background:#c4573a;color:#fff;font-weight:700;text-decoration:none;transition:background .2s,transform .2s}
.kr-btn:hover{background:#1f2a33;transform:translateY(-2px)}
.kr-btn-big{min-height:58px;padding:0 28px;font-size:18px}
.kr-link{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:5px}

/* the storm: --p goes 0 -> 1 as the pinned hero scrolls */
.kr-hero{--p:0;position:relative}
.kr-pin{position:relative;display:grid;align-items:center;min-height:calc(100svh - 110px);padding:8vh 4vw;overflow:hidden;isolation:isolate;color:#f6f1e8;transition:color .45s}
.kr-hero.is-clear .kr-pin{color:#1f2a33}
.kr-sky{position:absolute;inset:0;z-index:-4;background:linear-gradient(180deg,color-mix(in srgb,#1b2630 calc((1 - var(--q,0)) * 100%),#a9d3e6),color-mix(in srgb,#3a4a57 calc((1 - var(--q,0)) * 100%),#f6f1e8))}
.kr-sun{position:absolute;right:4vw;top:50%;z-index:-3;width:min(46vw,640px);aspect-ratio:1;border-radius:50%;overflow:hidden;transform:translateY(-50%);clip-path:circle(calc(8% + var(--p) * 42%) at 50% 50%);filter:saturate(calc(.2 + var(--p) * .8)) brightness(calc(.55 + var(--p) * .45));box-shadow:0 0 0 0 #f2b84b}
.kr-sun img{width:100%;height:100%;object-fit:cover}
.kr-rain{position:absolute;inset:0;z-index:-2;width:100%;height:100%;pointer-events:none;opacity:calc(1 - var(--p) * 1.3)}
.kr-flash{position:absolute;inset:0;z-index:-1;background:#e8f1ff;opacity:0;pointer-events:none}
.kr-flash.on{animation:kr-flash .5s ease-out}
@keyframes kr-flash{0%{opacity:.55}15%{opacity:.05}25%{opacity:.4}100%{opacity:0}}
.kr-hero-copy{max-width:min(640px,52vw)}
.kr-hero h1{display:grid;font-size:clamp(60px,8.5vw,140px)}
.kr-hero h1 span{grid-area:1/1;transition:opacity .3s}
.kr-h-a{opacity:calc(1 - var(--p) * 2.4)}
.kr-h-b{opacity:calc(var(--p) * 2.4 - .9)}
.kr-hero .kr-kicker{color:#f2b84b;transition:color .45s}
.kr-hero.is-clear .kr-kicker{color:#c4573a}
.kr-lede{max-width:46ch;margin:22px 0 28px;font-size:19px;opacity:.88}
.kr-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:22px}
.kr-scroll{position:absolute;left:4vw;bottom:24px;margin:0;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;opacity:.7}

.kr-leak,.kr-work,.kr-quote,.kr-faq{padding:14vh 4vw}
.kr-sec-head{max-width:780px;margin-bottom:40px}
.kr-sec-head h2,.kr-inspect h2,.kr-faq h2{font-size:clamp(48px,6.4vw,104px)}
.kr-sec-head>p:last-child{color:var(--mut)}
.kr-leak-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:4vw;align-items:start}
.kr-house{position:relative;border-radius:24px;overflow:hidden;background:#dfeaf0}
.kr-house svg{display:block;width:100%}
.kr-house .sky{fill:#dfeaf0}.kr-house .wall{fill:#fffaf2;stroke:#1f2a33;stroke-width:3}.kr-house .roof{fill:#c4573a;stroke:#1f2a33;stroke-width:3;stroke-linejoin:round}
.kr-house .tiles{stroke:#8f3a24;stroke-width:3;fill:none}.kr-house .chim{fill:#a5452b;stroke:#1f2a33;stroke-width:3}.kr-house .flat{fill:#5d6872;stroke:#1f2a33;stroke-width:3}
.kr-house .gut,.kr-house .pipe{fill:#9aa6af;stroke:#1f2a33;stroke-width:2}.kr-house .win{fill:#a9d3e6;stroke:#1f2a33;stroke-width:3}.kr-house .door{fill:#1f2a33}.kr-house .sky-l{fill:#a9d3e6;stroke:#1f2a33;stroke-width:2.5}.kr-house .ground{fill:#7d9a64}
.kr-spot{position:absolute;left:var(--x);top:var(--y);display:grid;place-items:center;width:34px;height:34px;margin:-17px;padding:0;border:3px solid #fff;border-radius:50%;background:var(--water);box-shadow:0 0 0 0 rgb(47 127 156/.6);animation:kr-ping 2s infinite}
.kr-spot span{position:absolute;bottom:calc(100% + 8px);left:50%;padding:4px 10px;border-radius:8px;background:#1f2a33;color:#fff;font-size:13px;font-weight:600;white-space:nowrap;transform:translateX(-50%) scale(.9);opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}
.kr-spot:hover span,.kr-spot:focus-visible span,.kr-spot[aria-pressed="true"] span{opacity:1;transform:translateX(-50%) scale(1)}
.kr-spot[aria-pressed="true"]{background:#c4573a;animation:none;box-shadow:0 0 0 6px rgb(196 87 58/.25)}
@keyframes kr-ping{70%{box-shadow:0 0 0 14px rgb(47 127 156/0)}100%{box-shadow:0 0 0 0 rgb(47 127 156/0)}}
.kr-cause h3{font-size:clamp(34px,3.4vw,52px);margin-bottom:16px}
.kr-cause dl{display:grid;gap:4px;margin:0 0 22px}
.kr-cause dt{margin-top:10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mut)}
.kr-cause dd{margin:0}
.kr-cause dd[data-c-p]{font:400 30px/1.1 "DM Serif Display",serif;color:#c4573a}
.kr-drop{min-height:140px;background:#fffaf2}

.kr-gallery{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:clamp(150px,15vw,230px);gap:12px}
.kr-gallery figure{position:relative;margin:0;border-radius:16px;overflow:hidden}
.kr-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.kr-gallery figure:hover img{transform:scale(1.05)}
.kr-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 16px 14px;background:linear-gradient(transparent,rgb(15 22 28/.85));color:#f6f1e8;font-size:14px}
.kr-gallery figcaption b{display:block;font:400 26px/1.05 "DM Serif Display",serif}
.kr-g1{grid-column:span 3;grid-row:span 2}.kr-g2{grid-column:span 3}.kr-g3{grid-column:span 2;grid-row:span 2}.kr-g4{grid-column:span 1}.kr-g5{grid-column:span 3}.kr-g6{grid-column:span 3}

.kr-sentence{background:#23303b;color:#f6f1e8}
.kr-sentence .k-sentence-line{font-family:"DM Serif Display",serif;letter-spacing:-.02em}
.kr-sentence .mark{font-style:italic;color:#f2b84b}

.kr-q-grid{display:grid;grid-template-columns:1fr 1fr;gap:4vw;align-items:start}
.kr-size{display:grid;grid-template-columns:1fr auto;gap:8px;font-weight:700}
.kr-size output{font:400 40px/1 "DM Serif Display",serif}
.kr-size input{grid-column:1/-1;accent-color:#c4573a}
.kr-chips{display:flex;flex-wrap:wrap;gap:8px}
.kr-chips button{min-height:46px;padding:0 18px;border:1.5px solid var(--line);border-radius:10px;background:#fffaf2;font-weight:600;transition:background .2s,border-color .2s}
.kr-chips button[aria-pressed="true"]{border-color:#1f2a33;background:#1f2a33;color:#f6f1e8}
.kr-range{display:grid;margin:26px 0 20px;padding:18px 0;border-block:1px solid #1f2a33}
.kr-range small{color:var(--mut);font-weight:600}
.kr-range b{font:400 clamp(40px,4.4vw,66px)/1.05 "DM Serif Display",serif}

.kr-promise{position:relative;display:grid;place-items:center end;min-height:90svh;padding:10vh 6vw;overflow:hidden;isolation:isolate}
.kr-promise>img{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover}
.kr-promise-card{max-width:520px;padding:36px;border-radius:24px;background:#f6f1e8;box-shadow:0 40px 80px -40px rgb(0 0 0/.6)}
.kr-foil{margin-bottom:20px;padding:14px 22px;border-radius:99px;font-size:16px;letter-spacing:.06em;text-transform:uppercase}
.kr-promise-card h2{font-size:clamp(38px,3.6vw,56px);margin-bottom:12px}
.kr-promise-card>p{color:var(--mut)}
.kr-sign{width:min(280px,70%);color:#1f2a33}
.kr-sig{margin:2px 0 0;font-weight:700;font-size:14px}

.kr-inspect{display:grid;grid-template-columns:1fr 1fr;gap:4vw;padding:14vh 4vw;background:#23303b;color:#f6f1e8}
.kr-inspect>div>p:not(.kr-kicker):not(.kr-lab){color:#c7d0d6}
.kr-inspect .kr-lab{color:#9fb0bc}
.kr-inspect .k-fade-list{max-height:200px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px;max-width:440px}
.kr-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.kr-form label{display:grid;gap:6px;font-size:13px;font-weight:700;color:#c7d0d6}
.kr-form input,.kr-form select{min-height:54px;padding:0 14px;border:1.5px solid rgb(246 241 232/.2);border-radius:10px;background:rgb(255 255 255/.06);color:#f6f1e8;font:500 16px var(--k-font)}
.kr-form select option{color:#1f2a33}
.kr-submit{grid-column:1/-1;justify-self:start}
.kr-ticket{margin-top:22px;--k-ticket:#f2b84b}

.kr-faq h2{margin-bottom:24px}
.kr-faq details{max-width:880px;border-bottom:1px solid var(--line)}
.kr-faq summary{padding:22px 0;font:400 28px/1.15 "DM Serif Display",serif;cursor:pointer}
.kr-faq summary::marker{color:#c4573a}
.kr-faq details p{margin:0 0 22px;color:var(--mut)}
.d-roofing .k-fiction{background:#1f2a33;color:#c7d0d6}

@media (max-width:980px){
  .kr-nav{display:none}.kr-head .kr-btn{margin-left:auto}
  .kr-hero-copy{max-width:none}
  .kr-sun{right:-20vw;top:auto;bottom:-10vw;width:80vw;transform:none}
  .kr-leak-grid,.kr-q-grid,.kr-inspect{grid-template-columns:1fr}
  .kr-gallery{grid-template-columns:1fr 1fr;grid-auto-rows:44vw}
  .kr-gallery figure{grid-column:span 1!important;grid-row:span 1!important}
  .kr-g1{grid-column:span 2!important}
  .kr-promise{place-items:end center}
}
@media (max-width:560px){.kr-form{grid-template-columns:1fr}.kr-logo{font-size:24px}.kr-logo small{display:none}.kr-head .kr-btn{min-height:44px;padding:0 14px;font-size:14px}.kr-spot span{font-size:11px}}
