/* =========================================================================
   F1 · Attract — homepage slot styles, ported from the design handoff
   (design_handoff_liquid_landing/Home.html inline <style>). The prototype's
   data-slot-* visibility toggles are gone: slots are server-rendered
   conditionals (SPEC F1 slot contract).
   ========================================================================= */
/* SLOT 1 · primary ad — type-led on palm shade */
.promo-inner { display: grid; grid-template-columns: 1.08fr .92fr; gap: clamp(32px, 5vw, 76px); align-items: center; padding-block: clamp(54px, 7vw, 108px); }
.p-kicker { font-size: .69rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--green-lit); }
.promo h2 { font-size: clamp(2.9rem, 5.6vw, 4.8rem); font-weight: 300; line-height: 1.03; margin: 18px 0 0; }
/* Two big breaks of equal weight (headline | identity | actions); inside the identity
   block the gaps stay small so brand, name, meta and price read as one thing. */
.p-id { margin-top: clamp(34px, 4vw, 46px); display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.p-brand { font-size: .73rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #9BAA93; }
.p-name { font-family: var(--serif); font-size: 1.65rem; color: #F7F1E2; }
.p-meta { font-size: .71rem; letter-spacing: .1em; text-transform: uppercase; color: #9BAA93; margin-top: 8px; }
.p-foot { display: flex; align-items: center; gap: 26px; margin-top: clamp(34px, 4vw, 46px); flex-wrap: wrap; }
.p-price { display: block; font-family: var(--serif); font-size: 2.05rem; line-height: 1; color: #fff; margin-top: 14px; }
.promo-media { position: relative; display: block; background: rgba(247,239,224,.05); border: 1px solid rgba(247,239,224,.16); border-radius: var(--r); padding: 14px; }
.promo-media img { width: 100%; height: clamp(350px, 40vw, 510px); object-fit: contain; }
.p-flag { position: absolute; top: 24px; left: 24px; z-index: 4; font-size: .62rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; background: #EFE7D6; color: var(--palm); padding: 7px 12px; border-radius: 2px; }

/* SLOT 2 · the selection */
.selection { padding-block: var(--section); }
.sel-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 26px; flex-wrap: wrap; margin-bottom: clamp(26px, 3vw, 44px); }
.sel-head .eyebrow { display: block; margin-bottom: 14px; }
.sel-head h2 { font-size: var(--h2); }
.sel-head h2 em { color: var(--clay); }
.sel-tabs { display: flex; gap: 26px; }
.sel-tabs button { background: none; border: 0; cursor: pointer; padding: 0 0 6px; font-family: var(--sans); font-size: .77rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); border-bottom: 1px solid transparent; transition: .25s var(--ease); }
.sel-tabs button:hover { color: var(--ink); }
.sel-tabs button[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--amber); }

/* SLOT 3 · feature */
.feature { background: var(--sand-3); border-block: 1px solid var(--line); }
.feature-inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(28px, 5vw, 70px); align-items: center; padding-block: clamp(50px, 6vw, 92px); }
.feature-media { position: relative; background: var(--sand-2); border: 1px solid var(--line); border-radius: var(--r); padding: 12px; }
.feature-media img { width: 100%; height: clamp(290px, 33vw, 430px); object-fit: contain; }
.f-kicker { font-size: .69rem; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--clay); }
.feature h2 { font-size: clamp(2rem, 3.5vw, 3rem); margin: 18px 0 0; max-width: 20ch; }
.f-id { margin-top: 26px; display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.f-name { font-family: var(--serif); font-size: 1.45rem; }
.f-foot { display: flex; align-items: center; gap: 24px; margin-top: 30px; flex-wrap: wrap; }
.f-price { font-family: var(--serif); font-size: 1.85rem; }

@media (max-width: 880px) {
  .promo-inner, .feature-inner { grid-template-columns: 1fr; }
  .promo-media, .feature-media { order: -1; }
}
