/* Plexus Worldwide — base layer (element defaults).
   Loaded before plexus.css. These are the element-level defaults the storefront has always rendered with
   (they used to arrive from the starter theme's reset/global/config stylesheets, which are now retired).
   Kept here verbatim in their original cascade order so retiring those files changed nothing visually.
   Component styling belongs in plexus.css; tokens come from Theme Settings via layouts/theme.liquid. */

/* Reset */
*,*::before,*::after{box-sizing:border-box}
body,h1,h2,h3,h4,h5,h6,p,figure,blockquote,dd{margin:0;padding:0}
ol,ul,li{margin:0;padding:0;list-style:none}
dd{margin-bottom:.5rem;margin-left:0}
html:focus-within{scroll-behavior:smooth}
body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.3;overflow-x:clip}
a:not([class]){text-decoration-skip-ink:auto}
a{text-decoration:none;color:inherit}
input,button,textarea,select{font:inherit;-webkit-appearance:none;border-radius:0}
table{width:100%;border-collapse:collapse;border-spacing:0}
@media (prefers-reduced-motion:reduce){
  html:focus-within{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Document */
html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}
body{font-weight:400;line-height:1.6;font-style:normal;min-height:100vh;display:flex;flex-direction:column}

/* Headings (bare tags). Sizes step down at tablet and mobile. Section headings use the px-/text- presets instead. */
h1,h2,h3,h4,h5,h6{font-style:normal;margin:0;font-family:var(--ff-heading,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)}
h1,h2,h3,h4{font-weight:700}
h5,h6{font-weight:600}
h1{font-size:42px;line-height:1.15;letter-spacing:-.035rem}
h2{font-size:32px;line-height:1.15;letter-spacing:-.03rem}
h3{font-size:24px;line-height:1.2;letter-spacing:-.025rem}
h4{font-size:18px;line-height:1.2;letter-spacing:-.02rem}
h5{font-size:16px;line-height:1.25;letter-spacing:-.015rem}
h6{font-size:14px;line-height:1.25;letter-spacing:-.0125rem}
@media (max-width:1023px){h1{font-size:34px}h2{font-size:26px}h3{font-size:19px}h4{font-size:16px}h5{font-size:13px}h6{font-size:11px}}
@media (max-width:767px){h1{font-size:27px}h2{font-size:21px}h3{font-size:16px}h4{font-size:13px}h5{font-size:10px}h6{font-size:9px}}
p{margin:0}

/* Form controls */
input,textarea{padding:.75rem;outline:none;border-width:1px;color:#000;font-family:var(--ff-body);border-color:#000;width:100%;box-shadow:none}
input:focus,textarea:focus{outline:none}
input::placeholder,textarea::placeholder{color:#444}
textarea{min-height:4rem}
select{appearance:none;background-color:transparent;border:none;padding:0 1em 0 0;margin:0;width:100%;font-family:inherit;font-size:inherit;cursor:inherit;line-height:inherit;outline:none}
select::-ms-expand{display:none}

blockquote{margin:0 0 10px 0;padding:10px 20px;border-left:5px solid #000;font-size:18px;line-height:22px}

/* Buttons (bare). Designed buttons use .px-btn / .px-iconbtn in plexus.css. */
button{outline:0;border:1px solid #000;background-color:#000;color:#fff;padding:.75rem 1rem;display:flex;justify-content:center;align-items:center;gap:.5rem;transition:all .5s ease-in-out;cursor:pointer;text-decoration:none}
button:hover{opacity:.8}
button:disabled{color:#bcbcbc;background-color:#f2f2f2;border-color:#f2f2f2}
button:disabled:hover{cursor:not-allowed;pointer-events:none}
button svg{width:1rem}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}

/* Media and lists */
img{max-width:100%;height:auto;vertical-align:middle}
figure{margin:0}
ul{padding:0;list-style:none}
ul,ol{margin:0;padding:0}
ol{padding-left:1rem}

/* Landmarks */
nav{flex:1}
