/* aerovalen - assets/style.css */

/* ---------- 1. reset ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
h1,h2,h3,h4,p,figure{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
input,select,textarea,button{font:inherit;color:inherit}
a{color:inherit}

/* ---------- 2. tokens ---------- */
:root{
  --page:#FCFCFB;
  --page-2:#F1F0EC;
  --ink:#111110;
  --ink-dim:#5D5C57;
  --rule:#111110;
  --note:#FFD100;
  --t-h1:clamp(2.1rem,4.6vw,3.6rem);
  --t-h2:clamp(1.45rem,2.6vw,2.1rem);
  --t-body:1.09rem;
  --t-note:.9rem;
  --t-mini:.68rem;
  --col:clamp(20px,4vw,56px);
  --tall:clamp(52px,6vw,92px);
  --wide:1300px;
}
.p-art{--note:#FFD100}
.p-capsule{--note:#FF9FE5}
.p-casino{--note:#9CE37D}
.p-ice{--note:#A0D8FF}

/* ---------- 3. base ---------- */
body{
  background:var(--page);
  color:var(--ink);
  font-family:"Nunito Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  font-size:var(--t-body);
  line-height:1.66;
  -webkit-font-smoothing:antialiased;
}
h1,h2{font-family:"Bitter",Georgia,"Times New Roman",serif;font-weight:700;line-height:1.14;letter-spacing:-.01em}
h1{font-size:var(--t-h1)}
h2{font-size:var(--t-h2)}
h3{font-family:"Bitter",Georgia,serif;font-weight:700;font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-dim)}
p{max-width:none}
p + p{margin-top:.85em}

/* ---------- 4. frame with margins ---------- */
.ae-sheet{width:100%;max-width:var(--wide);margin:0 auto;padding-left:var(--col);padding-right:var(--col)}
.ae-part{padding-top:var(--tall);padding-bottom:var(--tall)}
.ae-part-2{background:var(--page-2)}
.ae-doc{display:grid;gap:22px 40px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){
  .ae-doc{grid-template-columns:minmax(0,1fr) minmax(0,260px)}
  .ae-doc-main{grid-column:1}
  .ae-doc-side{grid-column:2}
}
.ae-para{margin-top:26px}
.ae-para h3{margin-bottom:8px}
.ae-para p{max-width:66ch}

/* ---------- 5. margin notes ---------- */
.ae-note{background:var(--note);color:var(--ink);padding:12px 14px;margin-bottom:14px}
.ae-note b{display:block;font-family:"Bitter",Georgia,serif;font-size:var(--t-mini);letter-spacing:.16em;text-transform:uppercase;margin-bottom:5px}
.ae-note span{display:block;font-size:var(--t-note);line-height:1.45}
.ae-note i{font-style:normal;font-family:"Bitter",Georgia,serif;font-weight:700;margin-right:6px}

/* ---------- 6. entry ---------- */
.ae-entry{border-top:2px solid var(--rule);padding-top:var(--tall);padding-bottom:var(--tall)}
.ae-no{font-family:"Bitter",Georgia,serif;font-weight:700;font-size:1.4rem}
.ae-where{font-size:var(--t-mini);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim);margin-top:6px}
.ae-name{margin-top:10px}
.ae-shot{margin-top:22px;overflow:hidden;background:var(--page-2);aspect-ratio:3/2;max-width:480px}
.ae-shot img{width:100%;height:100%;object-fit:cover}
.ae-shot-caption{margin-top:9px;font-size:var(--t-mini);color:var(--ink-dim);max-width:480px}
.ae-lastread{margin-top:26px;font-size:var(--t-mini);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}

/* ---------- 7. hero ---------- */
.ae-hero{overflow:hidden;background:var(--page-2);aspect-ratio:21/9;max-width:680px}
.ae-hero img{width:100%;height:100%;object-fit:cover}
.ae-hero-logo{aspect-ratio:auto;background:transparent;max-width:none}
.ae-hero-logo img{width:min(100%,240px);height:auto;margin-inline:auto;object-fit:contain}
.ae-hero-caption{margin-top:9px;font-size:var(--t-mini);color:var(--ink-dim);max-width:680px}

/* ---------- 8. header, footer, small parts ---------- */
.ae-skip{position:static;display:block;padding:6px var(--col);font-size:var(--t-mini)}
.ae-top{padding:16px var(--col);border-bottom:2px solid var(--rule);display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 22px}
.ae-logo{font-family:"Bitter",Georgia,serif;font-weight:700;font-size:1.25rem;text-decoration:none;margin-right:auto}
.ae-top a{text-decoration:none;font-size:.9rem}
.ae-top a[aria-current="page"]{background:var(--note);padding:2px 7px}
.ae-lede{font-size:1.16rem;color:var(--ink-dim);max-width:58ch}
.ae-link{text-decoration:none;border-bottom:2px solid var(--ink);padding-bottom:1px}
.ae-list li{padding:13px 0;border-bottom:1px solid rgba(17,17,16,.2)}
.ae-list a{text-decoration:none;font-family:"Bitter",Georgia,serif;font-weight:700;font-size:1.15rem}
.ae-list span{display:block;font-size:var(--t-mini);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-top:4px}
.ae-foot{border-top:2px solid var(--rule);padding:26px var(--col)}
.ae-foot-in{width:100%;max-width:var(--wide);margin:0 auto;display:grid;gap:14px;grid-template-columns:minmax(0,1fr)}
@media (min-width:760px){.ae-foot-in{grid-template-columns:minmax(0,3fr) minmax(0,1fr)}}
.ae-foot p{font-size:.92rem;color:var(--ink-dim);max-width:58ch}
.ae-foot a{text-decoration:none}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ---------- 9. print: margins fall under the text ---------- */
@media print{
  .ae-top,.ae-foot,.ae-hero,.ae-shot,.ae-plate,.ae-frame,.ae-band{display:none}
  .ae-doc{display:block}
  .ae-note{background:transparent;border-left:3px solid #000;padding-left:10px;margin:10px 0}
  body{background:#fff;color:#000;font-size:10.5pt}
  .ae-entry{page-break-inside:avoid}
}

/* ---------- 10. additions, flat selectors only ---------- */
.ae-doc{align-items:start}
.ae-side{margin-top:22px}
.ae-hero-fig{margin-top:0}
.ae-h1{margin-top:8px}
.ae-h1-line{display:block}
.ae-intro{margin-top:18px;max-width:64ch}
.ae-lede{margin-top:18px}
.ae-block{margin-top:var(--tall)}
.ae-block-tight{margin-top:30px}
.ae-rule-top{border-top:2px solid var(--rule);padding-top:26px}
.ae-mini{font-size:var(--t-mini);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-dim)}
.ae-note-line{margin-top:14px;max-width:64ch}
.ae-disclaimer{margin-top:var(--tall);border-top:2px solid var(--rule);padding-top:24px;max-width:64ch;color:var(--ink-dim);font-size:.95rem}
.ae-elsewhere{margin-top:26px;font-size:.95rem}
.ae-closing{margin-top:30px;max-width:66ch}
.ae-prose p{max-width:66ch;margin-top:.9em}
.ae-prose h2{margin-top:36px}
.ae-responsible{margin-top:var(--tall);border-top:2px solid var(--rule);padding-top:24px;max-width:66ch}
.ae-form{margin-top:30px;max-width:34rem}
.ae-field{margin-top:18px}
.ae-field label{display:block;font-size:var(--t-mini);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:6px}
.ae-input{width:100%;padding:10px 12px;border:2px solid var(--rule);background:var(--page)}
.ae-area{width:100%;padding:10px 12px;border:2px solid var(--rule);background:var(--page);min-height:150px}
.ae-consent{margin-top:20px;display:flex;gap:10px;align-items:flex-start}
.ae-consent label{font-size:.95rem;line-height:1.5}
.ae-send{margin-top:22px;padding:11px 26px;border:2px solid var(--rule);background:var(--ink);color:var(--page);cursor:pointer}
.ae-cols-two{display:grid;gap:22px 40px;grid-template-columns:minmax(0,1fr)}
@media (min-width:1000px){.ae-cols-two{grid-template-columns:minmax(0,1fr) minmax(0,260px)}}
@media (min-width:1000px){
  .ae-para{grid-column:1}
  .ae-side{grid-column:2}
  .ae-r1{grid-row:1}
  .ae-r2{grid-row:2}
  .ae-r3{grid-row:3}
}
@media (min-width:1280px){
  .ae-doc{gap:22px 56px}
}
@media print{
  .ae-side{margin-top:0}
  .ae-form,.ae-send{display:none}
}

/* ---------- 11. plates on home and casino ---------- */
.ae-open{display:grid;gap:28px;align-items:end;grid-template-columns:minmax(0,1fr)}
@media (min-width:860px){
  .ae-open{grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:20px 56px}
}
.ae-plate{max-width:250px}
.ae-plate-pic{border:2px solid var(--rule);padding:10px;background:var(--page);box-shadow:10px 10px 0 var(--note)}
.ae-plate-pic img{width:100%;height:auto}
.ae-plate-cap{margin-top:18px;font-size:var(--t-mini);color:var(--ink-dim);max-width:250px;line-height:1.45}
.ae-open-copy h1{margin-top:10px}
.ae-band{background:var(--page-2);border-bottom:2px solid var(--rule)}
.p-casino .ae-band{background:#E8F4DE}
.ae-frame{position:relative;max-width:880px}
.ae-frame-pic{border:2px solid var(--rule);padding:10px;background:var(--page);box-shadow:12px 12px 0 var(--note)}
.ae-frame-pic img{width:100%;height:auto;aspect-ratio:2/1;object-fit:cover}
.ae-frame-cap{display:inline-block;max-width:46ch;background:var(--note);color:var(--ink);padding:10px 14px;margin-top:-18px;margin-left:22px;position:relative;font-size:var(--t-mini);line-height:1.45}
.ae-frame + .ae-h1{margin-top:32px}
