/* Jersey Strike Co. base styles. Page layout lives inline in each page. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:#0A100D;color:#F4EEDF}
img{max-width:100%}
a{color:#7A5B22}
a:hover{color:#0A100D}
header a:hover,footer a:hover,nav a:hover{opacity:.85}
:focus-visible{outline:2px solid #D8B46A;outline-offset:3px}
input,select,textarea,button{font:inherit;color:#0A100D}
input:focus,select:focus,textarea:focus,summary:focus-visible{outline:2px solid #9A7838;outline-offset:1px}
summary{list-style:none}
summary::-webkit-details-marker{display:none}
details[open] > summary{border-color:#0A100D !important}
details[open] > summary svg{transform:rotate(180deg)}
summary svg{transition:transform .15s ease;flex:none}
.js-dd-summary .dd-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.js-dd-summary.has-value{color:#0A100D !important}
details label:hover{background:#F4EEDF}
button[type=submit]:hover{opacity:.9}
button[type=submit][disabled]{opacity:.6;cursor:progress}
/* Small screens */
@media (max-width:640px){
  header nav{gap:14px 18px !important;font-size:13px !important}
  section > div{padding-top:64px !important;padding-bottom:64px !important}
  form{padding:22px !important}
}
/* Build library */
.build-card:hover img{transform:scale(1.03)}
.build-card:focus-visible{outline:2px solid #9A7838;outline-offset:6px;border-radius:14px}
.build-dialog{padding:0;border:0;border-radius:18px;max-width:920px;width:calc(100% - 32px);overflow:hidden;box-shadow:0 30px 80px -20px rgba(0,0,0,.6)}
.build-dialog::backdrop{background:rgba(10,16,13,.75)}
.build-dialog[open]{display:block}
@media (max-width:640px){.build-dialog img{max-height:42vh !important}}

fieldset[hidden]{display:none !important}
.form-section{animation:fsIn .25s ease}
@keyframes fsIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.form-section{animation:none}}

/* Inquiry form: one question at a time */
form.is-stepped .q-later{display:none !important}
.q-enter{animation:qIn .35s ease}
@keyframes qIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.q-skip{align-self:flex-start;margin-top:8px;padding:0;border:0;background:none;color:#7A5B22;font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer}
.q-skip:hover{color:#0A100D}
@media (prefers-reduced-motion:reduce){.q-enter{animation:none}}

/* Headline font (Bodoni Moda): use the low optical size so the fine lines stay thick enough to read,
   and set headings a step bolder. Body text is unchanged. */
[style*="Bodoni Moda"], .legal h2 { font-variation-settings: "opsz" 12; }
h1[style*="Bodoni Moda"], h2[style*="Bodoni Moda"], h3[style*="Bodoni Moda"], .legal h2 { font-weight: 600 !important; }
h1[style*="Bodoni Moda"] em, h2[style*="Bodoni Moda"] em, h3[style*="Bodoni Moda"] em { font-weight: inherit !important; }
