/*
 * JULY Foundation v1 — geometry and type roles, not one client's branding.
 * Default foundation for every new site. Explicit owner-approved theme overrides only.
 */
body{margin:0}
:root{
 --july-shell-max:1200px;
 --july-content-max:1136px;
 --july-gutter:32px;
 --july-section-gap:88px;
 --july-axis-main:max(var(--july-gutter),calc((100vw - var(--july-shell-max))/2 + var(--july-gutter)));
 --july-font-body:Arial,Helvetica,sans-serif;
 --july-font-display:Georgia,"Times New Roman",serif;
 --july-font-meta-size:14px;
 --july-font-body-size:17px;
 --july-font-accent-size:24px;
 --july-font-display-size:44px;
 --july-color-heading:var(--ink,currentColor);
 --july-font-quote-size:30px;
 --july-line-body:1.5;
 --july-line-reading:1.65;
 --july-line-display:1.13;
 --july-line-meta:1.4;
 --july-line-quote:1.4;
 --july-weight-regular:400;
 --july-weight-emphasis:600;
 --july-space-1:4px;
 --july-space-2:8px;
 --july-space-3:12px;
 --july-space-4:16px;
 --july-space-5:24px;
 --july-space-6:32px;
 --july-space-7:40px;
 --july-space-8:48px;
 --july-space-9:64px;
 --july-title-body-gap:16px;
 --july-card-title-price-gap:7px;
 --july-card-gap-column:24px;
 --july-card-gap-row:28px;
}
.july-section-shell{
 box-sizing:border-box;
 width:min(100%,var(--july-shell-max));
 margin-inline:auto;
 padding-inline:var(--july-gutter);
}
.july-content-axis{
 box-sizing:border-box;
 width:100%;
 max-width:var(--july-content-max);
 margin-inline:auto;
}
.july-type-meta{font:var(--july-weight-regular) var(--july-font-meta-size)/var(--july-line-meta) var(--july-font-body)}
.july-type-body{font:var(--july-weight-regular) var(--july-font-body-size)/var(--july-line-body) var(--july-font-body)}
.july-type-reading{font:var(--july-weight-regular) var(--july-font-body-size)/var(--july-line-reading) var(--july-font-body)}
.july-type-accent{font:var(--july-weight-regular) var(--july-font-accent-size)/1.35 var(--july-font-body)}
.july-type-heading{color:var(--july-color-heading);font:var(--july-weight-regular) var(--july-font-display-size)/var(--july-line-display) var(--july-font-display)}
.july-type-quote{font:var(--july-weight-regular) var(--july-font-quote-size)/var(--july-line-quote) var(--july-font-display)}
/* Media can be full bleed; its copy and controls return to the content axis. */
.july-full-bleed{width:100vw;max-width:100vw;margin-inline:calc(50% - 50vw)}
@media(max-width:700px){
 :root{
  --july-gutter:18px;
  --july-section-gap:56px;
  --july-font-display-size:34px;
  --july-font-quote-size:24px;
  --july-card-gap-column:10px;
  --july-card-gap-row:24px;
 }
}
/* New-site defaults. Existing approved sites/components are not retroactively restyled.
   One parent owns inter-section spacing: do not add section top/bottom padding. */
:where(.july-site){font:400 var(--july-font-body-size)/var(--july-line-body) var(--july-font-body)}
:where(.july-site) :where(h1,h2){color:var(--july-color-heading);font:400 var(--july-font-display-size)/var(--july-line-display) var(--july-font-display);margin:0 0 var(--july-title-body-gap)}
:where(.july-site) :where(h3,h4,h5,h6){font:600 var(--july-font-body-size)/var(--july-line-body) var(--july-font-body);margin:0 0 var(--july-title-body-gap)}
:where(.july-site) :where(p,ul,ol,blockquote,figure){margin:0 0 var(--july-title-body-gap)}
:where(.july-site) :where(button,input,select,textarea){font:inherit}
:where(.july-site) :where(img,video){display:block;max-width:100%;height:auto}
.july-sections{display:flex;flex-direction:column;gap:0}
.july-sections>.july-section{margin-block:0;padding-block:calc(var(--july-section-gap) / 2);min-width:0}
.july-section-content{display:flow-root}
.july-section-content>:first-child{margin-top:0}
.july-section-content>:last-child{margin-bottom:0}
