/* Dakota reference adaptation. Business palette, fonts, content and mechanics remain OCF-owned. */
:root{--container-max:1320px;--container-pad:clamp(20px,4.17vw,60px);--section-pad:var(--ocf-section-pad,96px);--font-heading:var(--ocf-font-heading),sans-serif;--font-body:var(--ocf-font-body),sans-serif;--font-body-size:var(--ocf-font-body-size,17px);--font-h2-size:var(--ocf-font-h2-size);--font-h3-size:var(--ocf-font-h3-size);--font-weight-bold:600;--hb-accent-text:var(--ocf-primary);--hb-bg-soft:var(--ocf-bg-alt);--hb-button-width:180px;--hb-radius:var(--ocf-radius,8px);--hb-control-radius:var(--ocf-button-radius,6px);--ocf-review-star-color:#EAA222;--button-shadow:var(--ocf-button-shadow,none);--button-shadow-hover:var(--ocf-button-shadow-hover,none);--card-shadow:var(--ocf-card-shadow,none);--image-shadow:var(--ocf-image-shadow,none)}
body{background:var(--ocf-bg);font-size:var(--font-body-size)}
body h1,body h2,body h3{font-family:var(--font-heading)}
body .heading-2,body h2{font-size:var(--ocf-font-h2-size);font-weight:var(--ocf-font-h2-weight);line-height:1.22;letter-spacing:-.025em}
body .heading-3,body h3{font-size:var(--ocf-font-h3-size);line-height:1.3}
body #site-main>section{margin-top:0;border-radius:0}
body .hb-label,body .eyebrow,body .hb-about .ocf-about__eyebrow{display:block;padding:0;border-radius:0;background:transparent;color:var(--ocf-primary);font:600 15px/1.5 var(--font-body);margin:0}
body .hb-section-heading{gap:16px;max-width:760px}
body .hb-section-heading>p:not(.hb-label){color:var(--ocf-body);line-height:1.7}
body .hb-button,body .btn-primary,body .btn-secondary,body .form-submit-btn{border-radius:var(--ocf-button-radius);font-family:var(--font-body)}
body .hb-button{min-height:50px;padding:13px 20px;min-width:0;width:max-content;gap:20px;font-size:14px;font-weight:600}
body .hb-button:not(.hb-button--secondary):not(.hb-button--light):hover{background:var(--ocf-primary-hover);color:var(--ocf-heading-alt)}
body .hb-button .hb-button__circle{margin-inline:0!important}
body .hb-header{position:relative;height:auto;background:var(--ocf-bg)}
body .hb-header .hb-nav{position:relative;inset:auto;background:var(--ocf-bg)}
body .hb-header .hb-nav__inner{min-height:var(--ocf-nav-height)}
body .hb-header .hb-nav__brand{flex-basis:224px;max-width:224px}
body .hb-header .hb-nav__brand img{max-height:92px;width:auto;max-width:224px}
body .hb-header .hb-nav__link-row>a{font-size:15px;font-weight:600}
body .hb-header .hb-nav__links{gap:28px;background:transparent}
body .hb-header .hb-nav__actions .hb-button{min-height:48px;border:2px solid var(--ocf-primary);padding:11px 18px}
body .hb-header .hb-nav__phone{font-size:14px}
body.home main>.dk-services{background:var(--ocf-bg)}
.dk-services__header{display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:40px}
body.home main>.dk-services .hb-section-heading{margin:0;text-align:left;max-width:760px}
body.home main>.dk-services .hb-section-heading>.hb-label{justify-content:flex-start}
.dk-services__header>.hb-text-link{flex-shrink:0;margin-bottom:6px;font-size:14px;font-weight:600}
.dk-services__viewport{overflow:hidden;padding:4px;margin:-4px}
body.home main>.dk-services .hb-services__list{display:flex;gap:20px;transition:transform .35s ease;align-items:stretch}
body.home main>.dk-services .hb-service-row,body.home main>.dk-services .hb-service-row:first-child{display:flex;flex:0 0 calc((100% - 40px)/3);flex-direction:column;gap:14px;padding:0 0 24px;min-height:0;height:auto;border:1px solid var(--ocf-border-light);border-radius:var(--ocf-card-radius);background:var(--ocf-bg);text-align:left;overflow:hidden;color:var(--ocf-heading);box-shadow:none;transform:none}
body.home main>.dk-services .hb-service-card__image{position:static;width:100%;height:280px;aspect-ratio:auto;flex-shrink:0}
body.home main>.dk-services .hb-service-card__photo{width:100%;height:100%;object-fit:cover}
body.home main>.dk-services .hb-service-row>h3{text-align:left;margin:8px 24px 0;font-size:22px;line-height:1.3}
body.home main>.dk-services .hb-service-row>p{text-align:left;margin:0 24px;font-size:15px;line-height:1.7}
body.home main>.dk-services .hb-service-row>.hb-text-link{margin:auto 24px 0;padding-top:8px;justify-content:flex-start;color:var(--ocf-primary);font-size:14px;font-weight:600}
.dk-services__controls{display:flex;justify-content:flex-end;gap:10px;margin-top:28px}
.dk-slider-button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--ocf-border);border-radius:50%;color:var(--ocf-heading);background:transparent;cursor:pointer;font:400 22px/1 var(--font-body)}
.dk-slider-button:hover:not(:disabled){background:var(--ocf-primary);color:var(--ocf-heading-alt)}
.dk-slider-button:disabled{opacity:.35;cursor:default}
body.home .hb-about{background:var(--ocf-bg-alt)}
body .hb-about .ocf-about__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,6.1vw,86px);align-items:center}
body .hb-about .ocf-about__media{grid-column:1;grid-row:1;height:560px;margin:0;position:relative;overflow:visible;border-radius:var(--ocf-image-radius)}
body .hb-about .ocf-about__media>img{width:100%;height:100%;object-fit:cover;border-radius:var(--ocf-image-radius)}
body .hb-about .ocf-about__copy{grid-column:2;grid-row:1;gap:24px}
body .hb-about .ocf-about__eyebrow{margin-bottom:16px}
body .hb-about .ocf-about__headline{font-size:var(--ocf-font-h2-size);line-height:1.22}
body .hb-about .ocf-about__body{color:var(--ocf-body);font-size:17px}
body .hb-about .ocf-about__copy>.hb-text-link{display:inline-flex;font-size:14px;color:var(--ocf-primary)}
.dk-about__quote{position:absolute;right:-24px;bottom:28px;z-index:2;width:min(350px,86%);padding:24px 28px;margin:0;border-radius:var(--ocf-card-radius);background:var(--ocf-primary);color:var(--ocf-heading-alt);box-shadow:var(--card-shadow)}
.dk-about__quote-mark{font:400 46px/.8 Georgia,serif}
.dk-about__quote blockquote{margin:12px 0 16px;font:400 16px/1.6 var(--font-body)}
.dk-about__quote figcaption{font:600 13px/1.5 var(--font-body)}
body.home main>.dk-work{background:var(--ocf-bg-dark);color:var(--ocf-body-alt)}
body .dk-work .hb-label{color:var(--ocf-body-alt)}
body .dk-work .heading-2,body .dk-work h3{color:var(--ocf-heading-alt)}
body .dk-work .hb-section-heading>p:not(.hb-label){color:var(--ocf-body-alt)}
.dk-work__layout{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(40px,6vw,86px);align-items:center}
.dk-work__list{display:grid;gap:0}
.dk-work__item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:22px;padding:28px 0;border-bottom:1px solid var(--ocf-border-alt)}
.dk-work__item:first-child{padding-top:0}
.dk-work__item:last-child{border:0;padding-bottom:0}
.dk-work__number{font:500 26px/1.3 var(--font-heading);color:var(--ocf-body-alt)}
.dk-work__item h3{margin:0 0 12px;font-weight:500}
.dk-work__item p{margin:0;color:var(--ocf-body-alt);font-size:16px;line-height:1.7}
.dk-work__media{height:440px;margin:0;overflow:hidden;border-radius:var(--ocf-image-radius)}
.dk-work__media img{width:100%;height:100%;object-fit:cover}
body.home main>.ocf-service-areas{background:var(--ocf-bg-alt)}
body.home main>.hb-reviews{background:var(--ocf-bg)}
body .hb-reviews .hb-section-heading{text-align:left;margin:0 0 32px}
body .hb-reviews .hb-label{margin-inline:0}
body .hb-reviews__controls{justify-content:flex-end}
body .hb-review{border:1px solid var(--ocf-border-light);border-radius:var(--ocf-card-radius);padding:28px;background:var(--ocf-bg-alt)}
body .hb-review__text.text-body{font-size:16px;line-height:1.7}
body .ocf-faq{background:var(--ocf-bg-alt)}
body .ocf-faq .ocf-faq-header{text-align:left;align-items:flex-start}
body .ocf-faq-item,body .ocf-faq__item{border-radius:var(--ocf-radius-sm)}
body .hb-cta{padding:64px 0;margin:0;background:var(--ocf-bg-dark)}
body .hb-cta>.container-global{width:min(calc(100% - var(--container-pad)*2),var(--container-max));margin-inline:auto}
body .dk-cta__panel{min-height:440px;border-radius:var(--ocf-card-radius-lg);padding:64px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:28px}
body .dk-cta__panel .hb-cta__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
body .dk-cta__panel::before{background:linear-gradient(90deg,color-mix(in srgb,var(--ocf-bg-dark) 92%,transparent),color-mix(in srgb,var(--ocf-bg-dark) 68%,transparent) 65%,color-mix(in srgb,var(--ocf-bg-dark) 24%,transparent))}
body .dk-cta__panel .hb-satin-frost__layer{display:none}
body .dk-cta__panel .hb-cta__copy{max-width:760px;gap:20px}
body .dk-cta__panel .hb-cta__copy h2{max-width:23ch;font-size:var(--ocf-font-h2-size);line-height:1.22}
body .dk-cta__panel .hb-cta__copy p{font-size:17px;max-width:620px;line-height:1.7}
body .dk-cta__panel .hb-cta__actions{display:flex;align-items:center;flex-wrap:wrap;width:auto;gap:20px 28px;align-self:flex-start}
body .dk-cta__panel .hb-phone{font-size:17px}
body .hb-footer{background:#FFFFFF;color:var(--ocf-body);padding-top:32px;border:0}
body .hb-footer__column h2{color:var(--ocf-heading);font:600 16px/1.5 var(--font-body)}
body .hb-footer .hb-footer__logo{max-width:220px}
body .hb-footer__legal{border-color:var(--ocf-border)}
body .hb-inner.hb-inner--quiet-gradient{background:var(--ocf-bg-alt)}
body .hb-inner .hb-inner__copy h1{font-size:var(--ocf-font-h1-size);line-height:1.12}
@media(max-width:1199px){body .hb-header .hb-nav__links{gap:18px}body .hb-header .hb-nav__brand{flex-basis:180px;max-width:180px}body .hb-header .hb-nav__brand img{max-width:180px}}
@media(max-width:1023px){body.home main>.dk-services .hb-service-row{flex-basis:calc((100% - 20px)/2)}body .hb-about .ocf-about__grid{gap:40px}body .hb-about .ocf-about__media{height:460px}body .dk-cta__panel{padding:48px}}
@media(max-width:991px){body .hb-header .hb-nav__inner{min-height:var(--ocf-nav-height-mobile);grid-template-rows:var(--ocf-nav-height-mobile) auto}body .hb-header .hb-nav__brand img{max-height:76px}body .hb-about .ocf-about__grid{grid-template-columns:1fr;gap:40px}body .hb-about .ocf-about__copy{grid-column:1;grid-row:2}body .hb-about .ocf-about__media{grid-column:1;grid-row:1;height:480px;max-width:680px}.dk-about__quote{right:20px}.dk-work__layout{grid-template-columns:1fr 1fr;gap:32px}.dk-work__media{height:420px}}
@media(max-width:767px){.dk-services__header{flex-direction:column;align-items:flex-start;gap:24px}.dk-work__layout{grid-template-columns:1fr;gap:36px}.dk-work__media{height:360px}body .dk-cta__panel{padding:40px 28px;min-height:420px}body .hb-cta{padding:40px 0}body .hb-about .ocf-about__body{font-size:16px}}
@media(max-width:639px){body.home main>.dk-services .hb-service-row{flex-basis:100%}body.home main>.dk-services .hb-service-card__image{height:280px}body .hb-about .ocf-about__media{height:420px}.dk-about__quote{right:16px;bottom:16px;padding:20px}.dk-work__item{grid-template-columns:42px minmax(0,1fr);gap:16px}.dk-work__number{font-size:22px}.dk-work__media{height:300px}body .hb-footer__grid{grid-template-columns:1fr;gap:32px}body .hb-footer__brand{grid-column:auto}body .hb-review{padding:24px}}
@media(prefers-reduced-motion:reduce){body.home main>.dk-services .hb-services__list{transition:none}}

/* OCF_AGENT_BLOCK:transparent-navigation START */
body .hb-header,
body .hb-header .hb-nav {
  background: transparent;
  border-bottom: 0;
  box-shadow: none;
  backdrop-filter: none;
}
body.home .hb-header {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  z-index: 80;
}
body.home .hb-header .hb-nav {
  position: relative;
  inset: auto;
}
body.home .hb-header .hb-nav__brand {
  color: var(--ocf-heading-alt);
}
body.home .dk-hero .dk-hero__grid {
  padding-top: calc(var(--ocf-nav-height, 112px) + 64px);
}
@media (min-width: 992px) {
  body.home .hb-header .hb-nav__link-row > a,
  body.home .hb-header .hb-nav__disclosure,
  body.home .hb-header .hb-nav__phone {
    color: var(--ocf-heading-alt);
  }
  body.home .hb-header .hb-nav__link-row > a:hover,
  body.home .hb-header .hb-nav__link-row > a:focus-visible {
    color: var(--ocf-heading-alt);
    opacity: .8;
  }
}
@media (max-width: 991px) {
  body.home .dk-hero .dk-hero__grid {
    padding-top: calc(var(--ocf-nav-height-mobile, 88px) + 40px);
  }
  body.home .hb-header .hb-nav__toggle {
    color: var(--ocf-heading-alt);
    border-color: color-mix(in srgb, var(--ocf-heading-alt) 55%, transparent);
  }
  body.home .hb-header .hb-nav__menu.is-open {
    background: var(--ocf-bg);
    margin-inline: calc(-1 * var(--container-pad));
    padding-inline: var(--container-pad);
    box-shadow: 0 12px 24px rgb(0 0 0 / .12);
  }
  body.home .hb-header .hb-nav__menu .hb-nav__link-row > a,
  body.home .hb-header .hb-nav__menu .hb-nav__disclosure,
  body.home .hb-header .hb-nav__menu .hb-nav__phone {
    color: var(--ocf-heading);
  }
}
/* OCF_AGENT_BLOCK:transparent-navigation END */

/* OCF_AGENT_BLOCK:empathy-reference-typography START */
/* Typography follows the reference's serif headings and Inter supporting text. */
:root {
  --font-heading: var(--ocf-font-heading), Palatino, "Book Antiqua", Georgia, serif;
  --font-body: var(--ocf-font-body), Arial, sans-serif;
  --font-label-size: 15px;
  --font-button-size: 15px;
}
body { font-family: var(--font-body); font-size: var(--font-body-size); line-height: 1.7; }
body :is(h1,h2,h3,h4,.heading-1,.heading-2,.heading-3) { font-family: var(--font-heading); letter-spacing: normal; }
body :is(h1,.heading-1) { font-size: var(--ocf-font-h1-size); font-weight: var(--ocf-font-h1-weight); line-height: 1.12; }
body :is(h2,.heading-2), body .hb-about .ocf-about__headline, body .dk-cta__panel .hb-cta__copy h2 {
  font-size: var(--ocf-font-h2-size); font-weight: var(--ocf-font-h2-weight); line-height: 1.2; letter-spacing: normal;
}
body :is(h3,.heading-3), body.home main > .dk-services .hb-service-row > h3, body .dk-work__item h3 {
  font-size: var(--ocf-font-h3-size); font-weight: var(--ocf-font-h3-weight); line-height: 1.35; letter-spacing: normal;
}
body .dk-hero .dk-hero__copy h1, body .hb-inner .hb-inner__copy h1 {
  font-family: var(--font-heading); font-size: var(--ocf-font-h1-size); font-weight: var(--ocf-font-h1-weight); line-height: 1.12; letter-spacing: normal;
}
body .hb-label, body .eyebrow, body .hb-about .ocf-about__eyebrow, body .dk-hero__eyebrow, body [data-ocf-field$="_eyebrow"] {
  font-family: var(--font-body); font-size: var(--ocf-font-eyebrow-size); font-weight: var(--ocf-font-eyebrow-weight); line-height: 1.5; letter-spacing: .3em; text-transform: uppercase;
}
body .prose, body .text-body, body .page-content-body, body .hb-about .ocf-about__body, body .dk-hero__intro, body .dk-cta__panel .hb-cta__copy p {
  font-family: var(--font-body); font-size: var(--font-body-size); font-weight: var(--ocf-font-body-weight); line-height: 1.7;
}
body.home main > .dk-services .hb-service-row > p, body .dk-work__item p, body .hb-review__text.text-body {
  font-size: 15px; line-height: 1.7;
}
body .hb-button, body .btn-primary, body .btn-secondary, body .form-submit-btn, body .hb-text-link, body .dk-services__header > .hb-text-link, body.home main > .dk-services .hb-service-row > .hb-text-link {
  font-family: var(--font-body); font-size: var(--font-button-size); font-weight: 500; line-height: 1.5;
}
body .hb-header .hb-nav__link-row > a { font-family: var(--font-body); font-size: 15px; font-weight: 400; }
body .dk-hero .hero-form-title, body .hero-form-card .hero-form-title {
  font-family: var(--font-heading); font-size: 25px; font-weight: 400; line-height: 1.3; letter-spacing: normal;
}
body .dk-hero .ocf-field input, body .dk-hero .ocf-field textarea, body .dk-hero .ocf-field select {
  font-family: var(--font-body); font-size: 15px;
}
body .hb-footer__column h2 { font: 500 17px/1.5 var(--font-body); }
@media (max-width: 767px) {
  body .dk-hero .dk-hero__copy h1 { font-size: var(--ocf-font-h1-size); }
  body .hb-about .ocf-about__body, body .prose, body .text-body { font-size: var(--font-body-size); }
}
/* OCF_AGENT_BLOCK:empathy-reference-typography END */
