/*
Theme Name: Beauty by Klea
Theme URI: https://beautybyklea.com
Author: Beauty by Klea
Description: A modern, editorial WordPress theme for Beauty by Klea, a bridal hair & makeup studio in Livonia, Michigan.
Version: 1.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: beautybyklea
*/

:root{
  --bg:#f7f6f2; --surface:#ffffff; --ink:#1c1a17; --ink-soft:#6b6459;
  --line:#e6e2d8; --accent:#9c7a3c; --accent-soft:#f1e7d3; --overlay-ink:#120f0c;
  --radius:2px; --container:1240px;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#17150f; --surface:#211e18; --ink:#f3f0e9; --ink-soft:#b8ae9c;
    --line:rgba(255,255,255,0.14); --accent:#cba866; --accent-soft:rgba(203,168,102,0.16);
  }
}
:root[data-theme="dark"]{
  --bg:#17150f; --surface:#211e18; --ink:#f3f0e9; --ink-soft:#b8ae9c;
  --line:rgba(255,255,255,0.14); --accent:#cba866; --accent-soft:rgba(203,168,102,0.16);
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--bg); color:var(--ink); font-family:'Work Sans',sans-serif; font-weight:400; line-height:1.65; -webkit-font-smoothing:antialiased; }
img,svg{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ margin:0; padding:0; list-style:none; }
h1,h2,h3,h4{ font-family:'Bricolage Grotesque',sans-serif; color:var(--ink); line-height:1.05; margin:0; font-weight:300; text-wrap:balance; letter-spacing:-0.01em; }
h1{ font-size:clamp(2.6rem,6vw,5rem); font-weight:300; }
h2{ font-size:clamp(1.9rem,3.6vw,3rem); font-weight:300; }
h3{ font-size:clamp(1.15rem,1.8vw,1.4rem); font-weight:400; }
p{ margin:0; }
.container{ max-width:var(--container); margin:0 auto; padding:0 clamp(1.25rem,4vw,3rem); }
section{ padding:clamp(3.5rem,8vw,7rem) 0; }
.tight section{ padding:clamp(2.5rem,6vw,4.5rem) 0; }
.alt{ background:var(--surface); }
.label{ display:block; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:var(--ink-soft); font-weight:500; margin-bottom:1.1rem; }
.section-head{ max-width:640px; margin:0 auto 3.25rem; text-align:center; }
.section-head.left{ margin:0 0 2.5rem; text-align:left; }
.section-head p{ color:var(--ink-soft); margin-top:.9rem; font-size:1.02rem; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); }

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:.6em; font-weight:600; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; padding:1em 2em; border:1px solid transparent; cursor:pointer; transition:opacity .2s ease, background-color .2s ease, color .2s ease; white-space:nowrap; font-family:'Work Sans',sans-serif; }
.btn-dark{ background:var(--overlay-ink); color:#fdfcf8; }
.btn-dark:hover{ opacity:.82; }
.btn-line{ background:transparent; border-color:currentColor; color:var(--ink); }
.btn-line:hover{ background:var(--ink); color:var(--bg); }
.btn-line.on-dark{ color:#fdfcf8; }
.btn-line.on-dark:hover{ background:#fdfcf8; color:var(--overlay-ink); }
.btn-wa{ background:#25D366; color:#0b3d19; }
.btn-wa:hover{ opacity:.88; }
.btn-block{ width:100%; }
.btn-row{ display:flex; flex-wrap:wrap; gap:.85rem; }
.icon{ width:1em; height:1em; }

/* header */
header.site{ position:sticky; top:env(safe-area-inset-top,0px); z-index:80; background:color-mix(in srgb, #000 92%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid rgba(255,255,255,.08); }
.header-inner{ display:flex; align-items:center; justify-content:space-between; padding:1.1rem 0; gap:1rem; }
.brand a{ font-family:'Bricolage Grotesque',sans-serif; font-size:1.3rem; font-weight:400; letter-spacing:-0.01em; display:flex; align-items:center; }
.brand a img{ height:72px; width:auto; display:block; }
.header-right{ display:flex; align-items:center; gap:1.1rem; }
.menu-toggle{ display:flex; align-items:center; justify-content:center; background:none; border:1px solid rgba(255,255,255,.25); cursor:pointer; width:46px; height:46px; border-radius:50%; transition:border-color .2s ease, background-color .2s ease; }
.menu-toggle:hover{ background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.4); }
.menu-toggle .bars{ width:18px; height:14px; position:relative; flex:none; }
.menu-toggle .bars span{ position:absolute; left:0; right:0; height:1.5px; background:var(--accent); transition:transform .25s ease, top .25s ease, opacity .2s ease; }
.menu-toggle .bars span:nth-child(1){ top:0; }
.menu-toggle .bars span:nth-child(2){ top:6px; }
.menu-toggle .bars span:nth-child(3){ top:12px; }
.menu-toggle[aria-expanded="true"] .bars span:nth-child(1){ top:6px; transform:rotate(45deg); }
.menu-toggle[aria-expanded="true"] .bars span:nth-child(2){ opacity:0; }
.menu-toggle[aria-expanded="true"] .bars span:nth-child(3){ top:6px; transform:rotate(-45deg); }

nav.primary{ position:fixed; inset:0; z-index:70; background:var(--bg); display:flex; flex-direction:column; justify-content:center; align-items:center; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .3s ease, transform .3s ease, visibility 0s linear .3s; padding:2rem; }
nav.primary.open{ opacity:1; visibility:visible; transform:translateY(0); transition:opacity .3s ease, transform .3s ease; }
.menu{ display:flex; flex-direction:column; align-items:center; gap:1.2rem; text-align:center; }
.menu a{ font-family:'Bricolage Grotesque',sans-serif; font-size:clamp(1.5rem,4vw,2.2rem); font-weight:300; letter-spacing:-0.01em; }
.menu a:hover, .menu a.active, .menu li.current-menu-item > a{ color:var(--accent); }
.menu li.has-sub{ display:flex; flex-direction:column; align-items:center; gap:.7rem; }
.submenu{ display:flex; flex-direction:column; align-items:center; gap:.5rem; list-style:none; padding:0; margin:0; }
.submenu a{ font-family:'Work Sans',sans-serif; font-size:.92rem; font-weight:500; letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft); }
.submenu a:hover, .submenu a.active{ color:var(--accent); }
.nav-overlay-foot{ display:flex; flex-direction:column; align-items:center; gap:1.4rem; margin-top:2.75rem; }
.social{ display:flex; gap:.5rem; }
.social a{ width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center; border:1px solid var(--line); }
.social a:hover{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.social svg{ width:14px; height:14px; }

/* media frames */
.frame{ position:relative; overflow:hidden; background:
    radial-gradient(120% 90% at 20% 15%, #eef0e6 0%, transparent 55%),
    radial-gradient(100% 80% at 85% 90%, #cdd6c6 0%, transparent 60%),
    linear-gradient(150deg, #2b2a22 0%, #6b6349 45%, #c6bb9c 100%);
}
.frame img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }

/* page-header for sub-pages */
.page-hero{ position:relative; height:46vh; min-height:320px; display:flex; align-items:flex-end; }
.page-hero .frame{ position:absolute; inset:0; }
.page-hero-content{ position:relative; z-index:2; color:#fdfcf8; padding-bottom:2.5rem; }
.page-hero-content h1{ color:#fdfcf8; font-size:clamp(2.2rem,5vw,3.6rem); }

/* hero (home) */
.hero{ position:relative; height:min(92vh,880px); min-height:520px; display:flex; align-items:flex-end; }
.hero .frame{ position:absolute; inset:0; }
.hero-scrim{ position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,12,8,.72) 0%, rgba(10,12,8,.18) 45%, transparent 70%); }
.hero-content{ position:relative; z-index:2; color:#fdfcf8; padding-bottom:clamp(2.5rem,7vw,5rem); width:100%; }
.hero-content .label{ color:#eee7d6; }
.hero-content h1{ color:#fdfcf8; max-width:19ch; text-transform:uppercase; font-weight:200; letter-spacing:.01em; font-size:clamp(1.9rem,3.6vw,3.1rem); }
.hero-content p.lede{ color:rgba(253,252,248,.85); max-width:46ch; margin-top:1.1rem; font-size:1.08rem; }
.hero-actions{ margin-top:2rem; }

/* editorial alternating rows */
.row{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2.5rem,6vw,5rem); align-items:center; }
.row.reverse{ grid-template-columns:.95fr 1.05fr; }
.row.reverse .row-media{ order:2; }
.row-media .frame{ aspect-ratio:4/5; border-radius:var(--radius); }
.row-media .frame img{ object-position:top center; }
@media (max-width:980px){
  .row-media .frame{ aspect-ratio:3/4; }
}
.row-copy .label{ color:var(--accent); }
.row-copy p{ color:var(--ink-soft); margin-top:1.1rem; font-size:1.02rem; max-width:48ch; }
.stat-line{ display:flex; gap:2.5rem; margin-top:2rem; flex-wrap:wrap; }
.stat-line div strong{ display:block; font-family:'Bricolage Grotesque',sans-serif; font-size:1.8rem; font-weight:500; }
.stat-line div span{ font-size:.78rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em; }

/* three-up preview grid */
.trio{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.trio .frame{ aspect-ratio:3/4; border-radius:var(--radius); }
.center-cta{ text-align:center; margin-top:2.5rem; }

/* statement band */
.statement{ text-align:center; max-width:820px; margin:0 auto; }
.statement h2{ font-size:clamp(1.9rem,4.4vw,3.2rem); }
.statement p{ color:var(--ink-soft); margin-top:1.25rem; font-size:1.05rem; max-width:60ch; margin-left:auto; margin-right:auto; }

/* services */
.services-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.2rem 2rem; margin-top:2.5rem; }
.service-card{ padding-top:1.6rem; border-top:1px solid var(--line); }
.service-card .s-n{ font-size:.78rem; color:var(--ink-soft); letter-spacing:.06em; }
.service-card h3{ font-size:1.08rem; margin:.5rem 0 .7rem; }
.service-card p{ color:var(--ink-soft); font-size:.92rem; line-height:1.65; }

/* packages */
.package-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.5rem; margin-top:2rem; }
.package-card{ border:1px solid var(--line); padding:2.5rem 2.2rem; display:flex; flex-direction:column; }
.package-card.featured{ background:var(--overlay-ink); color:#fdfcf8; border-color:var(--overlay-ink); }
.package-card .tier-n{ font-size:.72rem; color:var(--ink-soft); letter-spacing:.14em; text-transform:uppercase; }
.package-card.featured .tier-n{ color:rgba(253,252,248,.6); }
.package-card h3{ margin-top:.6rem; font-size:1.7rem; }
.package-card.featured h3{ color:#fdfcf8; }
.package-card .price{ font-family:'Bricolage Grotesque',sans-serif; font-weight:400; font-size:2.1rem; margin-top:1rem; }
.package-card.featured .price{ color:#fdfcf8; }
.package-card .price span{ font-size:.7rem; font-weight:500; text-transform:uppercase; color:var(--ink-soft); display:block; margin-top:.2rem; }
.package-card.featured .price span{ color:rgba(253,252,248,.65); }
.package-card ul.pkg-list{ list-style:none; padding:0; margin:1.6rem 0 0; flex:1; }
.package-card ul.pkg-list li{ display:flex; gap:.6rem; align-items:flex-start; font-size:.92rem; color:var(--ink-soft); padding:.55rem 0; border-top:1px solid var(--line); }
.package-card ul.pkg-list li:first-child{ border-top:none; }
.package-card ul.pkg-list svg{ flex:none; margin-top:.2rem; color:var(--accent); }
.package-card.featured ul.pkg-list li{ color:rgba(253,252,248,.82); border-top-color:rgba(255,255,255,.14); }
.package-card.featured ul.pkg-list svg{ color:#cba866; }
.package-card .pkg-note{ font-size:.82rem; color:var(--ink-soft); font-style:italic; margin-top:1rem; }
.package-card.featured .pkg-note{ color:rgba(253,252,248,.65); }
.package-card .btn{ margin-top:1.6rem; }

.party-list{ border-top:1px solid var(--line); margin-top:1.5rem; }
.party-row{ display:flex; justify-content:space-between; gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--line); font-size:.96rem; }
.party-row span:last-child{ font-family:'Bricolage Grotesque',sans-serif; font-weight:500; white-space:nowrap; }
.party-note{ font-size:.85rem; color:var(--ink-soft); font-style:italic; margin-top:1.2rem; }

.include-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:.9rem 2rem; margin-top:1.5rem; }
.include-grid li{ display:flex; gap:.7rem; align-items:flex-start; color:var(--ink-soft); font-size:.94rem; }
.include-grid svg{ flex:none; margin-top:.2rem; color:var(--accent); }

/* faq */
.faq-list{ max-width:760px; margin:0 auto; border-top:1px solid var(--line); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{ cursor:pointer; list-style:none; padding:1.5rem 0; display:flex; justify-content:space-between; align-items:center; gap:1rem; font-family:'Bricolage Grotesque',sans-serif; font-weight:400; font-size:1.02rem; }
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary .ficon{ font-size:1.3rem; font-weight:300; transition:transform .2s ease; flex:none; color:var(--ink-soft); }
.faq-item[open] summary .ficon{ transform:rotate(45deg); }
.faq-item .faq-a{ padding:0 0 1.6rem; color:var(--ink-soft); max-width:64ch; }

/* gallery */
.filter-row{ display:flex; gap:.6rem; flex-wrap:wrap; justify-content:center; margin-bottom:2.5rem; }
.filter-chip{ border:1px solid var(--line); background:transparent; padding:.6em 1.3em; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; font-family:'Work Sans',sans-serif; color:var(--ink); }
.filter-chip.active{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.gallery-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:220px; gap:.85rem; }
.g-item{ border-radius:var(--radius); overflow:hidden; }
.g-item.tall{ grid-row:span 2; }

/* testimonials */
.t-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:2.5rem; }
.t-card{ text-align:center; }
.t-avatar{ width:64px; height:64px; border-radius:50%; margin:0 auto 1.2rem; overflow:hidden; }
.t-card .quote{ color:var(--ink); font-size:1.05rem; font-family:'Bricolage Grotesque',sans-serif; font-weight:400; line-height:1.5; }
.t-card .who{ margin-top:1rem; font-size:.8rem; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em; }

/* instagram feed */
.ig-head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.ig-head a{ font-size:.82rem; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); }
.ig-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:.6rem; margin-top:1.5rem; }
.ig-grid .frame{ aspect-ratio:1/1; border-radius:var(--radius); }

/* newsletter */
.newsletter{ text-align:center; }
.newsletter h2{ max-width:26ch; margin:0 auto; }
.newsletter p{ color:var(--ink-soft); margin-top:.8rem; max-width:46ch; margin-left:auto; margin-right:auto; }
.newsletter-form{ display:flex; gap:.7rem; max-width:420px; margin:1.75rem auto 0; }
.newsletter-form input{ flex:1; padding:.85em 1em; border:1px solid var(--line); background:var(--surface); font-family:'Work Sans',sans-serif; font-size:.92rem; color:var(--ink); border-radius:0; }
.newsletter-form .btn{ flex:none; }

/* CTA band */
.cta-band{ position:relative; overflow:hidden; text-align:center; padding:clamp(4rem,9vw,7rem) 0; }
.cta-band .frame{ position:absolute; inset:0; }
.cta-band .cta-scrim{ position:absolute; inset:0; background:rgba(10,12,8,.62); }
.cta-band .cta-inner{ position:relative; z-index:2; color:#fdfcf8; }
.cta-band h2{ color:#fdfcf8; max-width:20ch; margin:0 auto; }
.cta-band .btn-row{ justify-content:center; margin-top:1.75rem; }

/* booking / contact */
.booking-split{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); }
.channels-pane{ padding:clamp(2rem,4vw,3rem); border-right:1px solid var(--line); }
.channel{ padding:1.4rem 0; border-bottom:1px solid var(--line); }
.channel:first-child{ padding-top:0; }
.channel:last-child{ border-bottom:none; padding-bottom:0; }
.channel h4{ font-family:'Bricolage Grotesque',sans-serif; font-size:1rem; font-weight:500; margin-bottom:.3rem; display:flex; align-items:center; gap:.5em; }
.channel p{ color:var(--ink-soft); font-size:.9rem; margin-bottom:.9rem; }
.form-pane{ padding:clamp(2rem,4vw,3rem); background:var(--surface); }
.frow{ display:grid; gap:1rem; margin-bottom:1rem; }
.frow.two{ grid-template-columns:1fr 1fr; }
.field label{ display:block; font-size:.72rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; margin-bottom:.5rem; color:var(--ink-soft); }
.field input,.field select,.field textarea{ width:100%; padding:.75em 0; border:none; border-bottom:1px solid var(--line); background:transparent; font-family:'Work Sans',sans-serif; font-size:.98rem; color:var(--ink); border-radius:0; }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--ink); }
.field textarea{ resize:vertical; min-height:70px; }
.form-note{ font-size:.76rem; color:var(--ink-soft); margin-top:1rem; }
.form-feedback{ margin-top:1rem; padding:.9em 1em; font-size:.88rem; display:none; }
.form-feedback.success{ display:block; background:var(--accent-soft); color:var(--accent); }
.form-feedback.error{ display:block; background:#f8e3df; color:#9c3c2d; }
.contact-info-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; margin-top:3rem; text-align:center; }
.contact-info-grid .ci{ width:44px; height:44px; border-radius:50%; background:var(--accent-soft); color:var(--accent); display:flex; align-items:center; justify-content:center; margin:0 auto .9rem; }
.contact-info-grid h4{ font-size:.95rem; }
.contact-info-grid p, .contact-info-grid a{ color:var(--ink-soft); font-size:.9rem; margin-top:.3rem; }

/* footer */
footer.site{ border-top:1px solid var(--line); }
.footer-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:2.5rem; padding:clamp(3rem,6vw,4.5rem) 0 2.5rem; }
.footer-top .brand-name{ font-family:'Bricolage Grotesque',sans-serif; font-size:1.35rem; font-weight:400; }
.footer-top p{ color:var(--ink-soft); font-size:.92rem; max-width:32ch; margin-top:.7rem; }
.fcol h4{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:1.1rem; color:var(--ink-soft); }
.fcol ul{ display:grid; gap:.65rem; }
.fcol a,.fcol li{ font-size:.92rem; color:var(--ink); }
.fcol a:hover{ color:var(--accent); }
.footer-social{ display:flex; gap:.55rem; margin-top:.3rem; }
.footer-social a{ width:34px; height:34px; border-radius:50%; border:1px solid var(--line); display:flex; align-items:center; justify-content:center; }
.footer-social a:hover{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.footer-bottom{ border-top:1px solid var(--line); padding:1.4rem 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:.7rem; font-size:.78rem; color:var(--ink-soft); }

.wa-float{ position:fixed; right:1.2rem; bottom:calc(1.2rem + env(safe-area-inset-bottom,0px)); z-index:60; width:54px; height:54px; border-radius:50%; background:#25D366; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,.25); color:#0b3d19; }
.wa-float:hover{ transform:scale(1.06); }
.wa-float svg{ width:24px; height:24px; }

.scroll-hint{ position:absolute; left:50%; bottom:1.8rem; transform:translateX(-50%); z-index:5; width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.85); display:flex; align-items:center; justify-content:center; animation:scrollBounce 2s ease-in-out infinite; cursor:pointer; border:none; }
.scroll-hint svg{ width:16px; height:16px; color:var(--ink); }
@keyframes scrollBounce{ 0%,100%{ transform:translate(-50%,0); } 50%{ transform:translate(-50%,8px); } }

.back-to-top{ position:fixed; left:1.2rem; bottom:calc(1.2rem + env(safe-area-inset-bottom,0px)); z-index:60; width:46px; height:46px; border-radius:50%; background:var(--ink); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 22px rgba(0,0,0,.25); border:none; cursor:pointer; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .25s ease, transform .25s ease, visibility .25s ease; }
.back-to-top.visible{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ transform:translateY(-3px); }
.back-to-top svg{ width:18px; height:18px; color:#fff; }

@media (max-width:980px){
  .row,.booking-split{ grid-template-columns:1fr; }
  .row.reverse .row-media{ order:0; }
  .booking-split{ border-left:none; border-right:none; }
  .channels-pane{ border-right:none; border-bottom:1px solid var(--line); }
  .trio,.t-grid{ grid-template-columns:1fr; }
  .package-grid{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:repeat(3,1fr); }
  .footer-top{ grid-template-columns:1fr 1fr; }
  .contact-info-grid{ grid-template-columns:1fr 1fr; }
  .include-grid{ grid-template-columns:1fr; }
  .ig-grid{ grid-template-columns:repeat(4,1fr); }
  .services-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .gallery-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .g-item.tall{ grid-row:span 1; }
  .frow.two{ grid-template-columns:1fr; }
  .footer-top{ grid-template-columns:1fr; }
  .stat-line{ gap:1.5rem; }
  .ig-grid{ grid-template-columns:repeat(3,1fr); }
  .newsletter-form{ flex-direction:column; }
  .contact-info-grid{ grid-template-columns:1fr; }
  .services-grid{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  *{ transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
