html, body { margin:0; padding:0; }

/* Consolidated local rules and responsive hardening. */
[data-site-logo-variant] { flex-shrink:0; }
[data-site-logo-variant], [data-site-logo-variant] * { white-space:nowrap; }
html { width:100%; max-width:100%; overflow-x:hidden; scroll-behavior:smooth; }
body { width:100%; max-width:100%; overflow-x:hidden; }
*, *::before, *::after { box-sizing:border-box; }
.site-main { width:100%; min-width:0; display:block; }
.site-main > * { min-width:0; }
img, svg { max-width:100%; }
img { height:auto; }
.navigation-link-dummy, .velorian-footer-planned-link { cursor:pointer; }
.velorian-footer-legal-inline-links { display:flex; flex-wrap:wrap; gap:.75rem 1rem; font-size:var(--font-size-xs); }
.velorian-footer-legal-inline-links a { text-decoration:none; }
.velorian-footer-legal-inline-links a:hover, .velorian-footer-legal-inline-links a:focus-visible { text-decoration:underline; }
.form-status { margin-top:var(--spacing-sm); color:var(--color-primary); font-size:var(--font-size-sm); line-height:1.5; }
.form-status[hidden] { display:none; }
.contact-link-static { cursor:default !important; }
.legal-page-shell { background:var(--color-surface); color:var(--color-on-surface); }
.legal-hero { position:relative; padding:clamp(5rem,10vw,8rem) var(--spacing-xl) clamp(3rem,7vw,5rem); background:var(--color-primary); color:var(--color-on-primary); overflow:hidden; }
.legal-hero-inner { width:min(100%, var(--content-max-width)); margin:0 auto; }
.legal-hero h1 { color:var(--color-on-primary); max-width:18ch; margin:0 0 1rem; font-family:var(--font-family-heading); font-size:clamp(2.5rem,6vw,4.5rem); line-height:1.05; }
.legal-hero p { max-width:70ch; opacity:.9; }
.legal-content { width:min(100%, 70rem); margin:0 auto; padding:clamp(3rem,7vw,6rem) var(--spacing-xl); }
.legal-intro { padding:1.25rem 1.4rem; margin-bottom:2rem; border:1px solid var(--color-outline); border-radius:var(--border-radius-md); background:var(--color-surface-tint); }
.legal-section { padding:1.75rem 0; border-bottom:1px solid var(--color-outline); }
.legal-section:last-child { border-bottom:0; }
.legal-section h2 { margin:0 0 .8rem; font-family:var(--font-family-heading); font-size:clamp(1.55rem,3vw,2.2rem); line-height:1.2; color:var(--color-primary); }
.legal-section h3 { margin:1.25rem 0 .5rem; font-size:1.1rem; }
.legal-section p, .legal-section li { line-height:1.75; }
.legal-section ul { margin:.75rem 0 0 1.25rem; padding:0; }
.legal-back { margin-top:2rem; display:inline-flex; }
@media (max-width: 767px) {
  :root { --spacing-4xl: clamp(3rem, 12vw, 4.5rem); }
  .site-main h1, .site-main h2, .site-main h3, .site-main .hero-title, .site-main .section-title, .site-main .section-subtitle { text-align:center !important; margin-left:auto; margin-right:auto; }
  .site-main .hero-title { font-size:clamp(2rem,10vw,2.8rem) !important; max-width:18ch; }
  .site-main .section-title { font-size:clamp(1.65rem,8vw,2.25rem) !important; }
  .site-main .section-subtitle { font-size:clamp(.98rem,4vw,1.1rem) !important; }
  .site-main p { overflow-wrap:anywhere; }
  .btn, button, input, select, textarea { max-width:100%; }
  .btn { white-space:normal; }
  form, .contact-form, .contact-form-secondary, .privacy-form, .faq-contact-form, .arrival-form, .subscription-native-form, .submissions-quick-form { width:100%; min-width:0; }
  form > *, .form-field { min-width:0; max-width:100%; }
  .contact-form-split, .contact-cards-row, .contact-main-card, .location-container, .reasons-container, .subscription-form-grid { grid-template-columns:1fr !important; }
  .legal-hero { padding-left:var(--spacing-lg); padding-right:var(--spacing-lg); }
  .legal-hero h1 { text-align:center; margin-left:auto; margin-right:auto; font-size:clamp(2rem,11vw,3rem); }
  .legal-hero p { text-align:center; margin-left:auto; margin-right:auto; }
  .legal-content { padding-left:var(--spacing-lg); padding-right:var(--spacing-lg); }
  .velorian-footer-legal-inline-links { justify-content:center; }
}
@media (max-width: 480px) {
  .navigation-bar { padding-left:1rem !important; padding-right:1rem !important; }
  .company-logo-brand { font-size:.9rem !important; }
  .legal-content { padding-left:1rem; padding-right:1rem; }
  .legal-section { padding:1.4rem 0; }
}

/* from about-us.html */

                              /* from about-us.html */

                              /* from about-us.html */

                                  /* from contact.html */

                              /* from contact.html */

                              /* from contact.html */

                                  /* from ehdot-ja-kyttehdot.html */

                              /* from ehdot-ja-kyttehdot.html */

                              /* from ehdot-ja-kyttehdot.html */

                                  /* from esteettmyys.html */

                              /* from esteettmyys.html */

                              /* from esteettmyys.html */

              @media (max-width: 1199px) {
              .faq-contact-split {
                flex-direction: column;
              }
              .faq-visual-region {
                flex: none;
                height: 40vh;
              }
              .faq-contact-rail {
                flex: none;
                width: 100%;
                min-width: 0;
                border-left: none;
                border-top: 1px solid var(--color-outline);
              }
              }
            
/* from esteettmyys.html */

                                  /* from homepage.html */

                              /* from homepage.html */

                              /* from homepage.html */

              section {
                position: relative;
                overflow: hidden;
              }
            
/* from homepage.html */

                                  /* from index.html */

                              /* from index.html */

                              /* from index.html */

                                  /* from kyntiohjeet-ja-aukiolo.html */

                              /* from kyntiohjeet-ja-aukiolo.html */

                              /* from kyntiohjeet-ja-aukiolo.html */

                                  /* from my-submissions.html */

                              /* from my-submissions.html */

                              /* from my-submissions.html */

                                  /* from palvelut.html */

                              /* from palvelut.html */

                              /* from palvelut.html */

                                  /* from ruokalista-esittely.html */

                              /* from ruokalista-esittely.html */

                              /* from ruokalista-esittely.html */

                                  /* from services.html */

                              /* from services.html */

                              /* from services.html */

                                  /* from terms-conditions.html */

                              /* from terms-conditions.html */

                              /* from terms-conditions.html */

                                  /* from tietosuojaseloste.html */

                              /* from tietosuojaseloste.html */

                              /* from tietosuojaseloste.html */

              section {
                position: relative;
                overflow: hidden;
              }
            
/* from tietosuojaseloste.html */

                                  /* from usein-kysytyt-kysymykset.html */

                              /* from usein-kysytyt-kysymykset.html */

                              /* from usein-kysytyt-kysymykset.html */

                                  /* from uutiskirjeen-tilaus.html */

                              /* from uutiskirjeen-tilaus.html */

                              /* from uutiskirjeen-tilaus.html */

                                  
/* Mobile layout corrections for generator sections that had no responsive breakpoint. */
@media (max-width: 767px) {
  .contact-site-contact-hero-container-elm {
    grid-template-columns: 1fr !important;
    gap: var(--spacing-xl) !important;
    padding-left: var(--spacing-lg) !important;
    padding-right: var(--spacing-lg) !important;
  }
  .contact-site-contact-hero-right-elm { text-align: center !important; }
  .contact-site-contact-hero-quick-links-elm { align-items: center !important; }
  .contact-site-contact-hero-elm { min-height: 72vh; }

  .about-us-site-mission-container-elm,
  .about-us-site-philosophy-container-elm,
  .about-us-site-values-container-elm,
  .about-us-site-location-cta-container-elm {
    grid-template-columns: 1fr !important;
  }
  .about-us-site-values-grid-elm { grid-template-columns: 1fr !important; }
}

/* Local system-font baseline replacing the removed generator font loader. */
html, body {
  font-family: var(--font-family-body);
  font-size: 1rem;
}
body {
  color: var(--color-on-surface);
  background: var(--color-surface);
  font-weight: var(--font-weight-body);
  font-style: normal;
  line-height: var(--line-height-body);
  letter-spacing: var(--letter-spacing-body);
  fill: var(--color-on-surface);
}

/* Final interaction hardening: all real navigation links must look active. */
.navigation-link-dummy { cursor:pointer !important; opacity:1 !important; }
.navigation-link-dummy:hover, .navigation-link-dummy:focus-visible { border-bottom-color:var(--color-accent) !important; }
.navigation-overlay-link.navigation-link-dummy { opacity:1 !important; }
.velorian-footer-planned-link { cursor:pointer !important; }
.velorian-footer-planned-link:hover, .velorian-footer-planned-link:focus-visible { color:var(--color-on-primary); text-decoration:underline; }
.navigation-hamburger, .navigation-close { border:0; background:transparent; font:inherit; line-height:1; }
.navigation-hamburger:focus-visible, .navigation-close:focus-visible { outline:2px solid var(--color-accent); outline-offset:3px; }
.contact-link-static { cursor:default !important; pointer-events:none; text-decoration:none; }
