@layer reset, tokens, layout, components, utilities;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body { margin: 0; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
  img { max-width: 100%; display: block; }
  a { color: inherit; text-decoration: none; }
  button { font: inherit; cursor: pointer; border: none; background: none; }
  ul { list-style: none; margin: 0; padding: 0; }
  h1, h2, h3, h4, p { margin: 0; }
  input, textarea { font: inherit; }
}

@layer tokens {
  :root {
    --color-cream: #f8f2e7;
    --color-cream-alt: #f1e6d2;
    --color-paper: #fffcf6;
    --color-ink: #3a2c22;
    --color-ink-soft: #6b5847;
    --color-terracotta: #c1613b;
    --color-terracotta-dark: #9c4c2d;
    --color-clay: #8a5a3f;
    --color-sage: #7c8560;
    --color-sage-dark: #5f6849;
    --color-gold: #c9974a;
    --color-border: #e5d7bd;
    --color-header-scrolled: rgba(248, 242, 231, 0.96);

    --font-heading: 'Commissioner', sans-serif;
    --font-body: 'Commissioner', sans-serif;
    --font-hand: 'Caveat', cursive;

    --font-size-hero: clamp(2.4rem, 4vw + 1.4rem, 4.4rem);
    --font-size-h2: clamp(1.9rem, 1.6vw + 1.3rem, 2.75rem);
    --font-size-h3: clamp(1.25rem, 0.6vw + 1.05rem, 1.6rem);
    --font-size-body: 1.0625rem;
    --font-size-small: 0.9rem;

    --space-2xs: 0.5rem;
    --space-xs: 0.85rem;
    --space-sm: 1.25rem;
    --space-md: 2rem;
    --space-lg: 3.5rem;
    --space-xl: 5.5rem;
    --space-2xl: 8rem;

    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-pill: 999px;

    --shadow-sm: 0 1px 2px rgba(58,44,34,0.08);
    --shadow-md: 0 1px 2px rgba(58,44,34,0.08), 0 8px 20px -8px rgba(58,44,34,0.28);
    --shadow-lg: 0 2px 4px rgba(58,44,34,0.1), 0 16px 32px -12px rgba(58,44,34,0.32), 0 30px 60px -30px rgba(58,44,34,0.3);
    --shadow-inset: inset 0 0 0 1px rgba(58,44,34,0.06);

    --transition-base: 0.35s cubic-bezier(0.25, 0.8, 0.4, 1);
    --transition-fast: 0.2s ease;

    --container-width: 1240px;
  }
}

@layer layout {
  body { background: var(--color-cream); color: var(--color-ink); font-family: var(--font-body); font-size: var(--font-size-body); line-height: 1.7; }

  .main-navigation {
    position: sticky; top: 0; z-index: 200;
    padding: 1.25rem 0;
    background: transparent;
    border-bottom: 1px solid transparent;
    transition: background var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base), padding var(--transition-base);
  }
  .main-navigation.is-scrolled {
    background: var(--color-header-scrolled);
    backdrop-filter: blur(10px);
    border-bottom-color: var(--color-border);
    box-shadow: var(--shadow-sm);
    padding: 0.85rem 0;
  }
  .navigation-container { max-width: var(--container-width); margin: 0 auto; padding: 0 1.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
  .navigation-logo { display: flex; align-items: center; gap: 0.6rem; font-weight: 700; font-size: 1.15rem; letter-spacing: -0.01em; }
  .navigation-logo-text em { display: block; font-style: normal; font-weight: 400; font-size: 0.65rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-ink-soft); }
  .navigation-links { display: none; align-items: center; gap: 1.9rem; }
  .navigation-links a:not(.navigation-cta) { position: relative; font-weight: 500; font-size: 0.95rem; padding: 0.25rem 0; }
  .navigation-links a:not(.navigation-cta)::after {
    content: ''; position: absolute; left: 0; bottom: -2px; width: 0; height: 2px; background: var(--color-terracotta-dark);
    transition: width var(--transition-base);
  }
  .navigation-links a:not(.navigation-cta):hover::after, .navigation-links a.is-active::after { width: 100%; }
  .navigation-cta {
    background: var(--color-terracotta-dark); color: var(--color-paper); padding: 0.7rem 1.4rem; border-radius: var(--radius-pill);
    font-weight: 600; font-size: 0.9rem; transition: background var(--transition-base), transform var(--transition-base), box-shadow var(--transition-base);
    box-shadow: var(--shadow-sm);
  }
  .navigation-cta:hover { background: var(--color-terracotta); transform: translateY(-2px); box-shadow: var(--shadow-md); }
  .navigation-toggle { display: flex; flex-direction: column; gap: 5px; width: 44px; height: 44px; align-items: center; justify-content: center; }
  .navigation-toggle span { width: 22px; height: 2px; background: var(--color-ink); border-radius: 2px; transition: transform var(--transition-base), opacity var(--transition-base); }
  .navigation-toggle.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .navigation-toggle.is-active span:nth-child(2) { opacity: 0; }
  .navigation-toggle.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  .mobile-menu-panel {
    max-height: 0; overflow: hidden; display: flex; flex-direction: column;
    background: var(--color-paper); border-bottom: 1px solid var(--color-border);
    transition: max-height var(--transition-base) ease;
  }
  .mobile-menu-panel.is-open { max-height: 26rem; }
  .mobile-menu-panel a { padding: 0.9rem 1.5rem; font-weight: 500; border-bottom: 1px solid var(--color-border); }
  .mobile-menu-panel a.navigation-cta { margin: 0.85rem 1.5rem; text-align: center; border-bottom: none; }

  .hero-section { max-width: var(--container-width); margin: 0 auto; padding: var(--space-xl) 1.5rem var(--space-lg); }
  .hero-content-wrapper { display: grid; gap: var(--space-lg); }
  .page-hero-section { max-width: var(--container-width); margin: 0 auto; padding: var(--space-xl) 1.5rem var(--space-md); }
  .page-hero-content { max-width: 46rem; }

  .polaroid-hero-strip { max-width: var(--container-width); margin: 0 auto; padding: 0 1.5rem var(--space-lg); display: flex; justify-content: center; }

  .story-block {
    max-width: var(--container-width); margin: 0 auto; padding: var(--space-lg) 1.5rem;
    display: grid; gap: var(--space-lg); align-items: center;
  }
  .story-block-reversed .story-image-column { order: 2; }
  .story-block-reversed .story-text-column { order: 1; }

  .process-showcase { max-width: var(--container-width); margin: 0 auto; padding: var(--space-lg) 1.5rem; }
  .process-showcase-header { max-width: 40rem; margin: 0 auto var(--space-lg); text-align: center; }
  .process-cards-grid { display: grid; gap: var(--space-md); grid-template-columns: 1fr; }

  .craft-values-section { max-width: var(--container-width); margin: 0 auto; padding: var(--space-lg) 1.5rem; }
  .craft-values-header { max-width: 40rem; margin: 0 auto var(--space-lg); text-align: center; }
  .craft-values-grid { display: grid; gap: var(--space-md); grid-template-columns: 1fr; }

  .collection-gallery-section { max-width: var(--container-width); margin: 0 auto; padding: var(--space-lg) 1.5rem; }
  .collection-gallery-header { max-width: 40rem; margin: 0 auto var(--space-lg); text-align: center; }
  .collection-gallery-grid { display: grid; gap: var(--space-lg) var(--space-md); grid-template-columns: 1fr; justify-items: center; }

  .location-section { max-width: var(--container-width); margin: 0 auto; padding: var(--space-lg) 1.5rem var(--space-2xl); }
  .location-content-wrapper { display: grid; gap: var(--space-lg); align-items: stretch; }
  .location-map { border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-lg); min-height: 320px; border: 6px solid var(--color-paper); }
  .location-map iframe { width: 100%; height: 100%; min-height: 320px; border: 0; display: block; }
  .contact-map-full { max-width: var(--container-width); margin: 0 auto var(--space-lg); padding: 0 1.5rem; }
  .contact-map-full .location-map { min-height: 340px; }

  .contact-form-section { max-width: var(--container-width); margin: 0 auto; padding: var(--space-lg) 1.5rem; }
  .contact-form-wrapper { display: grid; gap: var(--space-lg); }
  .contact-info-column { display: flex; flex-direction: column; gap: var(--space-md); }

  .service-area-section { max-width: var(--container-width); margin: 0 auto; padding: var(--space-lg) 1.5rem; }
  .service-area-header { max-width: 40rem; margin: 0 auto var(--space-lg); text-align: center; }
  .service-area-grid { display: grid; gap: var(--space-md); grid-template-columns: 1fr; }

  .thanks-section { max-width: 34rem; margin: 0 auto; padding: var(--space-2xl) 1.5rem; text-align: center; }

  .legal-document { max-width: 48rem; margin: 0 auto; padding: var(--space-xl) 1.5rem var(--space-2xl); }
  .legal-document-header { margin-bottom: var(--space-lg); }
  .legal-document-body h2 { font-size: var(--font-size-h3); margin: var(--space-lg) 0 var(--space-sm); }
  .legal-document-body p { margin-bottom: var(--space-sm); }

  .page-footer { margin-top: auto; background: var(--color-ink); color: var(--color-cream); padding: var(--space-xl) 1.5rem var(--space-md); }
  .footer-content-wrapper { max-width: var(--container-width); margin: 0 auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-lg); text-align: center; padding-bottom: var(--space-lg); border-bottom: 1px solid rgba(248,242,231,0.14); }
  .footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.6rem; }
  .footer-contact { display: flex; flex-direction: column; gap: 0.5rem; font-size: var(--font-size-small); }
  .footer-legal { max-width: var(--container-width); margin: 0 auto; padding-top: var(--space-md); display: flex; flex-direction: column; align-items: center; gap: 0.75rem; text-align: center; }
  .footer-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.25rem; font-size: var(--font-size-small); }

  html, body { height: 100%; }
  body > main { flex: 1; }
}

@layer components {
  .eyebrow-text { display: inline-block; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--color-terracotta-dark); margin-bottom: 0.9rem; }
  .section-kicker { display: inline-block; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.13em; text-transform: uppercase; color: var(--color-sage-dark); margin-bottom: 0.6rem; }

  h1 { font-family: var(--font-heading); font-size: var(--font-size-hero); line-height: 1.06; font-weight: 700; letter-spacing: -0.02em; color: var(--color-ink); }
  h2 { font-family: var(--font-heading); font-size: var(--font-size-h2); line-height: 1.15; font-weight: 700; letter-spacing: -0.015em; margin-bottom: var(--space-sm); }
  h3 { font-family: var(--font-heading); font-size: var(--font-size-h3); font-weight: 600; margin-bottom: 0.6rem; }
  .hero-lead { font-size: 1.15rem; color: var(--color-ink-soft); max-width: 34rem; line-height: 1.7; }
  .story-text-column p { color: var(--color-ink-soft); margin-bottom: var(--space-sm); }
  .story-text-column p:last-of-type { margin-bottom: var(--space-md); }

  .hero-actions { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: var(--space-md); }

  .button-primary, .button-ghost {
    display: inline-flex; align-items: center; gap: 0.6rem; padding: 0.95rem 1.9rem; border-radius: var(--radius-pill);
    font-weight: 600; font-size: 0.98rem; transition: transform var(--transition-base), box-shadow var(--transition-base), background var(--transition-base), color var(--transition-base);
    min-height: 44px;
  }
  .button-primary { background: var(--color-terracotta-dark); color: var(--color-paper); box-shadow: var(--shadow-md); }
  .button-primary:hover { background: var(--color-terracotta); transform: translateY(-3px); box-shadow: var(--shadow-lg); }
  .button-ghost { background: transparent; color: var(--color-ink); border: 1.5px solid var(--color-border); }
  .button-ghost:hover { border-color: var(--color-terracotta-dark); color: var(--color-terracotta-dark); transform: translateY(-3px); box-shadow: var(--shadow-sm); }

  .text-link-animated { display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; color: var(--color-terracotta-dark); position: relative; }
  .text-link-animated i { transition: transform var(--transition-base); }
  .text-link-animated:hover i { transform: translateX(4px); }

  .hero-quote-card {
    background: var(--color-paper); border-radius: var(--radius-lg); padding: var(--space-md);
    box-shadow: var(--shadow-lg); border: 1px solid var(--color-border); position: relative;
    max-width: 26rem;
  }
  .hero-quote-icon { color: var(--color-terracotta); font-size: 1.6rem; opacity: 0.5; margin-bottom: 0.8rem; }
  .hero-quote-card blockquote { font-size: 1.08rem; line-height: 1.6; color: var(--color-ink); margin: 0 0 1rem; font-style: italic; }
  .hero-quote-card cite { font-family: var(--font-hand); font-size: 1.3rem; color: var(--color-sage-dark); font-style: normal; }

  .polaroid-frame {
    background: var(--color-paper); padding: 0.75rem 0.75rem 3rem; border-radius: 4px;
    box-shadow: var(--shadow-lg); display: inline-block; max-width: 100%;
  }
  .polaroid-frame img { border-radius: 2px; width: 100%; aspect-ratio: 4/5; object-fit: cover; filter: sepia(0.18) saturate(1.08) contrast(1.03) brightness(1.02); }
  .polaroid-frame-large img { aspect-ratio: 5/4; }
  .polaroid-frame figcaption { font-family: var(--font-hand); font-size: 1.35rem; color: var(--color-ink-soft); text-align: center; padding-top: 0.6rem; }

  .polaroid-tilt-left, .polaroid-tilt-right { transition: transform var(--transition-base); display: inline-block; }
  .polaroid-tilt-left { transform: rotate(-4deg); }
  .polaroid-tilt-right { transform: rotate(3.5deg); }
  .polaroid-tilt-left:hover, .polaroid-tilt-right:hover { transform: rotate(0deg) translateY(-10px) scale(1.02); }
  .polaroid-tilt-left:hover .polaroid-frame, .polaroid-tilt-right:hover .polaroid-frame { box-shadow: 0 4px 8px rgba(58,44,34,0.14), 0 30px 50px -18px rgba(58,44,34,0.4); }

  .section-divider { height: 3rem; background-image: repeating-linear-gradient(-45deg, var(--color-terracotta) 0 3px, transparent 3px 22px); opacity: 0.35; }
  .section-divider-alt { background-image: repeating-linear-gradient(45deg, var(--color-sage) 0 3px, transparent 3px 22px); opacity: 0.3; }

  .process-card {
    background: var(--color-paper); border-radius: var(--radius-lg); padding: var(--space-md);
    box-shadow: var(--shadow-md); border: 1px solid var(--color-border); position: relative;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
  }
  .process-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); }
  .process-step-number { font-family: var(--font-heading); font-size: 2.6rem; font-weight: 800; color: var(--color-cream-alt); position: absolute; top: 0.5rem; right: 1.2rem; -webkit-text-stroke: 1.5px var(--color-terracotta); color: transparent; }
  .process-card-icon { font-size: 1.6rem; color: var(--color-terracotta-dark); margin-bottom: 1rem; display: block; }
  .process-card p { color: var(--color-ink-soft); }

  .craft-value-card {
    background: var(--color-paper); border-radius: var(--radius-md); padding: var(--space-md);
    box-shadow: var(--shadow-sm); border: 1px solid var(--color-border);
    transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
  }
  .craft-value-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); border-color: var(--color-terracotta-dark); }
  .craft-value-card i { font-size: 1.5rem; color: var(--color-sage-dark); margin-bottom: 0.8rem; display: block; }
  .craft-value-card p { color: var(--color-ink-soft); }

  .service-area-card {
    background: var(--color-paper); border-radius: var(--radius-md); padding: var(--space-md);
    box-shadow: var(--shadow-sm); border: 1px solid var(--color-border); text-align: center;
    transition: transform var(--transition-base), box-shadow var(--transition-base);
  }
  .service-area-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-md); }
  .service-area-card i { font-size: 1.5rem; color: var(--color-terracotta-dark); margin-bottom: 0.8rem; display: block; }
  .service-area-card p { color: var(--color-ink-soft); }

  .location-details { background: var(--color-paper); border-radius: var(--radius-lg); padding: var(--space-lg); box-shadow: var(--shadow-md); border: 1px solid var(--color-border); }
  .location-info-list { display: flex; flex-direction: column; gap: 0.85rem; margin: var(--space-md) 0; }
  .location-info-list li { display: flex; align-items: center; gap: 0.7rem; color: var(--color-ink-soft); }
  .location-info-list i { color: var(--color-terracotta-dark); width: 1.2rem; }
  .location-info-list a { transition: color var(--transition-fast); }
  .location-info-list a:hover { color: var(--color-terracotta-dark); }

  .contact-info-card { background: var(--color-paper); border-radius: var(--radius-lg); padding: var(--space-md); box-shadow: var(--shadow-md); border: 1px solid var(--color-border); }

  .glossary-term { border-bottom: 2px dotted var(--color-terracotta-dark); cursor: help; font-weight: 600; color: var(--color-terracotta-dark); }

  .inquiry-form { display: flex; flex-direction: column; gap: var(--space-sm); }
  .form-field-group { display: flex; flex-direction: column; gap: 0.4rem; }
  .form-field-group label { font-size: 0.9rem; font-weight: 600; color: var(--color-ink-soft); }
  .form-field-group input, .form-field-group textarea {
    padding: 0.85rem 1rem; border-radius: var(--radius-sm); border: 1.5px solid var(--color-border);
    background: var(--color-paper); color: var(--color-ink); transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
    min-height: 44px;
  }
  .form-field-group textarea { min-height: 120px; resize: vertical; }
  .form-field-group input:focus, .form-field-group textarea:focus { outline: none; border-color: var(--color-terracotta-dark); box-shadow: 0 0 0 3px rgba(156,76,45,0.15); }
  .form-field-checkbox { display: flex; align-items: flex-start; gap: 0.6rem; font-size: 0.92rem; color: var(--color-ink-soft); }
  .form-field-checkbox input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--color-terracotta-dark); }
  .form-field-checkbox a { color: var(--color-terracotta-dark); text-decoration: underline; }
  .form-submit-button { align-self: flex-start; margin-top: 0.5rem; }

  .legal-updated { color: var(--color-ink-soft); font-size: 0.9rem; }
  .legal-term { color: var(--color-terracotta-dark); font-weight: 700; }
  .legal-definition-aside {
    background: var(--color-cream-alt); border-left: 4px solid var(--color-sage-dark); border-radius: var(--radius-sm);
    padding: 1rem 1.2rem; margin: var(--space-sm) 0 var(--space-md); font-size: 0.94rem; color: var(--color-ink-soft);
  }

  .thanks-checkmark-wrapper { display: flex; justify-content: center; margin-bottom: var(--space-md); }
  .thanks-checkmark { width: 96px; height: 96px; }
  .thanks-checkmark-circle { stroke: var(--color-sage-dark); stroke-width: 3; stroke-dasharray: 264; stroke-dashoffset: 264; animation: draw-circle 0.7s ease forwards; }
  .thanks-checkmark-check { stroke: var(--color-terracotta-dark); stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60; stroke-dashoffset: 60; animation: draw-check 0.5s ease 0.65s forwards; }
  .thanks-heading { opacity: 0; animation: fade-up-in 0.6s ease 1.1s forwards; margin-bottom: var(--space-sm); }
  .thanks-text { opacity: 0; animation: fade-up-in 0.6s ease 1.3s forwards; color: var(--color-ink-soft); margin-bottom: var(--space-md); }
  .thanks-section .button-primary { opacity: 0; animation: fade-up-in 0.6s ease 1.5s forwards; }

  @keyframes draw-circle { to { stroke-dashoffset: 0; } }
  @keyframes draw-check { to { stroke-dashoffset: 0; } }
  @keyframes fade-up-in { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }

  .cookie-consent-bar {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 500;
    background: var(--color-ink); color: var(--color-cream);
    box-shadow: 0 -10px 40px rgba(58,44,34,0.35);
    transform: translateY(100%); transition: transform var(--transition-base);
  }
  .cookie-consent-bar.is-visible { transform: translateY(0); }
  .cookie-consent-main { max-width: var(--container-width); margin: 0 auto; padding: 1.2rem 1.5rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
  .cookie-consent-main p { font-size: 0.9rem; max-width: 42rem; color: rgba(248,242,231,0.85); }
  .cookie-consent-actions { display: flex; gap: 0.7rem; flex-wrap: wrap; }
  .cookie-btn { padding: 0.7rem 1.2rem; border-radius: var(--radius-pill); font-size: 0.88rem; font-weight: 600; transition: transform var(--transition-fast), background var(--transition-fast), color var(--transition-fast); min-height: 44px; }
  .cookie-btn-accept { background: var(--color-terracotta-dark); color: var(--color-paper); }
  .cookie-btn-accept:hover { background: var(--color-terracotta); transform: translateY(-2px); }
  .cookie-btn-reject, .cookie-btn-customize { background: transparent; color: var(--color-cream); border: 1.5px solid rgba(248,242,231,0.35); }
  .cookie-btn-reject:hover, .cookie-btn-customize:hover { border-color: var(--color-cream); transform: translateY(-2px); }
  .cookie-consent-panel { max-height: 0; overflow: hidden; transition: max-height var(--transition-base) ease; max-width: var(--container-width); margin: 0 auto; }
  .cookie-consent-panel.is-open { max-height: 30rem; padding-bottom: 1.2rem; }
  .cookie-category { padding: 0.9rem 1.5rem; border-top: 1px solid rgba(248,242,231,0.12); }
  .cookie-category-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.3rem; }
  .cookie-category-header input { width: 20px; height: 20px; accent-color: var(--color-terracotta-dark); }
  .cookie-category p { font-size: 0.85rem; color: rgba(248,242,231,0.7); }
  .cookie-btn-save { margin: 0 1.5rem; background: var(--color-sage-dark); color: var(--color-paper); }
  .cookie-btn-save:hover { background: var(--color-sage); }

  .tippy-box[data-theme~='custom'] { background: var(--color-ink); color: var(--color-cream); font-size: 0.85rem; border-radius: var(--radius-sm); padding: 0.2rem; box-shadow: var(--shadow-md); }
  .tippy-box[data-theme~='custom'][data-placement^='top'] > .tippy-arrow::before { border-top-color: var(--color-ink); }
  .tippy-box[data-theme~='custom'][data-placement^='bottom'] > .tippy-arrow::before { border-bottom-color: var(--color-ink); }
}

@layer utilities {
  .is-active { color: var(--color-terracotta-dark) !important; }

  @media (min-width: 640px) {
    .process-cards-grid { grid-template-columns: repeat(2, 1fr); }
    .craft-values-grid { grid-template-columns: repeat(2, 1fr); }
    .service-area-grid { grid-template-columns: repeat(2, 1fr); }
    .collection-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .hero-actions { flex-wrap: nowrap; }
  }

  @media (min-width: 860px) {
    .navigation-links { display: flex; }
    .navigation-toggle { display: none; }
    .mobile-menu-panel { display: none; }
    .hero-content-wrapper { grid-template-columns: 1.15fr 0.85fr; align-items: center; }
    .story-block { grid-template-columns: 1fr 1fr; }
    .process-cards-grid { grid-template-columns: repeat(3, 1fr); }
    .craft-values-grid { grid-template-columns: repeat(4, 1fr); }
    .service-area-grid { grid-template-columns: repeat(4, 1fr); }
    .collection-gallery-grid { grid-template-columns: repeat(3, 1fr); }
    .location-content-wrapper { grid-template-columns: 1fr 1fr; }
    .contact-form-wrapper { grid-template-columns: 1.2fr 0.8fr; }
    .footer-content-wrapper { flex-direction: row; align-items: flex-start; justify-content: space-between; text-align: left; }
    .footer-brand { max-width: 20rem; }
  }

  @media (min-width: 1200px) {
    .hero-quote-card { max-width: 28rem; }
  }
}