/* Nikola - client review 2026-09-19 (Luke call). Loaded after every other sheet. */
/* breadcrumb: kept for assistive tech + schema parity, off the visual page */
.nk-bc{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
/* "In short" summary folds to one quiet line the visitor can open */
.nk-fold{padding-top:.35rem!important;padding-bottom:.35rem!important}
.nk-fold details.nk-answer-card{background:transparent!important;border:0!important;box-shadow:none!important;padding:.25rem 0!important;max-width:60rem;margin:0 auto}
.nk-fold summary.nk-answer-k{cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;list-style:none;opacity:.55;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.nk-fold summary.nk-answer-k::-webkit-details-marker{display:none}
.nk-fold summary.nk-answer-k::after{content:"+";font-size:.95rem;line-height:1}
.nk-fold details[open] summary.nk-answer-k::after{content:"\2212"}
.nk-fold details[open] summary.nk-answer-k{opacity:.9;margin-bottom:.5rem}
/* process cards: no white. glass card, white type */
.bb-step{background:rgba(255,255,255,.05)!important;color:#fff!important;border:1px solid rgba(255,255,255,.14);box-shadow:none!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bb-step h3{color:#fff!important}
.bb-step p{color:rgba(255,255,255,.78)!important}
@media (max-width:767px){
 .bb-steps,.bb-steps.bb-steps-4{display:flex!important;grid-template-columns:none!important;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:.9rem!important;padding:0 1rem 1rem!important;margin:0 -1rem!important;scrollbar-width:thin;scrollbar-color:hsl(var(--primary)) transparent}
 .bb-steps>.bb-step{flex:0 0 82%;scroll-snap-align:center}
 .bb-steps::-webkit-scrollbar{height:4px}.bb-steps::-webkit-scrollbar-thumb{background:hsl(var(--primary));border-radius:4px}
}
/* closing call button: no white */
.bb-call{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.35)!important;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.bb-call:hover{background:rgba(255,255,255,.18)!important}
/* Jobber request popup */
#nk-jb{display:none;position:fixed;inset:0;z-index:10000;background:rgba(6,8,12,.78);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:1rem}
#nk-jb.on{display:flex}
.nk-jb-box{position:relative;width:min(760px,100%);height:min(92vh,1100px);background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6)}
.nk-jb-box iframe{width:100%;height:100%;border:0;display:block}
.nk-jb-x{position:absolute;top:.5rem;right:.6rem;z-index:2;width:2.4rem;height:2.4rem;border-radius:999px;border:0;background:#12151b;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer}
html.nk-jb-lock,html.nk-jb-lock body{overflow:hidden}
/* Christmas video slides: visible play button */
.nk-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;width:4.2rem;height:4.2rem;border-radius:999px;border:2px solid rgba(255,255,255,.85);background:rgba(12,14,18,.55);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:transform .2s,background .2s}
.nk-play:hover{background:hsl(var(--primary));transform:translate(-50%,-50%) scale(1.06)}
.nk-play svg{margin-left:3px}
.nk-play.off{display:none}
/* gallery page */
.nk-gal{columns:3 20rem;column-gap:1rem}
.nk-gal-i{display:block;margin:0 0 1rem;break-inside:avoid;border-radius:.9rem;overflow:hidden;border:1px solid rgba(255,255,255,.08)}
.nk-gal-i img{display:block;width:100%;height:auto;transition:transform .35s}
.nk-gal-i:hover img{transform:scale(1.03)}
/* hero background word (per-page identity) - sits at the TOP of the hero, behind the content */
section.nk-herosec[data-nk-word]::after{content:attr(data-nk-word);position:absolute;left:50%;top:9.4rem;transform:translateX(-50%);z-index:1;pointer-events:none;white-space:nowrap;text-transform:uppercase;font-family:"Playfair Display",Georgia,serif;font-weight:700;font-size:clamp(2rem,min(12.5vw,calc(118vw / var(--nk-wl,8))),12.5rem);line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.14)}
@media (max-width:1023px){section.nk-herosec[data-nk-word]::after{top:7.4rem;-webkit-text-stroke:1px rgba(255,255,255,.11)}}
@media (min-width:1024px){section.nk-herosec[data-nk-word]::after{left:3.2vw;transform:none;top:8.9rem;font-size:clamp(2.6rem,min(9.5vw,calc(60vw / var(--nk-wl,8))),11rem)}}
@media (max-width:1023px){section.nk-herosec[data-nk-word]{padding-top:9.6rem!important}section.nk-herosec[data-nk-word]::after{top:6.9rem}}
/* permanent page: occasion cards show the colour scheme on a roofline strip instead of an empty photo slot */
.nk-occ{position:relative;background:linear-gradient(180deg,#0b0e14 0%,#141a26 100%);overflow:hidden}
.nk-occ-roof{position:absolute;left:-5%;right:-5%;top:36%;height:50%;background:#090b10;clip-path:polygon(0 40%,50% 0,100% 40%,100% 100%,0 100%)}
.nk-occ-dots{position:absolute;left:3%;right:3%;top:31%;height:30%;display:flex;justify-content:space-between;align-items:flex-start}
.nk-occ-dots i{display:block;width:.55rem;height:.55rem;border-radius:999px;background:var(--c);box-shadow:0 0 10px 3px var(--c),0 16px 28px 8px color-mix(in srgb,var(--c) 30%,transparent)}
.nk-occ-dots i:nth-child(1),.nk-occ-dots i:nth-child(14){margin-top:19.5%}.nk-occ-dots i:nth-child(2),.nk-occ-dots i:nth-child(13){margin-top:16.5%}.nk-occ-dots i:nth-child(3),.nk-occ-dots i:nth-child(12){margin-top:13.5%}.nk-occ-dots i:nth-child(4),.nk-occ-dots i:nth-child(11){margin-top:10.5%}.nk-occ-dots i:nth-child(5),.nk-occ-dots i:nth-child(10){margin-top:7.5%}.nk-occ-dots i:nth-child(6),.nk-occ-dots i:nth-child(9){margin-top:4.5%}.nk-occ-dots i:nth-child(7),.nk-occ-dots i:nth-child(8){margin-top:1.5%}
/* permanent pages: animated phone screen per Gemstone feature (original illustration, no app screenshots) */
.nk-scr{position:absolute;inset:0;z-index:1;overflow:hidden;background:#070910;color:#ffb35c;font-family:Montserrat,system-ui,sans-serif}
.nk-scr-sky{position:absolute;inset:0;background:radial-gradient(120% 60% at 50% 0,#1b2440 0,#0a0d17 60%,#06080d 100%)}
.nk-scr-house{position:absolute;left:-4%;right:-4%;top:30%;height:44%;background:linear-gradient(180deg,#10141f,#0b0e16);clip-path:polygon(0 30%,50% 0,100% 30%,100% 100%,0 100%)}
.nk-scr-house::after{content:"";position:absolute;left:38%;width:24%;bottom:0;height:34%;background:#1a2030;border-radius:3px 3px 0 0;box-shadow:-46px -8px 0 -6px #1a2030,46px -8px 0 -6px #1a2030}
.nk-scr-glow{position:absolute;left:0;right:0;top:34%;height:30%;background:radial-gradient(60% 100% at 50% 0,currentColor,transparent 70%);opacity:.16;transition:opacity .4s}
.nk-scr-dots{position:absolute;left:3%;right:3%;top:28.2%;display:flex;justify-content:space-between;align-items:flex-start}
.nk-scr-dots i{display:block;width:6px;height:6px;border-radius:99px;background:currentColor;box-shadow:0 0 7px 2px currentColor;transition:color .35s,opacity .35s}
.nk-scr-dots i:nth-child(1),.nk-scr-dots i:nth-child(13){margin-top:30.5%}.nk-scr-dots i:nth-child(2),.nk-scr-dots i:nth-child(12){margin-top:25.4%}.nk-scr-dots i:nth-child(3),.nk-scr-dots i:nth-child(11){margin-top:20.3%}.nk-scr-dots i:nth-child(4),.nk-scr-dots i:nth-child(10){margin-top:15.2%}.nk-scr-dots i:nth-child(5),.nk-scr-dots i:nth-child(9){margin-top:10.1%}.nk-scr-dots i:nth-child(6),.nk-scr-dots i:nth-child(8){margin-top:5%}.nk-scr-dots i:nth-child(7){margin-top:0}
.nk-scr-w{position:absolute;left:8%;right:8%;top:8%;height:17%;display:flex;align-items:center;justify-content:center;gap:5px;color:#fff;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.nk-scr-w b{font-weight:600;padding:3px 7px;border-radius:99px;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);white-space:nowrap}
.nk-scr-w b.on{background:#ff7e33;border-color:#ff7e33;color:#12151b}
/* music: equalizer + beat pulse */
.nk-eq{display:flex;align-items:flex-end;gap:4px;height:100%}.nk-eq u{display:block;width:6px;border-radius:3px;background:#ff7e33;animation:nkEq .9s ease-in-out infinite}
.nk-eq u:nth-child(2){animation-delay:.15s}.nk-eq u:nth-child(3){animation-delay:.3s}.nk-eq u:nth-child(4){animation-delay:.45s}.nk-eq u:nth-child(5){animation-delay:.2s}.nk-eq u:nth-child(6){animation-delay:.05s}
@keyframes nkEq{0%,100%{height:18%}50%{height:95%}}
[data-f=music] .nk-scr-dots i{animation:nkBeat .9s ease-in-out infinite}[data-f=music] .nk-scr-dots i:nth-child(odd){color:#ff4fd8;animation-delay:.45s}[data-f=music] .nk-scr-dots i:nth-child(even){color:#38d6ff}
@keyframes nkBeat{0%,100%{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
/* autopilot: palette changes with the calendar */
[data-f=autopilot] .nk-scr-dots i{animation:nkAuto 8s steps(1) infinite}[data-f=autopilot] .nk-scr-dots i:nth-child(even){animation-name:nkAuto2}
@keyframes nkAuto{0%{color:#e11d2e}25%{color:#ff7a1a}50%{color:#e11d2e}75%{color:#ff5fa2}}@keyframes nkAuto2{0%{color:#1fa14a}25%{color:#7b2fd6}50%{color:#2a5bd7}75%{color:#fff}}
[data-f=autopilot] .nk-scr-w b{animation:nkChip 8s steps(1) infinite}[data-f=autopilot] .nk-scr-w b:nth-child(2){animation-delay:-6s}[data-f=autopilot] .nk-scr-w b:nth-child(3){animation-delay:-4s}[data-f=autopilot] .nk-scr-w b:nth-child(4){animation-delay:-2s}
@keyframes nkChip{0%{background:#ff7e33;border-color:#ff7e33;color:#12151b}25%,100%{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff}}
/* patterns: custom 3-colour repeat + swatches */
.nk-sw{display:flex;gap:5px}.nk-sw u{display:block;width:14px;height:14px;border-radius:99px;border:2px solid rgba(255,255,255,.7)}
[data-f=patterns] .nk-scr-dots i:nth-child(3n+1){color:#38d6ff}[data-f=patterns] .nk-scr-dots i:nth-child(3n+2){color:#fff}[data-f=patterns] .nk-scr-dots i:nth-child(3n){color:#ffb000}
/* holiday */
[data-f=holiday] .nk-scr-dots i:nth-child(odd){color:#e11d2e}[data-f=holiday] .nk-scr-dots i:nth-child(even){color:#1fa14a}[data-f=holiday] .nk-scr-dots i{animation:nkTw 2.4s ease-in-out infinite}[data-f=holiday] .nk-scr-dots i:nth-child(3n){animation-delay:.8s}[data-f=holiday] .nk-scr-dots i:nth-child(3n+1){animation-delay:1.6s}
@keyframes nkTw{0%,100%{opacity:1}50%{opacity:.45}}
/* warm white + architectural: steady, facade wash */
[data-f=warm-white] .nk-scr,[data-f=warm-white]{color:#ffd29a}[data-f=architectural]{color:#ffc46b}[data-f=warm-white] .nk-scr-glow,[data-f=architectural] .nk-scr-glow{opacity:.42}
[data-f=architectural] .nk-scr-house{background:linear-gradient(180deg,#3a2c17,#15110b 75%)}
/* dimmable: slider + brightness */
.nk-sl{position:relative;width:78%;height:4px;border-radius:4px;background:rgba(255,255,255,.2)}.nk-sl::before{content:"";position:absolute;left:0;top:0;bottom:0;border-radius:4px;background:#ff7e33;animation:nkFill 4s ease-in-out infinite}.nk-sl::after{content:"";position:absolute;top:-5px;width:14px;height:14px;margin-left:-7px;border-radius:99px;background:#fff;animation:nkThumb 4s ease-in-out infinite}
@keyframes nkFill{0%,100%{width:12%}50%{width:100%}}@keyframes nkThumb{0%,100%{left:12%}50%{left:100%}}
[data-f=dimmable]{color:#ffd29a}[data-f=dimmable] .nk-scr-dots,[data-f=dimmable] .nk-scr-glow{animation:nkDim 4s ease-in-out infinite}@keyframes nkDim{0%,100%{opacity:.18}50%{opacity:1}}
/* zones: one zone at a time */
[data-f=zones]{color:#38d6ff}[data-f=zones] .nk-scr-dots i{animation:nkZone 6s steps(1) infinite;opacity:.12}[data-f=zones] .nk-scr-dots i:nth-child(n+5):nth-child(-n+9){animation-delay:-4s}[data-f=zones] .nk-scr-dots i:nth-child(n+10){animation-delay:-2s}
@keyframes nkZone{0%{opacity:1}33.3%,100%{opacity:.12}}
[data-f=zones] .nk-scr-w b{animation:nkChip3 6s steps(1) infinite}[data-f=zones] .nk-scr-w b:nth-child(2){animation-delay:-4s}[data-f=zones] .nk-scr-w b:nth-child(3){animation-delay:-2s}
@keyframes nkChip3{0%{background:#ff7e33;border-color:#ff7e33;color:#12151b}33.3%,100%{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);color:#fff}}
/* animations: chase */
[data-f=animations]{color:#ff7e33}[data-f=animations] .nk-scr-dots i{animation:nkChase 1.3s linear infinite;opacity:.15}
.nk-scr-dots i:nth-child(1){--d:0}.nk-scr-dots i:nth-child(2){--d:1}.nk-scr-dots i:nth-child(3){--d:2}.nk-scr-dots i:nth-child(4){--d:3}.nk-scr-dots i:nth-child(5){--d:4}.nk-scr-dots i:nth-child(6){--d:5}.nk-scr-dots i:nth-child(7){--d:6}.nk-scr-dots i:nth-child(8){--d:7}.nk-scr-dots i:nth-child(9){--d:8}.nk-scr-dots i:nth-child(10){--d:9}.nk-scr-dots i:nth-child(11){--d:10}.nk-scr-dots i:nth-child(12){--d:11}.nk-scr-dots i:nth-child(13){--d:12}
[data-f=animations] .nk-scr-dots i,[data-f=custom] .nk-scr-dots i{animation-delay:calc(var(--d) * .1s)}
@keyframes nkChase{0%,30%{opacity:1}45%,100%{opacity:.15}}
/* colors: wheel + hue sweep */
.nk-wheel{width:34px;height:34px;border-radius:99px;background:conic-gradient(red,#ff0,#0f0,#0ff,#00f,#f0f,red);border:2px solid rgba(255,255,255,.8);animation:nkSpin 6s linear infinite}@keyframes nkSpin{to{transform:rotate(360deg)}}
[data-f=colors]{color:#ff3b3b}[data-f=colors] .nk-scr-dots,[data-f=colors] .nk-scr-glow{animation:nkHue 6s linear infinite}@keyframes nkHue{to{filter:hue-rotate(360deg)}}
/* timer: dusk -> night -> dawn, lights on only when dark */
[data-f=timer]{color:#ffd29a}[data-f=timer] .nk-scr-sky{animation:nkSky 9s ease-in-out infinite}
@keyframes nkSky{0%,100%{background:linear-gradient(180deg,#ff9a4a,#7a3b58 45%,#1a1730)}30%,70%{background:linear-gradient(180deg,#0a0d17,#06080d)}}
[data-f=timer] .nk-scr-dots,[data-f=timer] .nk-scr-glow{animation:nkNight 9s ease-in-out infinite}@keyframes nkNight{0%,8%,92%,100%{opacity:0}22%,78%{opacity:1}}
.nk-sun{width:16px;height:16px;border-radius:99px;background:#ffb35c;box-shadow:0 0 12px 3px #ff9a4a;animation:nkSun 9s ease-in-out infinite}@keyframes nkSun{0%,100%{transform:translateY(0);opacity:1}25%,75%{transform:translateY(26px);opacity:0}}
/* custom: multi colour chase */
[data-f=custom] .nk-scr-dots i{animation:nkChase 2s linear infinite;opacity:.2}[data-f=custom] .nk-scr-dots i:nth-child(4n+1){color:#ff4fd8}[data-f=custom] .nk-scr-dots i:nth-child(4n+2){color:#38d6ff}[data-f=custom] .nk-scr-dots i:nth-child(4n+3){color:#ffb000}[data-f=custom] .nk-scr-dots i:nth-child(4n){color:#7dff8a}
.nk-tg{display:flex;gap:6px}.nk-tg u{display:block;width:24px;height:12px;border-radius:99px;background:#ff7e33;position:relative}.nk-tg u::after{content:"";position:absolute;right:2px;top:2px;width:8px;height:8px;border-radius:99px;background:#fff}.nk-tg u:nth-child(2){background:rgba(255,255,255,.25)}.nk-tg u:nth-child(2)::after{right:auto;left:2px}
@media (prefers-reduced-motion:reduce){.nk-scr *,.nk-scr{animation:none!important}.nk-scr-dots i{opacity:1!important}}
.nk-scr-w{flex-wrap:wrap;row-gap:3px;font-size:8px}.nk-scr-w b{padding:2px 6px}
.nk-scr-house{background:linear-gradient(180deg,#1b2233,#0f131d)!important;box-shadow:none}[data-f=architectural] .nk-scr-house{background:linear-gradient(180deg,#4a3719,#17120b 78%)!important}
/* footer: Ohio list was one 14-row column (Luke 09-19). Two columns of 7 so all three states end level */
footer .nk-sacols .nk-mcol:first-child{grid-column:1/-1}
footer .nk-sacols .nk-mcol:first-child nav{display:grid!important;grid-template-columns:1fr 1fr;grid-template-rows:repeat(7,auto);grid-auto-flow:column;column-gap:1rem}
@media (min-width:768px){footer .nk-sacols{grid-template-columns:2fr 1fr 1fr!important}footer .nk-sacols .nk-mcol:first-child{grid-column:auto}}
/* hero card now carries Luke's Jobber request form (Dylan 09-19: "go full jobber on all the hero forms") */
.nk-hjb{position:relative;margin:.35rem -0.6rem 0;border-radius:.9rem;overflow:hidden;background:#fff;border:1px solid rgba(18,21,27,.08)}
.nk-hjb iframe{display:block;width:100%;height:clamp(400px,54vh,560px);border:0;background:#fff}
.nk-hjb-load{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:500 .85rem Montserrat,system-ui,sans-serif;color:#5b6472;pointer-events:none}
.nk-hjb.ready .nk-hjb-load{display:none}
@media (max-width:1023px){.nk-hjb iframe{height:560px}}
@media (max-height:690px) and (min-width:1024px){.nk-hjb iframe{height:340px}}
/* permanent town pages: second (mid-page) request form is Jobber too */
.nk-hjb2{margin:1rem 0 0}.nk-hjb2 iframe{height:720px!important}
