/* ICONFIT sponsor page. Shared site styles remain in styles.css. */
.if-skip { position:fixed; top:8px; left:8px; transform:translateY(-180%); z-index:300; padding:12px 20px; background:var(--gold-300); color:var(--black); border-radius:8px; }
.if-skip:focus { transform:translateY(0); }
.iconfit-page { --if-line:rgba(232,200,106,.23); }
.iconfit-page a:focus-visible,.iconfit-page button:focus-visible,.if-lightbox button:focus-visible { outline:3px solid var(--gold-300); outline-offset:5px; }
.if-hero { padding:64px 0 72px; background:radial-gradient(ellipse at 75% 40%,rgba(113,29,157,.27),transparent 58%); }
.if-hero-grid { display:grid; grid-template-columns:1.12fr 1fr; gap:76px; align-items:center; }
.if-hero .eyebrow { font-size:.7rem; letter-spacing:2.3px; }
.if-hero h1 { font-size:clamp(2.8rem,5vw,4.7rem); line-height:1.08; letter-spacing:-2px; }
.if-powered { font-size:clamp(1.6rem,2.9vw,2.6rem); font-weight:600; margin:20px 0 26px; line-height:1.25; }
.if-powered .gold-text { font-weight:800; }
.if-lead { font-size:1.05rem; color:var(--muted); max-width:500px; }
.if-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:30px; }
.if-text-link { font-size:.9rem; color:var(--gold-300); text-decoration:underline; text-underline-offset:5px; }
.if-text-link:hover { color:white; }
.if-hero-note { display:flex; align-items:center; gap:10px; margin-top:40px; color:var(--muted); font-size:.76rem; }
.if-dot { width:6px; height:6px; border-radius:50%; background:var(--gold-400); flex-shrink:0; }
.if-poster { margin:0; min-width:0; }
.if-hero-poster { max-width:460px; justify-self:end; width:100%; box-shadow:0 20px 90px rgba(90,30,140,.25); }
.if-zoom { display:block; position:relative; width:100%; padding:0; border:1px solid var(--if-line); border-radius:18px; overflow:hidden; background:#160d22; cursor:zoom-in; color:white; }
.if-zoom img { width:100%; height:auto; }
.if-zoom-label { position:absolute; bottom:12px; right:12px; padding:7px 12px; border-radius:100px; font-family:var(--font-body); font-size:.67rem; background:rgba(10,7,16,.85); border:1px solid rgba(255,255,255,.25); backdrop-filter:blur(8px); }
.if-jump { border-block:1px solid var(--if-line); background:rgba(255,255,255,.025); }
.if-jump .container { display:flex; align-items:center; justify-content:space-between; gap:18px; padding-block:22px; }
.if-jump a { font-size:.75rem; color:var(--muted); }
.if-jump a:hover { color:var(--gold-300); }
.if-section { scroll-margin-top:90px; }
.if-editorial { display:grid; grid-template-columns:1fr 1.12fr; gap:76px; align-items:center; }
.if-editorial > .if-poster { max-width:470px; }
.if-about { grid-template-columns:1.12fr 1fr; }
.if-about > .if-poster { justify-self:end; }
.if-copy h2 { font-size:clamp(1.9rem,3.2vw,2.7rem); margin-bottom:24px; line-height:1.18; }
.if-copy > p { color:var(--muted); font-size:.94rem; margin-bottom:18px; }
.if-rounds { list-style:none; margin:30px 0; }
.if-rounds li { display:flex; gap:20px; padding:22px 0; border-top:1px solid var(--if-line); }
.if-rounds li:last-child { border-bottom:1px solid var(--if-line); }
.if-round-number { color:var(--gold-400); font-size:.8rem; padding-top:3px; }
.if-kicker { display:block; color:var(--gold-400); font-size:.67rem; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; }
.if-rounds h3 { font-size:1.15rem; margin:7px 0; }
.if-rounds p { color:var(--muted); font-size:.85rem; }
.if-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; border-block:1px solid var(--if-line); padding:24px 0; margin:28px 0; }
.if-stats strong { display:block; color:var(--gold-300); font-size:1.7rem; line-height:1.3; }
.if-stats span { display:block; color:var(--muted); font-size:.67rem; margin-top:5px; }
.if-festival-grid { display:grid; grid-template-columns:.85fr 1.1fr .8fr; gap:38px; align-items:center; }
.if-product-panel { background:radial-gradient(ellipse,rgba(123,63,209,.26),transparent 70%); position:relative; }
.if-product-panel img { width:100%; height:auto; filter:drop-shadow(0 22px 22px rgba(0,0,0,.4)); }
.if-product-caption { display:block; text-align:center; color:var(--gold-300); font-size:.72rem; margin-top:12px; }
.if-festival-grid h3 { font-size:1.8rem; margin-bottom:20px; }
.if-festival-grid .eyebrow { font-size:.65rem; }
.if-range-photo { width:100%; height:380px; object-fit:cover; border-radius:16px; border:1px solid var(--if-line); }
.if-copy .if-small-note { color:var(--gold-300); font-size:.8rem; }
.if-offer-section { padding-top:0; }
.if-offer { display:grid; grid-template-columns:1.3fr 1fr; gap:50px; align-items:center; padding:54px 64px; border:1px solid var(--if-line); border-radius:24px; background:radial-gradient(ellipse at 80% 10%,rgba(123,63,209,.25),transparent 70%),var(--bg-alt); }
.if-offer h2 { font-size:clamp(2rem,3.6vw,3rem); margin-bottom:20px; }
.if-offer p { font-size:.9rem; color:var(--muted); }
.if-offer .if-offer-terms { margin-top:18px; font-size:.75rem; }
.if-code-panel { display:flex; flex-direction:column; align-items:center; padding:28px 15px; border-left:1px solid var(--if-line); }
.if-code { display:block; font-size:clamp(1.8rem,3.2vw,2.6rem); letter-spacing:3px; margin:10px 0 14px; }
.if-copy-code { font:inherit; font-size:.78rem; color:var(--gold-300); cursor:pointer; border:1px solid var(--if-line); border-radius:100px; background:rgba(255,255,255,.04); padding:8px 20px; }
.if-copy-code:hover { background:rgba(255,255,255,.1); }
.if-copy-status { display:block; min-height:30px; padding-top:5px; color:var(--muted); font-size:.7rem; text-align:center; }
.if-lightbox { margin:auto; padding:0; max-width:94vw; max-height:94vh; border:0; border-radius:12px; background:#100a18; color:white; }
.if-lightbox::backdrop { background:rgba(0,0,0,.94); }
.if-lightbox img { max-width:94vw; max-height:94vh; width:auto; height:auto; object-fit:contain; }
.if-lightbox-close { position:fixed; top:16px; right:20px; z-index:1; width:44px; height:44px; border:1px solid rgba(255,255,255,.4); background:#160d22; color:white; font-size:30px; border-radius:50%; cursor:pointer; }
@media(max-width:980px) {
  .if-hero-grid,.if-editorial,.if-about { gap:36px; }
  .if-hero h1 { font-size:clamp(2.5rem,5.5vw,3.6rem); }
  .if-festival-grid { grid-template-columns:1fr 1.3fr; }
  .if-range-photo { grid-column:1/-1; height:260px; object-position:center 36%; }
  .if-offer { padding:40px; gap:30px; }
}
@media(max-width:700px) {
  .if-hero { padding:46px 0; }
  .if-hero-grid,.if-editorial,.if-about,.if-festival-grid,.if-offer { grid-template-columns:1fr; }
  .if-hero h1 { font-size:clamp(2.6rem,9vw,3.6rem); letter-spacing:-1.3px; }
  .if-powered { margin:18px 0; }
  .if-hero .eyebrow { font-size:.6rem; letter-spacing:1.6px; }
  .if-hero-note { margin-top:26px; font-size:.67rem; }
  .if-lead { font-size:.94rem; }
  .if-hero-poster,.if-editorial > .if-poster { max-width:480px; justify-self:center; width:100%; }
  .if-jump .container { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding-block:18px; }
  .if-jump a { font-size:.65rem; }
  .if-section { padding-block:54px; }
  #round-rewards .if-copy { grid-row:1; }
  .if-copy h2 { font-size:2rem; }
  .if-stats { gap:10px; }
  .if-stats strong { font-size:1.4rem; }
  .if-stats span { font-size:.6rem; }
  .if-festival-grid { gap:26px; }
  .if-product-panel { max-width:300px; justify-self:center; }
  .if-range-photo { grid-column:auto; height:270px; }
  .if-offer-section { padding-top:0; }
  .if-offer { padding:32px 24px; gap:26px; }
  .if-code-panel { border-left:0; border-top:1px solid var(--if-line); padding:28px 0 0; }
  .if-actions { gap:18px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .iconfit-page *, .iconfit-page *::before { transition:none!important; } }
