/* ============================================================
   CATERING BY DESIGN NOIR — Brand Design System
   Palette pulled directly from the Noir brand assets.
   ============================================================ */

:root{
  /* Core brand */
  --noir:        #1D1916;   /* espresso black — primary dark surface       */
  --noir-2:      #25201C;   /* raised dark surface                         */
  --noir-3:      #322A24;   /* hairlines on dark                           */
  --brown:       #773F28;   /* "Catering by Design" script wordmark        */
  --terracotta:  #DC895D;   /* warm brand accent                           */
  --terracotta-d:#C26C3E;   /* deeper terracotta for hovers                */
  --taupe:       #D5BFB4;   /* dusty-rose neutral                          */
  --taupe-soft:  #EADDD4;   /* soft taupe wash                             */
  --slate:       #3C6F8C;   /* business / franchise tone                   */
  --slate-d:     #2F5A73;
  --cream:       #FAF6F1;   /* light page background                       */
  --paper:       #FFFFFF;
  --ink:         #211C18;   /* body text on light                          */
  --ink-soft:    #5C5249;   /* muted text on light                         */
  --line:        #E5D9CE;   /* hairlines on light                          */

  /* Type */
  --display: "Cormorant Garamond", Georgia, serif;
  --sans:    "Inter", system-ui, -apple-system, sans-serif;
  --label:   "Jost", "Inter", sans-serif;

  --maxw: 1200px;
  --gutter: clamp(20px, 5vw, 64px);
  --r: 2px;
  --shadow: 0 24px 60px -28px rgba(29,25,22,.45);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  font-size:17px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* ---------- Layout helpers ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(72px,11vw,140px)}
.section--tight{padding-block:clamp(56px,8vw,96px)}
.noir-bg{background:var(--noir);color:#F2E9E2}
.noir-bg .ink-soft{color:#C5B4A7}
.cream-bg{background:var(--cream)}
.taupe-bg{background:var(--taupe-soft)}
.slate-bg{background:var(--slate);color:#EAF2F6}

/* ---------- Typographic system ---------- */
.eyebrow{
  font-family:var(--label);
  text-transform:uppercase;
  letter-spacing:.42em;
  font-size:.72rem;
  font-weight:500;
  color:var(--terracotta);
  display:inline-flex;align-items:center;gap:.9em;
  margin:0 0 1.1rem;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--terracotta);opacity:.8}
.eyebrow--center{justify-content:center}
.noir-bg .eyebrow{color:var(--terracotta)}
/* Brand wordmark signature (text, used under Reach Us / Become an Owner) */
.brand-sign{font-family:var(--display);font-style:italic;font-size:clamp(2.4rem,6vw,3.8rem);color:var(--brown);margin:3.6rem 0 0;text-align:center;letter-spacing:.01em;line-height:1.05}
.brand-sign--col{text-align:left;font-size:clamp(1.8rem,3.4vw,2.6rem);margin-top:2.2rem}
.brand-sign .noir{font-style:normal;font-weight:700;color:var(--noir);letter-spacing:0}
.noir-bg .brand-sign{color:var(--taupe)}
.noir-bg .brand-sign .noir{color:#fff}
.slate-bg .eyebrow{color:#EAF2F6}
.slate-bg .eyebrow::before{background:#EAF2F6}

h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.04;letter-spacing:-.01em;margin:0}
h1{font-size:clamp(2.9rem,7vw,5.4rem)}
h2{font-size:clamp(2.2rem,4.6vw,3.6rem)}
h3{font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:600}
.lede{font-size:clamp(1.05rem,1.5vw,1.22rem);color:var(--ink-soft);max-width:60ch}
.noir-bg .lede,.slate-bg .lede{color:rgba(255,255,255,.82)}
.serif-accent{font-family:var(--display);font-style:italic;color:var(--terracotta)}

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--label);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.78rem;
  font-weight:500;
  display:inline-flex;align-items:center;gap:.7em;
  padding:1.05em 2.1em;
  border:1px solid transparent;
  border-radius:var(--r);
  cursor:pointer;
  transition:.35s var(--ease);
  white-space:nowrap;
}
.btn--solid{background:var(--terracotta);color:#231a13}
.btn--solid:hover{background:var(--terracotta-d);transform:translateY(-2px)}
.btn--dark{background:var(--noir);color:#F2E9E2}
.btn--dark:hover{background:#000;transform:translateY(-2px)}
.btn--ghost{background:transparent;border-color:currentColor;color:inherit}
.btn--ghost:hover{background:currentColor}
.btn--ghost:hover span{color:var(--noir)}
.noir-bg .btn--ghost:hover span{color:var(--noir)}
.btn--slate{background:var(--slate);color:#fff}
.btn--slate:hover{background:var(--slate-d);transform:translateY(-2px)}
.btn .arr{transition:transform .35s var(--ease)}
.btn:hover .arr{transform:translateX(4px)}

/* ============================================================
   NAVIGATION
   ============================================================ */
.nav{
  position:fixed;inset:0 0 auto;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:18px var(--gutter);
  transition:.4s var(--ease);
}
.nav__logo img{height:42px;width:auto;transition:.4s var(--ease)}
.nav__logo .logo-light{display:block}
.nav__logo .logo-dark{display:none}
.nav__logo{transition:opacity .4s var(--ease),visibility .4s var(--ease)}
/* On the homepage hero, the large centred logo is the single brand mark;
   reveal the nav logo only once the user scrolls (nav turns solid). */
body.home .nav:not(.scrolled) .nav__logo{opacity:0;visibility:hidden;pointer-events:none}
.nav__links{display:flex;align-items:center;gap:2.1rem;list-style:none;margin:0;padding:0}
.nav__links a{
  font-family:var(--label);
  text-transform:uppercase;letter-spacing:.16em;font-size:.74rem;font-weight:500;
  color:#F2E9E2;position:relative;padding:4px 0;transition:.3s;
}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--terracotta);transition:.35s var(--ease)}
.nav__links a:hover{color:var(--terracotta)}
.nav__links a:hover::after,.nav__links a.active::after{width:100%}
.nav__links a.active{color:var(--terracotta)}
.nav__cta{margin-left:.6rem}

/* Solid state on scroll */
.nav.scrolled{background:rgba(250,246,241,.92);backdrop-filter:blur(12px);padding-block:12px;box-shadow:0 1px 0 var(--line)}
.nav.scrolled .nav__logo .logo-light{display:none}
.nav.scrolled .nav__logo .logo-dark{display:block}
.nav.scrolled .nav__logo img{height:38px}
.nav.scrolled .nav__links a{color:var(--ink)}
.nav.scrolled .nav__links a:hover,.nav.scrolled .nav__links a.active{color:var(--brown)}
.nav.scrolled .nav__links a::after{background:var(--brown)}

/* Light nav variant for interior pages with light heros */
.nav--solid{position:fixed;background:rgba(250,246,241,.95);backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--line)}
.nav--solid .nav__logo .logo-light{display:none}
.nav--solid .nav__logo .logo-dark{display:block}
.nav--solid .nav__links a{color:var(--ink)}
.nav--solid .nav__links a:hover{color:var(--brown)}
.nav--solid .nav__links a::after{background:var(--brown)}

.nav__toggle{display:none;background:none;border:0;cursor:pointer;width:30px;height:22px;position:relative}
.nav__toggle span{position:absolute;left:0;width:100%;height:2px;background:#F2E9E2;transition:.3s var(--ease)}
.nav__toggle span:nth-child(1){top:0}
.nav__toggle span:nth-child(2){top:10px}
.nav__toggle span:nth-child(3){top:20px}
.nav.scrolled .nav__toggle span,.nav--solid .nav__toggle span{background:var(--ink)}

/* ============================================================
   HERO
   ============================================================ */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:center;
  background:radial-gradient(120% 120% at 70% 10%,#322A24 0%,var(--noir) 55%);
  color:#F4ECE4;overflow:hidden;
}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.hero__veil{position:absolute;inset:0;z-index:1;background:
  linear-gradient(180deg,rgba(29,25,22,.55),rgba(29,25,22,.78)),
  url("assets/texture.svg");
  background-size:cover, 520px;opacity:1;pointer-events:none;
}
.hero__inner{position:relative;z-index:2;padding-block:140px 80px}
.hero__logo{width:min(560px,86vw);margin:0 auto 2.4rem;display:block;opacity:0;animation:rise 1s var(--ease) .15s forwards}
.hero h1{max-width:16ch;opacity:0;animation:rise 1s var(--ease) .35s forwards}
.hero .lede{margin-top:1.6rem;opacity:0;animation:rise 1s var(--ease) .55s forwards}
.hero__cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2.4rem;opacity:0;animation:rise 1s var(--ease) .75s forwards}
.hero__scroll{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);z-index:2;
  font-family:var(--label);text-transform:uppercase;letter-spacing:.3em;font-size:.62rem;color:rgba(255,255,255,.55);
  display:flex;flex-direction:column;align-items:center;gap:8px}
.hero__scroll i{display:block;width:1px;height:42px;background:linear-gradient(var(--terracotta),transparent);animation:pulse 2s var(--ease) infinite}

@keyframes rise{to{opacity:1;transform:none}from{opacity:0;transform:translateY(24px)}}
@keyframes pulse{0%,100%{opacity:.3}50%{opacity:1}}

/* Page hero (interior) */
.pagehero{position:relative;padding:170px 0 70px;background:var(--noir);color:#F4ECE4;overflow:hidden}
.pagehero::after{content:"";position:absolute;inset:0;background:url("assets/texture.svg");background-size:480px;opacity:.5}
.pagehero .container{position:relative;z-index:2}
.pagehero h1{font-size:clamp(2.6rem,6vw,4.4rem);max-width:18ch}
.pagehero .lede{margin-top:1.2rem;color:rgba(255,255,255,.8)}
.crumb{font-family:var(--label);text-transform:uppercase;letter-spacing:.22em;font-size:.68rem;color:var(--taupe);margin-bottom:1.4rem}
.crumb a:hover{color:var(--terracotta)}

/* ============================================================
   GENERIC SECTION PARTS
   ============================================================ */
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(36px,6vw,90px);align-items:center}
.split--rev .split__media{order:-1}
.stack>*+*{margin-top:1.2rem}
.kicker-row{display:flex;align-items:baseline;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:clamp(34px,5vw,60px)}
.section-head{max-width:62ch}

/* Decorative "photo plate" — branded placeholder, swap for real photography */
.plate{position:relative;border-radius:var(--r);overflow:hidden;background:
  linear-gradient(135deg,var(--taupe) 0%,var(--terracotta) 120%);
  aspect-ratio:4/5;display:flex;align-items:flex-end;box-shadow:var(--shadow)}
.plate img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.plate__tag{position:relative;z-index:2;margin:auto auto 0;padding:0 0 20px;color:#fff;
  font-family:var(--label);text-transform:uppercase;letter-spacing:.3em;font-size:.66rem;opacity:.9;display:none}
.plate--wide{aspect-ratio:16/10}
.plate--sprig::after{content:"";position:absolute;inset:0;background:url("assets/sprig.svg") right -30px bottom -20px/240px no-repeat;opacity:.18}

/* Menu-style service cards (a menu is a real sequence → numerals are meaningful) */
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.noir-bg .menu-grid{background:var(--noir-3);border-color:var(--noir-3)}
.menu-card{background:var(--cream);padding:clamp(28px,3.4vw,44px);transition:.4s var(--ease);position:relative}
.noir-bg .menu-card{background:var(--noir)}
.menu-card:hover{background:var(--paper)}
.noir-bg .menu-card:hover{background:var(--noir-2)}
.menu-card__no{font-family:var(--display);font-style:italic;font-size:1.1rem;color:var(--terracotta);display:block;margin-bottom:1rem}
.menu-card h3{margin-bottom:.6rem}
.menu-card p{color:var(--ink-soft);font-size:.97rem;margin:0}
.noir-bg .menu-card p{color:#C5B4A7}
.menu-card__hat{width:30px;height:30px;margin-bottom:1.2rem;opacity:.85}

/* Stat band */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:2px;background:var(--noir-3)}
.stat{background:var(--noir);padding:clamp(30px,4vw,52px) clamp(20px,3vw,40px);text-align:center}
.stat__n{font-family:var(--display);font-size:clamp(2.6rem,5vw,3.8rem);color:var(--terracotta);line-height:1}
.stat__l{font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;font-size:.7rem;color:#C5B4A7;margin-top:.7rem}

/* Feature list (why franchise / why us) */
.feat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(24px,3vw,44px)}
.feat{padding-top:1.4rem;border-top:1px solid var(--line)}
.slate-bg .feat,.noir-bg .feat{border-top-color:rgba(255,255,255,.22)}
.feat h3{font-size:1.25rem;margin-bottom:.5rem}
.feat__ic{width:30px;height:30px;color:var(--terracotta);margin-bottom:1rem}
.slate-bg .feat__ic{color:#fff}
.feat p{font-size:.96rem;color:var(--ink-soft);margin:0}
.slate-bg .feat p,.noir-bg .feat p{color:rgba(255,255,255,.8)}

/* Process / journey timeline */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(24px,3vw,40px);counter-reset:step}
.step{position:relative;padding-top:2.6rem}
.step::before{counter-increment:step;content:"0" counter(step);position:absolute;top:0;left:0;
  font-family:var(--display);font-style:italic;font-size:1.7rem;color:var(--terracotta)}
.step h3{font-size:1.18rem;margin-bottom:.5rem}
.step p{font-size:.95rem;color:var(--ink-soft);margin:0}
.noir-bg .step p{color:#C5B4A7}

/* Investment cards */
.invest{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.14)}
.invest__cell{background:var(--noir);padding:clamp(32px,4vw,52px)}
.invest__cell .eyebrow{margin-bottom:1.3rem}
.invest__big{font-family:var(--display);font-size:clamp(2.2rem,4vw,3.1rem);color:#F4ECE4;line-height:1}
.invest__sub{color:#C5B4A7;font-size:.92rem;margin-top:.6rem}

/* Testimonials */
.quote{max-width:46ch;margin:0 auto;text-align:center}
.quote p{font-family:var(--display);font-size:clamp(1.5rem,3vw,2.3rem);font-style:italic;line-height:1.3}
.quote cite{display:block;margin-top:1.6rem;font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;font-style:normal;color:var(--terracotta)}

/* ============================================================
   CONTACT / FORMS
   ============================================================ */
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(36px,6vw,80px);align-items:start}
.contact-info dl{margin:0}
.contact-info dt{font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;font-size:.7rem;color:var(--terracotta);margin-top:1.8rem}
.contact-info dd{margin:.35rem 0 0;font-size:1.05rem}
.contact-info dd a:hover{color:var(--terracotta)}

.form{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:clamp(28px,4vw,46px);box-shadow:var(--shadow)}
.noir-bg .form{background:var(--noir-2);border-color:var(--noir-3)}
.field{margin-bottom:1.15rem}
.field label{display:block;font-family:var(--label);text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:var(--ink-soft);margin-bottom:.5rem}
.noir-bg .field label{color:#C5B4A7}
.field input,.field select,.field textarea{
  width:100%;padding:.85em 1em;font-family:var(--sans);font-size:1rem;color:var(--ink);
  background:var(--cream);border:1px solid var(--line);border-radius:var(--r);transition:.25s;
}
.noir-bg .field input,.noir-bg .field select,.noir-bg .field textarea{background:var(--noir);border-color:var(--noir-3);color:#F4ECE4}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(220,137,93,.18)}
.field textarea{resize:vertical;min-height:120px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:1.15rem}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.86rem;color:var(--ink-soft)}
.noir-bg .consent{color:#C5B4A7}
.consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--terracotta);flex:none}
.form .btn{width:100%;justify-content:center;margin-top:.6rem}
.form__note{font-size:.78rem;color:var(--ink-soft);margin:.9rem 0 0;text-align:center}
.noir-bg .form__note{color:#9b8d80}
.form__status.is-success{color:#2f7a4d;font-weight:600}
.form__status.is-error{color:#b23b2e;font-weight:600}
.noir-bg .form__status.is-success{color:#7fce9e}
.noir-bg .form__status.is-error{color:#e89a8f}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{background:var(--noir);color:#C5B4A7;padding-block:clamp(56px,7vw,84px) 32px}
.footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:clamp(28px,4vw,56px)}
.footer__brand img{height:52px;margin-bottom:1.2rem}
.footer__brand p{font-size:.92rem;max-width:34ch;color:#9b8d80}
.footer h4{font-family:var(--label);text-transform:uppercase;letter-spacing:.2em;font-size:.72rem;color:var(--taupe);margin:0 0 1.1rem;font-weight:500}
.footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.footer ul a{font-size:.92rem;color:#C5B4A7;transition:.25s}
.footer ul a:hover{color:var(--terracotta)}
.footer__bar{margin-top:clamp(40px,5vw,64px);padding-top:24px;border-top:1px solid var(--noir-3);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.78rem;color:#7d7066}
.footer__bar a:hover{color:var(--terracotta)}

/* ============================================================
   ARTICLE / BLOG
   ============================================================ */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(28px,3.5vw,44px)}
.post-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  transition:.4s var(--ease);display:flex;flex-direction:column}
.post-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.post-card__img{aspect-ratio:16/10;background:linear-gradient(135deg,var(--taupe),var(--terracotta));position:relative}
.post-card__img.alt2{background:linear-gradient(135deg,var(--slate),var(--noir))}
.post-card__img.alt3{background:linear-gradient(135deg,var(--brown),var(--terracotta))}
.post-card__img.alt4{background:linear-gradient(135deg,var(--terracotta),var(--brown))}
.post-card__img.alt5{background:linear-gradient(135deg,var(--noir),var(--slate))}
.post-card__img.alt6{background:linear-gradient(135deg,var(--slate),var(--taupe))}
.post-card__img::after{content:"";position:absolute;inset:0;background:url("assets/sprig.svg") center/200px no-repeat;opacity:.16}
.post-card__body{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.post-card__meta{font-family:var(--label);text-transform:uppercase;letter-spacing:.18em;font-size:.66rem;color:var(--terracotta);margin-bottom:.8rem}
.post-card h3{font-size:1.4rem;margin-bottom:.6rem;line-height:1.15}
.post-card p{font-size:.94rem;color:var(--ink-soft);margin:0 0 1.2rem}
.post-card__more{margin-top:auto;font-family:var(--label);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;color:var(--brown)}
.post-card:hover .post-card__more{color:var(--terracotta)}

.article{max-width:720px;margin:0 auto}
.article p{margin:0 0 1.4rem;font-size:1.08rem;line-height:1.8}
.article h2{font-size:clamp(1.7rem,3vw,2.3rem);margin:2.6rem 0 1.1rem}
.article h3{margin:2rem 0 .8rem}
.article ul,.article ol{margin:0 0 1.4rem;padding-left:1.3rem}
.article li{margin-bottom:.6rem;line-height:1.7}
.article blockquote{margin:2rem 0;padding:1.2rem 1.6rem;border-left:3px solid var(--terracotta);
  background:var(--taupe-soft);font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--brown)}
.article a{color:var(--brown);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--terracotta)}
.article a:hover{color:var(--terracotta)}
.article__hr{border:0;height:1px;background:var(--line);margin:2.6rem 0}

/* Legal docs */
.legal{max-width:820px;margin:0 auto}
.legal h2{font-size:1.5rem;margin:2.4rem 0 1rem;color:var(--brown)}
.legal h3{font-size:1.15rem;margin:1.6rem 0 .6rem}
.legal p,.legal li{font-size:1rem;color:var(--ink);line-height:1.75}
.legal ul{padding-left:1.2rem}
.legal li{margin-bottom:.5rem}
.legal .updated{font-family:var(--label);text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--ink-soft)}

/* ---------- Reveal on scroll ---------- */
.reveal{opacity:0;transform:translateY(26px);transition:.9s var(--ease)}
.reveal.in{opacity:1;transform:none}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:900px){
  .nav__links{
    position:fixed;inset:0 0 0 auto;width:min(82vw,360px);
    background:var(--noir);flex-direction:column;align-items:flex-start;justify-content:center;
    gap:1.6rem;padding:0 var(--gutter);transform:translateX(100%);transition:.45s var(--ease);box-shadow:var(--shadow)}
  .nav__links.open{transform:none}
  .nav__links a{color:#F2E9E2!important;font-size:1rem}
  .nav__toggle{display:block;z-index:60}
  .nav.menu-open .nav__toggle span{background:#F2E9E2}
  .nav.menu-open .nav__toggle span:nth-child(1){top:10px;transform:rotate(45deg)}
  .nav.menu-open .nav__toggle span:nth-child(2){opacity:0}
  .nav.menu-open .nav__toggle span:nth-child(3){top:10px;transform:rotate(-45deg)}
  .nav__cta{display:none}
  .split{grid-template-columns:1fr}
  .split--rev .split__media{order:0}
  .contact-grid{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr 1fr}
  .footer__brand{grid-column:1/-1}
}
@media (max-width:560px){
  body{font-size:16px}
  .field-row{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .hero__cta{flex-direction:column;align-items:stretch}
  .hero__cta .btn{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}
:focus-visible{outline:2px solid var(--terracotta);outline-offset:3px}
