/* September 2026: shared customer-facing design system. */
:root { --nd-ink:#0B2444; --nd-paper:#F7F1E6; --nd-gold:#B87952; --nd-muted:#526065; --color-deep-navy:var(--nd-ink); --color-navy:var(--nd-ink); }
html { scroll-behavior:smooth; }
body { background:var(--nd-paper); font-size:18px; }
.nd-site { color:var(--nd-ink); background:var(--nd-paper); }
.nd-site *, .nd-site *::before, .nd-site *::after { box-sizing:border-box; }
.nd-site figure { margin:0; }
.nd-site a { color:inherit; text-decoration:none; }
.nd-site p { line-height:1.7; font-weight:500; }
.nd-site h1,.nd-site h2,.nd-site h3 { font-family:var(--font-display); font-weight:400; letter-spacing:-.045em; line-height:1.07; color:var(--nd-ink); }
.nd-site h1 { font-size:clamp(42px,5.2vw,80px); margin:20px 0 26px; }
.nd-site h2 { font-size:clamp(34px,3.5vw,54px); margin:0 0 24px; }
.nd-site h3 { font-size:clamp(26px,2.2vw,34px); margin:18px 0 12px; }
.nd-site h1 em { color:#0B2444; font-weight:400; }
.nd-site .nd-kicker { font-size:16px; font-weight:700; letter-spacing:.08em; line-height:1.5; text-transform:uppercase; margin:0 0 18px; color:#0B2444; }
.nd-site .nd-lead { font-size:clamp(20px,1.5vw,22px); line-height:1.7; max-width:620px; }
.nd-shell { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.nd-section { padding-block:96px; }
.nd-dtf-explainer > figure { max-width:820px; margin-inline:auto; }
.nd-dtf-explainer > figure img { display:block; width:100%; height:auto; }
.nd-dtf-explainer figcaption { text-align:center; margin-top:16px; }
.nd-dtf-more { margin-top:32px; border-block:1px solid #c9cbbf; padding:20px 0; }
.nd-hero { display:grid; grid-template-columns:1fr 1fr; min-height:630px; }
.nd-hero-copy { padding:70px 5vw max(55px,5vw) max(48px,calc((100vw - 1280px)/2)); align-self:center; }
.nd-hero-image { position:relative; min-width:0; }
.nd-hero-image>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:50% 50%; }
.nd-hero-image figcaption { position:absolute; bottom:22px; left:24px; right:24px; background:var(--nd-paper); padding:16px 20px; font-family:var(--font-display); font-size:22px; display:flex; gap:16px; justify-content:space-between; align-items:center; }
.nd-hero-image figcaption span { font-family:var(--font-body); font-size:16px; max-width:210px; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
/* Keep the homepage introduction within the same shell as service pages. */
.nd-home-hero.nd-hero { min-height:0; gap:40px; padding-block:40px; align-items:center; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.nd-home-hero .nd-hero-copy { padding:0; min-width:0; }
.nd-home-hero h1 { font-size:clamp(38px,3.4vw,52px); margin:16px 0 20px; }
.nd-home-hero .nd-hero-image { height:auto; }
.nd-home-hero .nd-hero-image>img { position:static; display:block; height:440px; }
.nd-home-hero .nd-hero-image figcaption { position:static; display:block; padding:12px 0 0; font-size:18px; background:transparent; }
.nd-home-hero .nd-hero-image figcaption span { display:block; max-width:none; margin-top:4px; letter-spacing:0; text-transform:none; }
.nd-home-hero .nd-hero-foot { margin-top:20px; }
@media(max-width:760px) {
 .nd-home-hero.nd-hero { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:28px; }
 .nd-home-hero h1 { font-size:clamp(36px,7vw,46px); }
 .nd-home-hero .nd-hero-image>img { height:auto; aspect-ratio:3/2; }
}
.nd-actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:28px; }
.nd-site .nd-button { display:inline-flex; align-items:center; justify-content:center; gap:26px; background:var(--nd-ink); color:#fff; padding:17px 23px; font-size:16px; font-weight:700; letter-spacing:.015em; border:1px solid var(--nd-ink); min-height:50px; transition:background .2s; }
.nd-site .nd-button:hover { background:#284b59; }
.nd-site .nd-link { display:inline-block; padding-block:9px; border-bottom:1px solid currentColor; font-weight:600; font-size:16px; line-height:1.6; }
.nd-hero-foot { font-size:16px; color:var(--nd-muted); margin-top:32px; }
.nd-strip { display:flex; justify-content:center; gap:6vw; flex-wrap:wrap; padding:20px 24px; background:var(--nd-ink); color:#F7F1E6; font-size:16px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; }
.nd-heading { display:flex; justify-content:space-between; gap:40px; align-items:end; margin-bottom:35px; }
.nd-heading>p { max-width:370px; font-size:18px; color:var(--nd-muted); }
.nd-service-grid,.nd-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.nd-card-image { display:block; position:relative; overflow:hidden; margin-bottom:25px; }
.nd-card-image img { width:100%; aspect-ratio:1.18; object-fit:cover; height:auto; display:block; transition:transform .4s; }
.nd-card-image:hover img { transform:scale(1.035); }
.nd-service-card .nd-kicker { margin-bottom:12px; }
.nd-service-card h3 { font-size:29px; }
.nd-service-card h3 span { font-family:var(--font-display); font-size:22px; }
.nd-service-card>p:last-child { color:var(--nd-muted); font-size:18px; }
.nd-sample { position:absolute; bottom:10px; left:10px; background:var(--nd-paper); color:var(--nd-ink); padding:5px 9px; font-size:16px; }
.nd-band { background:#e9e6db; padding:65px 0; }
.nd-funky { background:#efe1cb; padding:64px 0; border-block:1px solid #dbc9ac; }
.nd-funky .nd-two-col { align-items:center; }
.nd-funky h2 { font-size:clamp(40px,4.5vw,68px); margin-bottom:12px; }
.nd-funky .nd-funky-tagline { font:italic clamp(22px,2.4vw,32px)/1.35 var(--font-display); color:#0B2444; margin:0; }
.nd-funky h3 { font-size:28px; margin-top:0; }
.nd-funky .nd-funky-launch { padding-top:12px; border-top:1px solid #cdbb9e; }
.nd-funky .nd-funky-custom { font-size:16px; }
.nd-funky-crosslink { padding-top:28px; }
.nd-funky-crosslink p { font-size:18px; }
.nd-two-col { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:start; }
.nd-two-col p { font-size:18px; }
.nd-story-grid { display:grid; grid-template-columns:1fr 1fr; gap:40px; }
.nd-story-grid img { width:100%; height:350px; object-fit:cover; display:block; margin-bottom:26px; }
.nd-story-grid p { color:var(--nd-muted); font-size:18px; }
.nd-family-header { display:grid; flex:0 0 auto; gap:6px; padding-block:8px; }
.nd-family-header__logos { display:flex; gap:24px; align-items:center; }
.nd-family-header a { display:block; width:150px; padding-block:4px; }
.nd-family-header img { display:block; width:100%; height:auto; }
.nd-family-header .nd-family-header__tagline { margin:0; text-align:center; font-size:16px; line-height:1.5; color:var(--nd-ink); }
.nd-product-picker.nd-section { padding-block:40px; }
.nd-product-picker h2 { margin-bottom:12px; }
.nd-product-brand { margin-top:28px; padding-top:24px; border-top:1px solid #d7d9d0; }
.nd-product-brand-heading { display:flex; align-items:center; gap:28px; }
.nd-product-brand-heading img { display:block; width:170px; height:auto; }
.nd-product-brand-heading h3 { margin:0; font-size:30px; }
.nd-product-brand-heading h3 span { display:block; margin-top:6px; font-family:var(--font-body); font-size:18px; letter-spacing:0; line-height:1.5; color:var(--nd-muted); }
.nd-product-links.nd-product-links--creations { grid-template-columns:repeat(3,minmax(0,1fr)); }
@media(max-width:1100px) { .nd-product-links.nd-product-links--creations { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .nd-product-brand-heading { flex-direction:column; align-items:flex-start; gap:14px; } .nd-product-links.nd-product-links--creations { grid-template-columns:1fr; } }
.nd-product-links { list-style:none; padding:0; margin:24px 0 0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.nd-product-links li { margin:0; min-width:0; }
.nd-product-links a { display:block; height:100%; padding:20px; border:1px solid #d7d9d0; background:#fffdf8; }
.nd-product-links strong { display:block; font-size:20px; line-height:1.35; }
.nd-product-links span { display:block; font-size:18px; line-height:1.5; color:var(--nd-muted); margin-top:8px; }
.nd-product-links a:hover { border-color:var(--nd-ink); background:#efece3; }
.nd-product-links a:focus-visible { outline:3px solid var(--nd-ink); outline-offset:3px; }
.nd-product-links .nd-picker-visual { margin:0 0 18px; }
.nd-picker-visual { display:block; position:relative; margin-bottom:22px; }
.nd-picker-visual img { display:block; width:100%; aspect-ratio:3/2; height:auto; object-fit:cover; background:#e9e6db; }
.nd-picker-visual small { display:block; width:fit-content; margin-top:8px; color:#394b50; font-size:14px; line-height:1.4; }
.nd-product-links .nd-picker-visual small { margin-top:8px; }
.nd-image-examples { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; padding-bottom:80px; }
.nd-image-examples>figure { margin:0; }
.nd-image-examples>figure:only-child { grid-column:1/-1; display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:40px; }
.nd-image-examples img { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; background:#e9e6db; display:block; }
.nd-image-examples h3 { margin-top:12px; font-size:28px; }
.nd-image-examples .nd-concept-label { color:#394b50; font-size:14px; font-weight:600; margin:16px 0 8px; }
.nd-image-examples .nd-concept-note { color:#526063; font-size:15px; }
.nd-service-hero .nd-hero-contain img { object-fit:contain; height:auto; }
.nd-workshop-view { margin:24px 0 0; }
.nd-workshop-view img { width:100%; height:auto; display:block; }
.nd-workshop-view figcaption { margin-top:10px; color:#526063; font-size:15px; }
@media(max-width:700px) { .nd-image-examples,.nd-image-examples>figure:only-child { grid-template-columns:1fr; gap:24px; } .nd-image-examples { padding-bottom:45px; } }
@media(max-width:1100px) { .nd-product-links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .nd-product-links { grid-template-columns:1fr; gap:10px; } .nd-product-links a { padding:16px; } }
.nd-brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:30px; }
.nd-brand-card { background:#fffdf8; border:1px solid #deddd3; padding:32px; color:var(--nd-ink); }
.nd-brand-card>img { width:240px; max-width:100%; height:145px; object-fit:contain; object-position:left center; margin-bottom:26px; }
.nd-brand-card p { color:var(--nd-muted); font-size:18px; }
@media(max-width:760px) { .nd-brand-grid { grid-template-columns:1fr; } .nd-family-header { flex:1 1 100%; } .nd-family-header__logos { justify-content:center; gap:20px; } .nd-family-header a { width:min(150px,calc((100vw - 68px) / 2)); } .nd-brand-card { padding:24px; } }
#project-stories .nd-story-grid img { height:auto; aspect-ratio:16/10; object-fit:contain; background:#eeece5; }
#project-stories .nd-project-takeaway { border-top:1px solid #deddd3; padding-top:18px; }
.nd-people { display:grid; grid-template-columns:1fr 1fr; gap:8vw; align-items:center; padding-block:45px; border-block:1px solid #d8d7cd; }
.nd-people img { width:100%; height:490px; object-fit:cover; object-position:50% 35%; display:block; }
.nd-site img.nd-owner-portrait { display:block; width:100%; height:auto; object-fit:contain; }
.nd-people p { font-size:18px; }
.nd-number { display:block; font-family:var(--font-display); color:#0B2444; font-size:26px; margin-bottom:24px; }
.nd-steps { margin-top:45px; }
.nd-steps article { border-top:1px solid #c9cbbf; padding-top:25px; }
.nd-steps p { font-size:18px; color:var(--nd-muted); }
.nd-cta { padding:70px 0; background:var(--nd-ink); color:var(--nd-paper); }
.nd-cta-inner { display:flex; align-items:center; justify-content:space-between; gap:40px; }
.nd-cta h2,.nd-cta .nd-kicker { color:var(--nd-paper); }
.nd-cta p { max-width:530px; font-size:18px; }
.nd-site .nd-button-gold { background:#dfbe82; color:var(--nd-ink); border-color:#dfbe82; flex-shrink:0; }
.nd-site .nd-button-gold:hover { background:#edcd91; }
.nd-service-hero { display:grid; grid-template-columns:1fr 1fr; gap:40px; padding-block:40px; align-items:center; }
.nd-service-hero h1 { font-size:clamp(40px,4.2vw,65px); }
.nd-service-hero img { display:block; width:100%; height:480px; object-fit:cover; }
.nd-service-hero figcaption { font-size:16px; color:var(--nd-muted); padding-top:12px; line-height:1.6; }
.nd-service-page section[id] { scroll-margin-top:24px; }
.nd-service-page p { font-size:18px; }
.nd-service-page .nd-lead { font-size:clamp(20px,1.5vw,22px); }
.nd-service-page .nd-hero-foot,.nd-service-page .nd-kicker { font-size:16px; }
.nd-service-jump { display:flex; flex-wrap:wrap; gap:10px 30px; padding-block:20px; border-block:1px solid #c9cbbf; }
.nd-service-jump a { font-size:16px; font-weight:600; padding:10px 0; border-bottom:1px solid transparent; }
.nd-service-jump a:hover { border-bottom-color:currentColor; }
.nd-service-spotlight { background:#e9e6db; padding-block:64px; }
.nd-spotlight-layout { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:7vw; align-items:center; }
.nd-spotlight-layout img { width:100%; height:470px; object-fit:contain; background:#e1dfd5; display:block; }
.nd-spotlight-layout figcaption { padding-top:14px; font-size:16px; line-height:1.6; color:var(--nd-muted); }
.nd-detail-heading { max-width:850px; }
.nd-detail-heading .nd-lead { max-width:780px; }
.nd-service-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; margin-top:38px; }
.nd-service-choices article { background:#fffdf8; border-top:3px solid var(--nd-gold); padding:30px; }
.nd-service-choices h3 { margin-top:0; }
.nd-service-note { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:45px; padding-top:36px; margin-top:36px; border-top:1px solid #c9cbbf; }
.nd-service-note h3 { margin-top:0; }
.nd-service-note p { margin:0; }
.nd-service-planning { background:#eee9dc; padding-block:68px; }
.nd-service-planning h2 { max-width:830px; }
.nd-service-planning .nd-lead { max-width:790px; }
.nd-service-planning ol { padding:0; list-style:none; }
.nd-service-planning li { min-width:0; border-top:1px solid #bdc1b4; padding-top:24px; }
.nd-service-planning .nd-link { margin-top:24px; }
.nd-project-details { border-bottom:1px solid #c9cbbf; }
.nd-project-details .nd-heading h2 { max-width:720px; }
.nd-project-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.nd-project-gallery a { display:block; background:#e9e6db; }
.nd-project-gallery a>span { display:block; padding:12px 18px; border-top:1px solid #c9cbbf; font-size:16px; font-weight:600; }
.nd-project-gallery img { display:block; width:100%; height:400px; object-fit:contain; }
.nd-project-gallery h3 { font-size:28px; }
.nd-project-gallery p { color:var(--nd-muted); }
.nd-help-hero { max-width:1100px; }
.nd-help-hero .nd-lead { max-width:760px; }
.nd-help-hero .nd-button { margin-top:16px; }
.nd-help-page p { font-size:18px; }
.nd-help-page .nd-kicker { font-size:16px; }
.nd-help-page .nd-lead { font-size:clamp(20px,1.5vw,22px); }
.nd-help-group { border-bottom:1px solid #c9cbbf; scroll-margin-top:28px; }
.nd-help-services { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.nd-help-services>a { display:block; padding:24px; border:1px solid #c1c4b7; background:#F7F1E6; }
.nd-help-services>a:hover { border-color:var(--nd-ink); }
.nd-help-services h3 { margin-top:0; font-size:28px; }
@media(max-width:760px) {
 .nd-project-gallery,.nd-help-services { grid-template-columns:1fr; }
 .nd-project-gallery img { height:330px; }
 .nd-spotlight-layout,.nd-service-choices,.nd-service-note { grid-template-columns:1fr; gap:28px; }
 .nd-service-jump { gap:4px 24px; }
 .nd-service-spotlight,.nd-service-planning { padding-block:44px; }
 .nd-spotlight-layout img { height:340px; }
 .nd-service-choices article { padding:24px; }
}
.nd-offerings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:45px 70px; margin-top:45px; }
.nd-offerings article { padding-top:25px; border-top:1px solid #c9cbbf; }
.nd-offerings p { font-size:18px; max-width:540px; }
.nd-faq details { border-bottom:1px solid #c9cbbf; padding:20px 0; }
.nd-faq summary { cursor:pointer; font-size:16px; font-weight:600; line-height:1.6; padding-right:15px; }
.nd-faq p { color:var(--nd-muted); }
.nd-skip { position:fixed; top:-100px; left:16px; z-index:99999; padding:15px; background:#fff; color:#0B2444; }
.nd-skip:focus { top:12px; }
:where(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #9c702a; outline-offset:4px; }
.welcome-banner { background:var(--nd-ink); }
.welcome-banner__inner { min-height:35px; padding-block:7px; }
.welcome-banner__eyebrow { display:none; }
.welcome-banner p,.welcome-banner__link { font-size:16px; letter-spacing:.04em; }
.site-header { position:relative; background:var(--nd-paper); box-shadow:none; border-bottom:1px solid #d7d9d0; }
.site-header:before { display:none; }
.site-shell { width:min(1280px,calc(100% - 96px)); }
.site-header__inner { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:108px; padding-block:12px; }
.site-branding { flex:0 0 auto; width:172px; }
.site-logo.site-logo--nodak { width:172px; max-height:76px; object-fit:contain; }
.site-description { display:none; }
.site-nav { min-width:0; }
.site-nav>ul { display:flex; align-items:center; gap:24px; }
.site-nav a { font-size:16px; letter-spacing:0; text-transform:none; font-weight:700; padding:12px 0; }
.site-header .site-nav a[aria-current] { text-decoration:underline; text-underline-offset:8px; text-decoration-thickness:2px; }
.site-header .site-nav .menu-item-has-children > a::before { content:none; }
@media(min-width:1201px) {
 html:not(.has-js) .site-header .site-nav .menu-item-has-children > a::after { content:'▾'; display:inline; position:static; width:auto; height:auto; margin-left:7px; background:none; opacity:1; transform:none; }
}
.site-nav .ww-nav-mark { display:none; }
.site-nav .sub-menu { background:var(--nd-paper); border:1px solid #d7d9d0; box-shadow:0 8px 18px #0B244418; }
.site-nav .sub-menu a { padding:13px 18px; }
.site-menu-toggle { display:none; }
.nd-submenu-toggle { display:none; }
.home .breadcrumbs,.home .breadcrumb-trail { display:none; }
.site-footer { background:#efede5; color:var(--nd-ink); border-top:1px solid #d7d9d0; }
.site-footer p,.site-footer a,.site-footer h2,.site-footer__bottom { color:var(--nd-ink); }
.site-footer .button { background:var(--nd-ink); color:white; box-shadow:none; border:0; border-radius:0; }
.site-footer__nav h2 { color:#795b2c; }
.site-footer__inner { padding-block:55px; }
.quote-page { background:var(--nd-paper); color:var(--nd-ink); padding-block:55px; }
.quote-page__hero h1 { color:var(--nd-ink); font-family:var(--font-display); font-weight:400; }
.quote-page__hero h1 .quote-page__subtitle { display:block; margin-top:12px; font-size:clamp(24px,3vw,32px); line-height:1.3; }
.quote-page__hero .studio-kicker { color:#0B2444; }
.quote-page__hero p { color:var(--nd-muted); }
.quote-page .quote-form { background:#fffdf8; border:1px solid #deddd3; border-radius:0; box-shadow:none; }
.quote-page__layout { grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr); gap:55px; }
.quote-page__guide,.quote-page__form { border:0; border-radius:0; box-shadow:none; background:transparent; }
.quote-page__guide { padding:0; }
.quote-form { background:#fffdf8; border:1px solid #deddd3; border-radius:0; padding:30px; box-shadow:none; }
.quote-form__service { background:transparent; border:0; padding:0; }
.quote-form__service-list { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.quote-form__service-list label { min-height:55px; background:var(--nd-paper); border:1px solid #d9dbd1; border-radius:0; font-size:16px; padding:13px; }
.quote-form input,.quote-form textarea,.quote-form select { border-radius:2px; box-shadow:none; }
.quote-form #quote-form-feedback:empty { display:none; }
.quote-form__account-note { font-size:16px; box-shadow:none; background:transparent; padding:12px 0; }
.quote-form__account-note .button { background:none; color:var(--nd-ink); border:0; padding:4px 0; box-shadow:none; text-decoration:underline; }
.quote-form .button[type=submit] { background:var(--nd-ink); border:0; border-radius:0; box-shadow:none; color:white; }
.quote-form__policy-note { background:transparent; border:0; box-shadow:none; font-size:16px; }
.quote-form__policy-note span { text-transform:none; }
.nd-print-fields[hidden] { display:none; }
.nd-print-fields { margin:22px 0; padding:20px; background:var(--nd-paper); border:0; }
.nd-print-fields legend { font-family:var(--font-display); font-size:22px; }
.blog-hero { background:var(--nd-paper); border-bottom:1px solid #deddd3; }
.blog-hero .blog-kicker { color:#0B2444; }
.blog-hero h1 { color:var(--nd-ink); font-family:var(--font-display); font-weight:400; }
.blog-hero p { color:var(--nd-muted); }
.blog-card { background:#fffdf8; border:1px solid #deddd3; border-radius:0; box-shadow:none; }
.blog-card h2 { font-family:var(--font-display); font-weight:400; }
/* Shop journal: warm surfaces, readable prose, and no legacy neon accents. */
.blog-hero, .single-post, .blog-list, .blog-category-nav {
 --color-neon-cyan:#977039; --color-neon-pink:#0B2444;
 --color-neon-ink:#16303c; --color-neon-panel:#fffdf8;
}
.blog-hero__inner::before, .single-post__hero-inner::before { background:#977039; height:2px; width:80px; }
.single-post .single-post__hero { color:var(--nd-ink); background:var(--nd-paper); border-bottom:1px solid #deddd3; }
.single-post .single-post__hero h1 { color:var(--nd-ink); font-family:var(--font-display); font-weight:400; line-height:1.16; }
.single-post .single-post__hero time, .single-post .blog-kicker, .blog-card time { color:#0B2444; font-size:16px; }
.single-post .single-post__back { color:var(--nd-ink); border:0; border-bottom:1px solid #977039; border-radius:0; padding:0; font-size:16px; letter-spacing:0; text-transform:none; }
.single-post .single-post__back:hover, .single-post .single-post__back:focus { background:#eae4d6; color:var(--nd-ink); }
.single-post .single-post__body { max-width:1000px; }
.single-post .single-post__content, .single-post .single-post__media { background:#fffdf8; border:1px solid #deddd3; border-radius:0; box-shadow:none; }
.single-post .single-post__content { font-size:20px; line-height:1.75; padding:clamp(20px,4vw,42px); overflow-wrap:anywhere; }
.single-post__content :is(p,li) { font-size:20px; line-height:1.75; }
.single-post__content :is(h2,h3) { font-family:var(--font-display); font-weight:400; line-height:1.25; margin-top:1.4em; }
.single-post__content h2 { font-size:clamp(28px,3vw,36px); }
.single-post__content h3 { font-size:26px; }
.single-post__content img { max-width:100%; height:auto; }
.single-post__content figcaption { font-size:16px; line-height:1.5; color:#59686d; margin-top:10px; }
.single-post__content a:not(.wp-block-button__link) { color:#0B2444; text-decoration:underline; text-underline-offset:3px; }
.single-post__content blockquote { background:#f1ecdf; color:var(--nd-ink); border-left:3px solid #977039; box-shadow:none; }
.blog-category-nav .blog-category-nav__group, .blog-card:nth-child(n) { background:#fffdf8; border:1px solid #deddd3; box-shadow:none; border-radius:0; }
.blog-category-nav__links a { font-size:16px; min-height:44px; }
.blog-card:hover, .blog-card:focus-within { border-color:#977039; box-shadow:none; transform:none; }
.blog-card__media, .blog-card__media img { background:#eee9df; }
.blog-card__body { padding:24px; }
.blog-card h2 { line-height:1.25; }
.blog-card .blog-card__link { color:#0B2444; text-transform:none; letter-spacing:0; text-decoration:underline; text-underline-offset:4px; }
@media(max-width:700px) {
 .blog-list, .blog-category-nav { grid-template-columns:1fr; }
 .single-post__content :is(p,li) { font-size:18px; }
 .single-post__hero h1 { overflow-wrap:anywhere; }
}
.quote-thank-you { background:var(--nd-paper); }
.quote-thank-you__card { background:#fffdf8; border:1px solid #deddd3; border-radius:0; box-shadow:none; }
.quote-thank-you h1 { font-family:var(--font-display); font-weight:400; color:var(--nd-ink); }
.quote-thank-you .studio-kicker { color:#0B2444; }
.quote-thank-you__card>p { color:var(--nd-muted); }
.quote-thank-you__actions .button { background:var(--nd-ink); color:#fff; border:0; border-radius:0; box-shadow:none; }
@media(min-width:1201px) { .site-nav { display:block!important; } }
@media(max-width:1200px) {
 .site-shell,.nd-shell { width:calc(100% - 48px); }
 .site-menu-toggle { display:flex; min-height:44px; background:transparent; color:var(--nd-ink); border:1px solid #B87952; }
 .site-header__inner { flex-wrap:wrap; min-height:90px; }
 .site-nav { display:none; flex-basis:100%; width:100%; position:static; padding:10px 0; }
 .site-header[data-menu-open=true] .site-nav { display:block; }
 html:not(.has-js) .site-header .site-nav { display:block; }
 html:not(.has-js) .site-menu-toggle { display:none; }
 .site-nav>ul { display:block; }
 .site-nav .sub-menu { display:block!important; position:static; opacity:1; visibility:visible; transform:none; box-shadow:none; border:0; min-width:0; padding:0 0 6px 16px; }
 html.has-js .site-nav .menu-item-has-children > .sub-menu { display:none!important; }
 html.has-js .site-nav .nd-submenu-open > .sub-menu { display:block!important; }
 .site-nav .menu-item-has-children { position:relative; }
 .site-nav .menu-item-has-children > a { padding-right:60px; }
 .site-nav .nd-submenu-toggle { display:block; position:absolute; right:4px; top:4px; min-width:44px; min-height:44px; padding:8px; color:var(--nd-ink); background:transparent; border:0; font:inherit; }
 .site-nav li { display:block; width:100%; }
 .site-nav a { display:block; padding:12px; }
 .site-nav .menu-item-has-children>a:after { display:none; }
 .nd-hero-copy { padding:50px 30px 50px 24px; }
 .nd-hero { min-height:560px; }
 .nd-hero-image figcaption { display:block; font-size:18px; left:14px; right:14px; }
 .nd-hero-image figcaption span { display:block; max-width:none; margin-top:6px; }
 .nd-service-hero { gap:35px; }
 .nd-service-hero img { height:400px; }
 .nd-people img { height:400px; }
}
@media(max-width:760px) {
 .welcome-banner__link { display:none; }
 .welcome-banner p { font-size:16px; text-align:center; width:100%; }
 .site-branding,.site-logo.site-logo--nodak { width:138px; }
 .site-header__inner { min-height:84px; }
 .nd-hero { grid-template-columns:1fr; }
 .nd-hero-copy { padding:28px 24px; }
 .nd-site h1 { font-size:52px; }
 .nd-hero-image { height:390px; }
 .nd-hero-image>img { object-position:center; }
 .nd-hero-image figcaption { display:flex; }
 .nd-strip { gap:14px; font-size:16px; text-align:center; }
 .nd-section { padding-block:58px; }
 .nd-heading,.nd-cta-inner { display:block; }
 .nd-heading { margin-bottom:28px; }
 .nd-service-grid,.nd-story-grid,.nd-two-col,.nd-people,.nd-service-hero,.nd-offerings,.nd-steps { grid-template-columns:1fr; gap:35px; }
 .nd-card-image img { aspect-ratio:1.4; }
 .nd-story-grid img { height:290px; }
 .nd-people { padding-block:35px; }
 .nd-people img { height:380px; }
 .nd-band,.nd-cta { padding-block:48px; }
 .nd-cta .nd-button { margin-top:20px; }
 .nd-service-hero { padding-block:35px; }
 .nd-service-hero h1 { font-size:43px; }
 .nd-service-hero img { height:320px; }
 .quote-page__layout { display:flex; flex-direction:column-reverse; gap:30px; }
 .quote-form { padding:20px; }
 .quote-form__service-list { grid-template-columns:1fr; }
 .site-footer__inner { grid-template-columns:1fr 1fr; }
 .site-footer__brand { grid-column:1 / -1; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition:none!important; } }

.quote-page .quote-page__layout { display:block; max-width:760px; margin-inline:auto; }
.quote-page .quote-page__hero { max-width:760px; margin-inline:auto; }
.lets-talk-contact { margin-top:32px; }
.lets-talk-contact h2 { font-family:var(--font-display); font-size:28px; font-weight:400; }
.lets-talk-contact a { overflow-wrap:anywhere; text-decoration:underline; }
.lets-talk-email a, .quote-form__notice a { overflow-wrap:anywhere; text-decoration:underline; }
.quote-form--simple { gap:22px; }
.quote-form--simple #quote-details-help { margin-top:-10px; }
.quote-form--simple .quote-form__privacy { font-size:16px; text-decoration:underline; }

/* Readable supporting text at every viewport, including legacy form/footer rules. */
.nd-service-hero img.nd-division-logo { width:200px; height:auto; object-fit:contain; margin-bottom:24px; }
@media(max-width:760px) {
 .site-header__inner { gap:8px; }
 .site-header .site-menu-toggle { margin-left:auto; }
}
.site-header .site-nav a, .site-header .site-menu-toggle,
.site-footer .site-footer__nav a, .site-footer .site-footer__nav h2,
.site-footer .site-footer__bottom, .site-footer .button,
.welcome-banner .welcome-banner__inner p, .welcome-banner .welcome-banner__link,
.breadcrumbs, .breadcrumb-trail { font-size:16px; line-height:1.6; }
.site-footer .site-footer__brand p { font-size:18px; line-height:1.7; }
.site-footer .site-footer__nav a { padding-block:6px; }
.site-footer .site-footer__bottom { flex-wrap:wrap; gap:16px; }
.nd-site .nd-faq summary { font-size:18px; }
.nd-site .nd-hero-image figcaption { flex-wrap:wrap; }
.nd-site .nd-hero-image figcaption span { max-width:none; letter-spacing:0; text-transform:none; }
.quote-page p, .quote-page li, .quote-form p,
.quote-form input, .quote-form select, .quote-form textarea { font-size:18px; line-height:1.65; }
.quote-form label, .quote-form label>span, .quote-form__service-list label,
.quote-form .quote-form__account-note, .quote-form .quote-form__account-note span,
.quote-form .quote-form__account-note strong, .quote-form .quote-form__account-note a,
.quote-form .quote-form__policy-note, .quote-form .quote-form__policy-note span,
.quote-form .quote-form__policy-note strong, .quote-form .quote-form__policy-note a,
.quote-form .quote-form__disclaimer, .quote-form .button,
.quote-page .studio-kicker, .quote-thank-you .studio-kicker { font-size:16px; line-height:1.65; letter-spacing:0; text-transform:none; }
.quote-form .quote-form__policy-note, .quote-form .quote-form__account-note { color:var(--nd-ink); }
.quote-form input::placeholder, .quote-form textarea::placeholder { color:#526065; opacity:1; }
.blog-card p, .blog-hero p, .quote-thank-you__card>p { font-size:18px; line-height:1.7; }
.blog-kicker, .blog-card time, .blog-card__link, .blog-category-filters a { font-size:16px; }
.nd-service-grid>*,.nd-two-col>*,.nd-cta-inner>*,.site-footer__inner>* { min-width:0; }
.nd-site .nd-button { white-space:normal; line-height:1.5; }
@media(max-width:760px) {
 .nd-strip { flex-direction:column; gap:10px; }
 .nd-site .nd-kicker { font-size:16px; letter-spacing:.05em; }
 .site-footer__inner { grid-template-columns:1fr; }
 .quote-form__grid { grid-template-columns:1fr; }
}

/* Shared responsive controls: native disclosure with explicit keyboard toggles. */
.site-nav .nd-submenu-toggle:focus-visible, .nd-home-search summary:focus-visible { outline:3px solid #F7F1E6; outline-offset:3px; box-shadow:0 0 0 5px #0B2444; }
.nd-home-search :is(input,button):focus-visible { outline:3px solid #0B2444; outline-offset:3px; }
@media (min-width:768px) and (max-width:1200px) {
 body .site-header .site-nav > ul.nd-home-nav { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px 16px; align-items:start; }
}
@media (min-width:1201px) {
 .site-nav .menu-item-has-children { position:relative; padding-right:48px; }
 .site-nav .menu-item-has-children > a::after { display:none; }
 .site-nav .nd-submenu-toggle { display:block; position:absolute; right:0; top:50%; transform:translateY(-50%); min-width:44px; min-height:44px; padding:5px; border:0; color:#0B2444; background:transparent; font:inherit; font-size:13px; }
 html.has-js .site-nav .menu-item-has-children > .sub-menu { display:none; }
 html.has-js .site-nav .nd-submenu-open > .sub-menu { display:block; opacity:1; visibility:visible; transform:none; }
}

.nd-submenu-toggle::before { content:""; display:block; width:9px; height:9px; margin:auto; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.nd-submenu-toggle[aria-expanded="true"]::before { transform:translateY(2px) rotate(225deg); }
