/* Offline, navigation, responsive, accessible enhancements */
html { scroll-padding-top: 5rem; }
[id] { scroll-margin-top: 5rem; }
body { max-width: 100%; }
body.menu-is-open { overflow: hidden; }
.navigation-wrapper { display: block; position: sticky; top: 0; z-index: 1000; width: 100%; }
.navigation-section { position: relative; top: auto; }
.navigation-hamburger-label,.navigation-close-label { appearance: none; border: 0; background: transparent; padding: 0; flex-shrink: 0; }
.navigation-hamburger-label:focus-visible,.navigation-close-label:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.navigation-overlay { height: 100dvh; min-height: 100vh; min-height: 100dvh; overscroll-behavior: contain; }
.navigation-overlay.is-open { display: flex; }
.navigation-overlay:not(.is-open) { display: none; }
.navigation-destinations a { max-width: 100%; }
.navigation-dest-link { display: block; white-space: normal; overflow-wrap: anywhere; cursor: pointer; }
.navigation-directory-link { overflow-wrap: anywhere; }
.navigation-directory-link.is-text { cursor: text; }
.navigation-directory-link.is-text:hover,.mn-footer-nav-link.is-text:hover { text-decoration: none; transform: none; color: inherit; }
.navigation-bar-left,.navigation-overlay-header .navigation-bar-left { min-width: 0; }
.navigation-logo-link { height: auto; min-width: 0; }
.navigation-bar-right { align-items: center; }
.mn-footer-nav-link.is-text { cursor: text; }
.mn-footer-nav-link.is-text svg { display:none; }
.mn-footer-utility-nav { flex-wrap: wrap; }
.mn-footer-utility-link { display:inline-block; }
.mn-footer-legal-text { line-height:1.6; overflow-wrap:anywhere; }
.mn-footer-legal-text [data-company],.legal-contact [data-company] { display:inline; }
.site-footer-address { display:block; color: color-mix(in srgb, var(--color-surface) 72%, transparent); font-size: var(--font-size-xs); padding-top: .4rem; overflow-wrap: anywhere; }
.contact-form-status { margin-top: var(--spacing-md); color: var(--color-on-surface-secondary); font-size: var(--font-size-sm); }
.contact-form-hint { margin: 0 0 1rem; color:var(--color-on-surface-secondary); font-size:var(--font-size-sm); }
.contact-form-section, .contact-native-form { min-width: 0; }
img { max-width: 100%; height: auto; }
.atelier-hero-img,.ateljee-hero-media img,.contact-hero img,.products-hero img { height:100%; }
:where(a,button,input,textarea,summary):focus-visible { outline:2px solid var(--color-primary); outline-offset:3px; }
.navigation-overlay :where(a,button):focus-visible { outline-color: var(--color-on-primary); }
a[href],button,summary { -webkit-tap-highlight-color: transparent; }
.site-faq,.inspiration-section { padding: var(--spacing-4xl) var(--spacing-2xl); }
.site-faq-inner,.inspiration-inner { max-width:var(--content-max-width); margin:auto; }
.site-faq h2,.inspiration-section h2 { font: var(--font-weight-heading) var(--font-size-3xl)/1.22 var(--font-family-heading); margin:0 0 var(--spacing-lg); }
.site-faq details { padding:1rem 0; border-bottom:1px solid var(--color-outline); }
.site-faq summary { font:600 var(--font-size-lg)/1.4 var(--font-family-heading); cursor:pointer; }
.site-faq details p { margin:.6rem 0 0; max-width:70ch; }
.inspiration-hero { position:relative; padding:var(--spacing-4xl) var(--spacing-2xl); background:var(--color-surface-elevated); }
.inspiration-hero .inspiration-inner { display:grid; grid-template-columns:1fr 1fr; gap:var(--spacing-3xl); align-items:center; }
.inspiration-hero h1 { font:var(--font-weight-heading) var(--font-size-3xl)/1.15 var(--font-family-heading); margin:0 0 1rem; }
.inspiration-hero p { max-width:56ch; }
.inspiration-hero img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:var(--border-radius-lg); }
.inspiration-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--spacing-xl); }
.inspiration-card { min-width:0; background:var(--color-surface-tint); border-radius:var(--border-radius-lg); overflow:hidden; }
.inspiration-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.inspiration-card div { padding:var(--spacing-xl); }
.inspiration-card h3 { font:var(--font-weight-heading) var(--font-size-2xl)/1.2 var(--font-family-heading); margin:0 0 .6rem; }
.inspiration-cta { display:flex; flex-wrap:wrap; gap:var(--spacing-md); margin-top:var(--spacing-xl); }
.legal-content { width:100%; padding:clamp(2rem,6vw,5rem) var(--spacing-2xl); color:var(--color-on-surface); }
.legal-inner { max-width:860px; margin:auto; }
.legal-inner h1 { font:600 clamp(2.3rem,5vw,3.8rem)/1.18 var(--font-family-heading); margin:0 0 1rem; }
.legal-inner h2 { font:600 clamp(1.4rem,2.5vw,1.85rem)/1.3 var(--font-family-heading); margin:2rem 0 .55rem; }
.legal-inner h3 { font:600 1.15rem/1.35 var(--font-family-heading); margin:1.1rem 0 .4rem; }
.legal-inner p { font-size:1rem; margin:.6rem 0 1rem; line-height:1.75; overflow-wrap:anywhere; }
.legal-inner ul { list-style:disc; padding-left:1.6rem; margin:.5rem 0 1rem; }
.legal-inner li { margin:.35rem 0; line-height:1.65; }
.legal-inner a { color:var(--color-primary); text-decoration:underline; text-underline-offset:2px; }
.legal-intro { color:var(--color-on-surface-secondary); }
.legal-contact { background:var(--color-surface-tint); border-radius:var(--border-radius-lg); padding:var(--spacing-xl); margin:1.5rem 0; }
.legal-links { display:flex; gap:1rem; flex-wrap:wrap; padding-top:1.5rem; border-top:1px solid var(--color-outline); margin-top:2.5rem; }
.legal-links a { text-decoration:none; border:1px solid var(--color-outline); padding:.6rem 1rem; border-radius:var(--border-radius-full); }
[data-company], [data-address] { overflow-wrap:anywhere; }
@media(max-width: 991px) {
 .inspiration-hero .inspiration-inner { grid-template-columns:1fr; }
 .inspiration-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width: 767px) {
 .navigation-overlay-body { align-content:start; padding-bottom:2rem; overflow-y:auto; }
 .navigation-destinations { gap:var(--spacing-lg); }
 .navigation-dest-link { font-size:clamp(2rem,8vw,3.3rem); line-height:1.05; }
 .navigation-directory { gap:var(--spacing-lg); }
 .navigation-overlay-header,.navigation-bar { grid-template-columns:minmax(0,1fr) auto; }
 .site-faq,.inspiration-section,.inspiration-hero { padding:var(--spacing-3xl) var(--spacing-md); }
 .legal-content { padding:2rem var(--spacing-md); }
 .inspiration-gallery { grid-template-columns:1fr; }
 .mn-footer-utility-nav { justify-content:flex-start; }
}
@media(max-width: 479px) {
 .navigation-bar,.navigation-overlay-header { padding: .7rem var(--spacing-md); }
 .logo-brand-name { font-size:clamp(1rem,4vw,1.125rem); }
 .logo-brand-tagline { font-size:clamp(.47rem,1.8vw,.55rem); letter-spacing:.10em; }
 .logo-mark-wrapper { width:30px; height:30px; }
 .company-logo-light,.company-logo-dark { gap:.45rem; }
 .navigation-dest-link { font-size:clamp(1.9rem,10vw,2.8rem); }
 .navigation-overlay-body { gap:var(--spacing-2xl); }
 .mn-footer-utility-nav { align-items:flex-start; flex-direction:column; }
 .btn { max-width:100%; white-space:normal; overflow-wrap:anywhere; }
 .contact-hero-inner,.products-combinations-wrapper, .atelier-editorial-inner { min-width:0; }
 .atelier-hero-heading,.products-hero h1,.ateljee-hero h1,.contact-hero h1 { overflow-wrap:anywhere; font-size:clamp(2.05rem,9vw,3.1rem); }
 .legal-content { padding:1.6rem var(--spacing-md); }
}
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto;} *,*::before,*::after{scroll-behavior:auto !important;transition-duration:.01ms !important;animation-duration:.01ms !important;} }

.contact-hero-textlink.is-text,.contact-direct-link.is-text,.company-card-link.is-text { cursor:text; }
.contact-hero-textlink.is-text:hover,.contact-direct-link.is-text:hover,.company-card-link.is-text:hover { color:inherit; text-decoration:none; transform:none; }
.contact-consent-check a { color:var(--color-primary); text-decoration:underline; text-underline-offset:2px; }

/* Consistent base styling for the new Finnish legal/inspiration pages. */
html { font-family: var(--font-family-body); font-size: 1rem; }
*, *::before, *::after { box-sizing: border-box; }
body { margin:0; font-family: var(--font-family-body); font-weight:var(--font-weight-body); letter-spacing: var(--letter-spacing-body); line-height:var(--line-height-body); color:var(--color-on-surface); background:var(--color-surface); }
.legal-content { width:100%; max-width:100%; }
.inspiration-hero .inspiration-inner { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.inspiration-hero .inspiration-inner > * { min-width:0; }
.inspiration-hero h1 { overflow-wrap:anywhere; }
@media(max-width:991px) { .inspiration-hero .inspiration-inner { grid-template-columns:minmax(0,1fr); } }
@media(min-width:768px) { .atelier-hero-heading { font-size:clamp(2.8rem,3.9vw,3.6rem); } }
.contact-hero-textlink.is-text, .contact-direct-link.is-text, .company-card-link.is-text { text-decoration:none !important; cursor:text !important; }
/* Mobile navigation uses two actual grid items: logo and burger/close. */
@media(max-width:767px) {
  .navigation-bar-center, .navigation-overlay-header .navigation-bar-center { display:none; }
  .navigation-bar, .navigation-overlay-header { grid-template-columns: minmax(0,1fr) auto; }
  .navigation-bar-right { grid-column:2; grid-row:1; align-self:center; }
  .navigation-bar-left { grid-column:1; grid-row:1; align-self:center; }
}
