/* Kern Digital — editorial refresh. Existing palette; locally hosted Montserrat. */
html{scroll-padding-top:7rem}
html body{--display:"Montserrat",system-ui,sans-serif;--body:"Montserrat",system-ui,sans-serif;--mono:"Montserrat",system-ui,sans-serif;--r:5px;--r-lg:8px;font-family:var(--body);line-height:1.7}
body::after{display:none}
body h1,body h2,body h3{font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:1.12;text-wrap:balance}
body p{text-wrap:pretty}
body .brand__name,body .btn,body .step__q,body .nav__link,body .mega__item strong{font-family:var(--body)}
body .eyebrow{font-family:var(--body);font-size:.72rem;letter-spacing:.12em}
body .hdr{position:sticky;background:var(--paper);border-bottom:1px solid var(--line);backdrop-filter:none;z-index:200}
body .hdr.scrolled{background:var(--paper);backdrop-filter:none}
body .hdr__inner{padding-block:1rem}
body .hero{padding-top:clamp(3.5rem,7vw,6rem);padding-bottom:clamp(4rem,8vw,7rem)}
body .hero__grid{grid-template-columns:minmax(0,1.3fr) minmax(0,.8fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}
body .hero h1{font-weight:400;font-size:clamp(3rem,6.5vw,5.7rem);max-width:15ch;line-height:1.02;margin:1.2rem 0 1.7rem}
body .hero .u{text-decoration:none;font-style:normal;color:var(--accent)}
body .marketplace-section{scroll-margin-top:7rem}
body .marketplace-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:980px){body .marketplace-grid{grid-template-columns:1fr}}
body .hero__loc{font-size:.68rem;letter-spacing:.12em}
body .hero__sub{font-size:clamp(1rem,1.4vw,1.15rem);line-height:1.8;max-width:49ch}
body .hero__proof{font-size:.76rem;gap:.5rem 1.2rem}
body .hero__proof li::before{content:"— ";color:var(--accent)}
body .btn{border-radius:4px;font-size:.88rem;min-height:48px;padding:.85rem 1.3rem;line-height:1.4;white-space:normal;text-align:center}
body .btn--primary{box-shadow:none}
body .btn--ghost{border-color:#b8b7af}
body .btn .arr{display:inline-block;transition:transform .2s ease}
body .decision-board{position:relative;padding:2rem 0 0;border-top:2px solid var(--accent);background:transparent;min-width:0}
body .decision-board h2{font-size:clamp(1.8rem,3vw,2.55rem);margin:.9rem 0 1.2rem;max-width:18ch}
body .decision-board>p{font-size:.92rem;color:var(--grey);margin:1rem 0}
body .decision-board ol,body .decision-board ul{list-style:none;padding:0;margin:1.4rem 0 0;counter-reset:decision}
body .decision-board li{counter-increment:decision;border-top:1px solid var(--line)}
body .decision-board li:last-child{border-bottom:1px solid var(--line)}
body .decision-board a:not(.btn){display:flex;gap:1rem;align-items:center;position:relative;min-height:76px;padding:1.1rem .25rem;color:var(--ink);line-height:1.5;transition:padding .2s ease,color .2s ease}
body .decision-board a:not(.btn)::after{content:"↗";margin-left:auto;color:var(--accent);flex-shrink:0;transition:transform .2s ease}
body .decision-board li>a::before{content:counter(decision,decimal-leading-zero);color:var(--accent);font-size:.75rem;letter-spacing:.08em;flex-shrink:0}
body .decision-board li>a>span:first-child,body .decision-board li>a>span:last-child{display:none}
body .decision-board strong{font-weight:500;font-size:1.04rem}
body .decision-board small{display:block;font-size:.78rem;color:var(--grey);font-weight:400}
body .decision-board .btn{margin-top:1.5rem}
body .section{padding-block:clamp(3.8rem,7vw,6.5rem)}
body .section--tight{padding-block:clamp(3rem,6vw,5rem)}
body .h-section{font-size:clamp(2.3rem,4.8vw,4rem);max-width:22ch;margin-top:1.1rem}
body .lead{font-size:clamp(1rem,1.6vw,1.16rem);line-height:1.85}
body .svc__head{margin-bottom:2.5rem}
body .svc__grid{display:block;border-bottom:1px solid var(--line)}
body .svc-card{display:grid;grid-template-columns:3rem minmax(0,1fr) minmax(0,1.2fr);column-gap:2rem;row-gap:1rem;min-height:0;padding:2.2rem 2rem 2.2rem 0;border:none;border-top:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;overflow:visible;transition:background .25s ease,border-color .25s ease}
body .svc-card__no{grid-column:1;grid-row:1 / 4;margin:0;padding-top:.5rem;color:var(--accent);font-size:.8rem}
body .svc-card h3{grid-column:2;grid-row:1 / 3;font-size:clamp(1.8rem,3vw,2.6rem);margin:0;padding-right:.5rem}
body .svc-card p{grid-column:3;grid-row:1;margin:0;font-size:1rem;line-height:1.8}
body .svc-card__list{grid-column:3;grid-row:2;margin:0;gap:.35rem .8rem}
body .svc-card__list li{padding:0;border:0;border-radius:0;font-family:var(--body);font-size:.75rem}
body .svc-card__cta{grid-column:3;grid-row:3;margin:0;font-size:.83rem;font-weight:500}
body .svc-card__arrow{top:2.4rem;right:-.5rem;width:26px;height:26px;background:none;border-radius:0}
body .svc-card__img{display:none}
body .svc-card:hover{transform:none;box-shadow:none}
body .proc-step{border-top-width:1px;padding-top:1.6rem}
body .proc-step h3{font-size:1.65rem}
body .proc-step__no{color:var(--accent);font-family:var(--body);font-size:.73rem}
body .proc-step.kd-in-view{border-color:var(--accent)}
body .info-card,body .killer-card,body .search-card{border-radius:4px;box-shadow:none}
body .info-card h3,body .killer-card h3,body .search-card h3{font-size:1.55rem}
body .info-card{border-color:var(--line);background:var(--paper-2)}
body .lp-hero{padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(3rem,7vw,6rem)}
body .lp-hero h1{font-size:clamp(2.7rem,5.7vw,4.7rem);line-height:1.06}
body .lp-hero__visual{border-radius:3px}
body .contact__grid{align-items:start;gap:clamp(2rem,6vw,5rem)}
body .contact h2{font-size:clamp(2.4rem,4.6vw,3.8rem)}
body .form-card{border-radius:4px;box-shadow:none;border:1px solid var(--line);background:var(--paper-2)}
body .step__q{font-size:1.1rem;font-weight:500;letter-spacing:0;line-height:1.5}
body .opt{border-radius:4px}
body input,body textarea,body select{font-family:var(--body)}
body label{font-size:.9rem}
body .lead-mag,body .modal,body .journal-cta{border-radius:4px;box-shadow:none}
body .journal-hero{padding-top:clamp(3rem,7vw,6rem)}
body .journal-hero h1{font-size:clamp(2.7rem,5.5vw,4.7rem);max-width:22ch}
body .journal-hero--article h1{max-width:25ch}
body .journal-card{border:none;border-top:1px solid var(--line);border-radius:0;background:none;padding:1.8rem 0;box-shadow:none}
body .journal-grid{gap:2rem}
body .journal-card h3{font-size:1.8rem}
body .journal-card__number{font-family:var(--display);font-size:2rem;color:var(--accent);opacity:1}
body .journal-answer,body .journal-check{border-radius:0}
body .journal-article h2{font-size:clamp(1.8rem,2.5vw,2.3rem)}
body .journal-article p{line-height:1.9}
body .journal-article a{text-underline-offset:.2em}
body .ft{padding-bottom:2rem}
body .ft__bottom{padding-bottom:0}
body .ft [data-cookie-settings]{display:block;color:var(--on-dark);font-size:.92rem;padding-block:.35rem;text-align:inherit}
body .cookie{border-radius:4px;z-index:400;max-height:calc(100dvh - 2rem);overflow:auto}
body .cookie__btns{flex-wrap:wrap}
body .cookie__btns .btn{flex:1;min-height:44px;border:1px solid var(--ink);background:var(--paper);color:var(--ink)}
body .cookie__btns .btn:hover{background:var(--ink);color:var(--paper)}
body .reveal{opacity:1!important;transform:none!important}
body .kd-scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:500;background:var(--accent);transform:scaleX(0);transform-origin:left;pointer-events:none}
body .kd-scroll-enter{animation:kd-settle .65s cubic-bezier(.2,.7,.25,1) both}
@keyframes kd-settle{from{translate:0 12px}to{translate:0 0}}
body :focus-visible{outline:2px solid var(--accent);outline-offset:5px}
body .ft :focus-visible,body .section--dark :focus-visible,body .journal-cta :focus-visible{outline-color:var(--paper)}
body [id]{scroll-margin-top:7rem}
@media(hover:hover) and (pointer:fine){
 body .btn:hover .arr{transform:translateX(4px)}
 body .decision-board a:not(.btn):hover{padding-left:.6rem;color:var(--accent)}
 body .decision-board a:not(.btn):hover::after{transform:translate(2px,-2px)}
 body .svc-card:hover{background:var(--paper-2);border-top-color:var(--accent)}
 body .svc-card:hover h3{color:var(--accent)}
 body .journal-card:hover{transform:translateY(-3px);border-color:var(--accent)}
}
@media(max-width:980px){
 body .hero__grid{grid-template-columns:1fr;gap:3rem}
 body .hero__grid>div:first-child,body .svc__head,body .svc-card,body .info-card,body .proc-step,body .lp-hero>div:first-child,body .contact__grid>div:first-child,body .lead-mag>div:first-child{text-align:left}
 body .hero h1,body .hero__sub,body .h-section,body .lead{margin-inline:0}
 body .hero__loc,body .hero__actions,body .hero__proof,body .svc-card__list{justify-content:flex-start}
 body .hero h1{max-width:17ch}
 body .decision-board{max-width:none}
 body .decision-board ol,body .decision-board ul{display:grid;grid-template-columns:1fr}
 body .decision-board a:not(.btn){min-height:68px}
 body .svc__head{align-items:flex-start}
 body .contact__meta{align-items:flex-start}
 body .lp-hero{grid-template-columns:1fr}
 body .svc-card{grid-template-columns:2rem minmax(0,1fr) minmax(0,1.1fr);column-gap:1.2rem}
}
@media(max-width:680px){
 body .hero{padding-top:2.6rem;padding-bottom:3.5rem}
 body .hero h1{font-size:clamp(2.85rem,11.6vw,4rem);max-width:16ch}
 body .hero__loc{font-size:.63rem;letter-spacing:.07em}
 body .hero__actions{display:grid;grid-template-columns:1fr;width:100%}
 body .hero__actions .btn{width:100%}
 body .hero__proof{gap:.3rem .7rem;font-size:.72rem}
 body .decision-board h2{font-size:2rem}
 body .svc-card{grid-template-columns:1.8rem minmax(0,1fr);padding:1.7rem 1.1rem 1.7rem 0;row-gap:.8rem;column-gap:1rem}
 body .svc-card h3{grid-column:2;grid-row:1;font-size:2rem}
 body .svc-card p{grid-column:2;grid-row:2;font-size:.96rem}
 body .svc-card__list{grid-column:2;grid-row:3}
 body .svc-card__cta{grid-column:2;grid-row:4}
 body .svc-card__no{grid-row:1 / 5;font-size:.7rem}
 body .svc-card__arrow{right:-.5rem;top:1.8rem}
 body .proc__grid{grid-template-columns:1fr}
 body .journal-hero h1{font-size:clamp(2.5rem,9.5vw,3.5rem)}
 body .journal-toc ol{grid-template-columns:1fr}
 body .journal-grid{gap:.8rem}
 body .ft__brand{align-items:flex-start;text-align:left}
 body .ft__brand .brand,body .ft__brand p{margin-inline:0;text-align:left}
 body .ft__col{text-align:left}
 body .ft__bottom{align-items:flex-start;text-align:left;padding-bottom:2rem}
 body .cookie{left:.75rem;right:.75rem;bottom:.75rem;padding:1.2rem}
 body .cookie__btns{display:grid;grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 body *,body *::before,body *::after{animation:none!important;transition:none!important}
 body .kd-scroll-enter{translate:none!important}
 body .kd-scroll-progress{display:none}
 body .btn:hover,body .journal-card:hover,body .svc-card:hover{transform:none!important}
}

.field-label{display:block;font-size:.86rem;margin:.8rem 0 .3rem}.form-note{font-size:.8rem;margin:.8rem 0 1.2rem}.form-note a{text-decoration:underline}.silo-links{list-style:none;padding:0;margin-top:1.5rem}.silo-links li{border-top:1px solid var(--line);padding:1rem 0}.cookie-settings-row{padding-block:1rem}.cookie-settings-row button{text-decoration:underline;color:inherit;font:inherit;min-height:44px}body .reveal{opacity:1;transform:none}body .lp-hero h1{font-weight:400!important}body .cookie__btns .btn{background:transparent;color:var(--ink);border:1px solid currentColor}

/* Montserrat throughout; keep the existing layout and palette. */
body h1,body h2,body h3,body .hero h1{font-weight:500;letter-spacing:-.04em}body .lp-hero h1{font-weight:500!important}

/* Documentary photography, locally served in responsive WebP sizes. */
body .hero__visual{min-width:0}
body .editorial-photo{margin:0;min-width:0}
body .editorial-photo__frame{overflow:hidden;background:var(--paper-2);border-radius:3px;aspect-ratio:4/3}
body .editorial-photo img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
body .editorial-photo img[src*="digital-website"]{object-position:58% 54%}
body .editorial-photo img[src*="digital-webdesign"]{object-position:48% 50%}
body .editorial-photo img[src*="digital-content"]{object-position:50% 48%}
body .editorial-photo--home .editorial-photo__frame{aspect-ratio:4/3}
body .editorial-photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.35rem 1rem;padding:.8rem 0 1rem;font-size:.68rem;line-height:1.6;color:var(--grey)}
body .editorial-photo figcaption>span{font-weight:500;color:var(--ink)}
body .editorial-photo figcaption a{text-decoration:underline;text-underline-offset:3px;font-size:.63rem}
body .hero-options{display:block;border-top:1px solid var(--line)}
body .hero-options a{display:grid;grid-template-columns:1.4rem 1fr auto;align-items:center;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);transition:color .2s ease}
body .hero-options__number{font-size:.65rem;color:var(--accent)}
body .hero-options strong{font-size:.92rem;font-weight:600}
body .hero-options small{display:block;font-size:.7rem;color:var(--grey);line-height:1.5}
body .hero-options__arrow{color:var(--accent);transition:transform .2s ease}
body .hero__person{font-size:.72rem;color:var(--grey);margin-top:1rem}
@media(hover:hover) and (pointer:fine){body .editorial-photo:hover img{transform:scale(1.025)}body .hero-options a:hover{color:var(--accent)}body .hero-options a:hover .hero-options__arrow{transform:translate(2px,-2px)}}
@media(max-width:980px){body .editorial-photo__frame{aspect-ratio:3/2}body .editorial-photo--home .editorial-photo__frame{aspect-ratio:3/2}}
@media(max-width:480px){body .editorial-photo__frame,body .editorial-photo--home .editorial-photo__frame{aspect-ratio:4/3}body .editorial-photo figcaption{font-size:.72rem}body .editorial-photo figcaption a{font-size:.67rem}}
@media(prefers-reduced-motion:reduce){body .editorial-photo:hover img{transform:none}body .hero-options a:hover .hero-options__arrow{transform:none}}

/* The wider letterforms need the compact navigation at tablet widths. */
@media(max-width:1100px){
 body .hdr__inner{height:72px}
 body .nav,body .hdr__cta .btn{display:none}
 body .hdr__cta .lang{display:flex}
 body .burger{display:block}
 body .nav.mobile{display:flex;position:fixed;inset:0;top:72px;flex-direction:column;align-items:flex-start;gap:0;background:var(--paper);padding:1.5rem var(--pad-x);z-index:100001!important;overflow-y:auto;-webkit-overflow-scrolling:touch}
 body .nav.mobile .nav__link{font-size:1.4rem;font-family:var(--display);color:var(--ink);padding-block:1rem;border-bottom:1px solid var(--line);width:100%}
 body .nav.mobile .nav__item{width:100%;border-bottom:1px solid var(--line)}
 body .nav.mobile .nav__item .nav__link{border-bottom:none}
 body .nav.mobile .nav__sub{display:flex;flex-direction:column;padding-left:1rem;margin-bottom:.9rem}
 body .nav.mobile .nav__sub a{font-size:1rem;font-family:var(--body);color:var(--grey);padding-block:.55rem}
 body .nav.mobile .btn{display:inline-flex;margin-top:1.5rem}
}
body .svc-card h3{hyphens:auto;overflow-wrap:anywhere}
