.p-home{
  --paper:   #FFFFFF;
  --paper-2: #F7F4EF;
  --ink:     #16120F;
  --ink-2:   #453C34;
  --mute:    #7B6E63;
  --rule:    #E4DED5;
  --rule-2:  #CFC6BA;
  --fire:    #C2410C;

  background:var(--paper);
  color:var(--ink);
}
.p-home main{ background:var(--paper); }
.p-home ::selection{ background:var(--fire); color:#fff; }

.p-home .sec{
  max-width:var(--maxw); margin:0 auto;
  padding:clamp(4.5rem,11vh,9rem) var(--pad);
}
.p-home .sec + .sec{ border-top:1px solid var(--rule); }

.p-home .lbl{
  font-style:italic; font-weight:400;
  font-size:clamp(1rem,1.15vw,1.15rem);
  color:var(--fire);
  margin-bottom:1.1rem;
}
.p-home .h2{
  font-weight:400;
  font-size:clamp(1.9rem,4.4vw,3.6rem);
  line-height:1.06; letter-spacing:-.02em;
  color:var(--ink); max-width:18ch;
}
.p-home .txt{ color:var(--ink-2); max-width:56ch; font-size:1.02rem; }

.home-hero{
  position:relative; isolation:isolate;
  min-height:100svh; width:100%;
  display:grid; align-items:center;
  padding:clamp(7rem,14vh,10rem) var(--pad) clamp(4rem,9vh,6rem);
  background:#0A0806; color:#fff; overflow:hidden;
}
.home-hero-slides{ position:absolute; inset:0; z-index:-2; }
.home-hero-bg{
  position:absolute; inset:0;
}
.home-hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:center; animation:hero-settle 7s cubic-bezier(.19,1,.22,1) both; }
.home-hero::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg, rgba(8,6,5,.78) 0%, rgba(8,6,5,.35) 38%, rgba(8,6,5,0) 62%);
}
@keyframes hero-settle{ from{ transform:scale(1.07); } to{ transform:scale(1); } }

.home-hero-in{
  width:100%; max-width:var(--maxw); margin:0 auto;
  position:relative; z-index:1;
}
.home-hero-h{
  display:block;
  font-family:var(--serif); font-weight:400;
  line-height:1.02; letter-spacing:-.025em;
  font-size:clamp(2.4rem,6.4vw,6.4rem);
  color:#fff;
}
.home-hero-h .hw{
  display:inline-block; overflow:hidden; vertical-align:bottom;
  padding:.16em 0 .18em; margin-bottom:-.26em;
}
.home-hero-h .hw:first-child{ display:block; }
.home-hero-h .hw + .hw{ margin-right:.28em; }
.home-hero-h .hw:last-child{ margin-right:0; }
.home-hero-h .is-accent{ color:var(--copper); }
.home-hero-h .hw > span{ display:block; }
.js .home-hero-h .hw > span{ transform:translateY(135%); }
.fonts-ready .home-hero-h .hw > span{
  animation:hero-word 1.15s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay:calc(.1s + var(--w) * .13s);
}

.js .home-hero-lead, .js .home-hero-cta{
  opacity:0; transition:opacity .7s var(--ease) .35s;
}
.fonts-ready .home-hero-lead, .fonts-ready .home-hero-cta{ opacity:1; }
@keyframes hero-word{ to{ transform:translateY(0); } }

.home-hero-lead{
  margin-top:clamp(1.1rem,2.6vh,1.8rem);
  max-width:46ch;
  font-size:clamp(1rem,1.15vw,1.15rem); line-height:1.7;
  color:rgba(255,255,255,.8);
}

.home-hero-cta{
  display:flex; flex-wrap:wrap; gap:clamp(.6rem,1.2vw,1rem);
  margin-top:clamp(1.4rem,3.4vh,2.6rem);
}
.home-hero-cta .btn{
  min-height:2.75rem; height:auto;
  padding:.65rem clamp(1.3rem,1.7vw,1.8rem);
  font-size:clamp(.88rem,.92vw,.98rem);
  font-weight:400; letter-spacing:.005em;
  gap:.55rem;
}
.home-hero-cta .btn svg{
  width:1.15em; height:1.15em; flex:none;
  transition:transform .35s var(--ease);
}
.home-hero-cta .btn:hover svg{ transform:translateX(.35rem); }
.p-home .home-hero-cta .btn-solid{ background:var(--copper); color:#fff; }
.p-home .home-hero-cta .btn-solid:hover{ background:#fff; color:var(--void); }
.p-home .btn-line{ border-color:rgba(255,255,255,.42); color:#fff; background:none; }
.p-home .btn-line:hover{ background:#fff; color:var(--ink); border-color:#fff; }

@media (prefers-reduced-motion:reduce){
  .home-hero-bg.is-on img{ animation:none; }
  .home-hero-h .hw > span, .fonts-ready .home-hero-h .hw > span,
  .js .home-hero-h .hw > span, .js .fonts-ready .home-hero-h .hw > span{ animation:none; transform:none; }
  .home-hero-lead, .home-hero-cta,
  .js .home-hero-lead, .js .home-hero-cta{ opacity:1; transition:none; }
}

.home-hero-in{width:42%;max-width:640px;margin:0 0 0 auto;text-align:right;padding:0}
.home-hero-h{font-size:clamp(2.7rem,5.2vw,6.5rem)}
.home-hero-lead{margin-left:auto;color:rgba(255,255,255,.92);font-size:clamp(1.05rem,1.3vw,1.3rem)}
.home-hero-cta{justify-content:flex-end}
.home-hero-bg.is-on img{animation:none}
.home-hero::before{
  pointer-events:none;
  background:
    linear-gradient(to bottom,rgba(0,0,0,.82),transparent 25%),
    linear-gradient(to top,rgba(0,0,0,.65),transparent 24%),
    linear-gradient(to right,rgba(0,0,0,.48),transparent 23%),
    linear-gradient(to left,rgba(0,0,0,.84),rgba(0,0,0,.62) 35%,transparent 63%);
}
@media(min-width:750px) and (max-width:1199px){
  .home-hero{min-height:max(100svh,760px);align-items:center}
  .home-hero-in{width:43%}
  .home-hero-h{font-size:clamp(2.6rem,5.2vw,4.1rem)}
  .home-hero-lead{font-size:clamp(1.05rem,1.6vw,1.15rem);line-height:1.65}
}
@media(max-width:749px){
  .home-hero{
    min-height:max(100svh,165vw,50rem); padding:100px var(--pad) 2rem;
    align-items:start;
  }
  .home-hero-in{width:100%;max-width:none;padding:0;margin:0}
  .home-hero-h{font-size:clamp(2.1rem,7.4vw,3.5rem)}
  .home-hero-lead{font-size:1rem;line-height:1.5;max-width:36ch;margin-top:1rem}
  .home-hero-cta{margin-top:1.2rem;gap:.65rem}
  .home-hero-cta .btn{flex:0 1 auto;min-height:44px}
  .home-hero-bg img{object-position:center center}
  .home-hero::before{
    background:linear-gradient(to bottom,rgba(8,6,5,.82),rgba(8,6,5,.68) 28%,rgba(8,6,5,.12) 52%,rgba(8,6,5,.06) 78%,rgba(8,6,5,.4));
  }
}

.p-home .btn-solid{ background:var(--fire); color:#fff; }
.p-home .btn-solid:hover{ background:var(--ink); color:#fff; }
.p-home .btn-ghost{ border-color:var(--rule-2); color:var(--ink); }
.p-home .btn-ghost:hover{ background:var(--ink); color:#fff; border-color:var(--ink); }

.home-manifesto{background:#E9E4D8}
.home-manifesto p.big{
  font-weight:400;
  font-size:clamp(1.6rem,3.6vw,3.1rem); line-height:1.16; letter-spacing:-.018em;
  color:var(--ink); max-width:44ch;
}
.home-manifesto p.big > span{ display:block; text-wrap:balance; }
.home-manifesto p.big > span + span{ margin-top:.45em; color:#5a5046; }

.home-lineup-head{ text-align:center; }
.home-lineup-head .h2{ margin-inline:auto; max-width:20ch; }
.home-lineup-head .txt{ margin:1.1rem auto 0; max-width:64ch; }

.home-lineup-grid{
  --lineup-gap:18px;
  --lineup-per:5;
  margin-top:clamp(2.5rem,6vh,4rem);
  display:flex; gap:var(--lineup-gap); align-items:flex-end;
  overflow-x:auto; overflow-y:visible;
  scroll-snap-type:x proximity; scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  margin-inline:calc(var(--pad) * -1); padding:0 var(--pad) 6px;
  overscroll-behavior-x:contain;
}
.home-lineup-grid::-webkit-scrollbar{ display:none; }
.lineup-slot{
  flex:0 0 calc((100% - (var(--lineup-per) - 1) * var(--lineup-gap)) / var(--lineup-per));
  scroll-snap-align:start;
}

.lineup-slot{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  color:inherit;
}
.lineup-img{
  position:relative; width:100%; aspect-ratio:1/1;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
}
.lineup-img-in{
  position:relative; display:block; width:100%; height:100%;
  transition:transform .4s cubic-bezier(.25,.46,.45,.94);
}
.lineup-pan{ position:relative; z-index:2; width:100%; height:100%; object-fit:contain; }
.lineup-food{
  position:absolute; z-index:3; inset:0; width:100%; height:100%; object-fit:contain;
  opacity:0; transition:opacity .2s cubic-bezier(.25,.46,.45,.94); pointer-events:none;
}
.lineup-slot:hover .lineup-img-in,
.lineup-slot:focus-visible .lineup-img-in{ transform:translateY(-12px); }
.lineup-slot:hover .lineup-food,
.lineup-slot:focus-visible .lineup-food{ opacity:1; }

.lineup-cm{ font-size:clamp(1.3rem,1.9vw,1.7rem); color:var(--ink); line-height:1.2; }
.lineup-cm i{ font-style:italic; font-size:.62em; color:var(--mute); margin-left:.2em; }
.lineup-name{ margin-top:.3rem; font-style:italic; font-size:.92rem; color:var(--mute); }
.lineup-specs{ display:block; margin-top:.5rem; font-size:.85rem; color:var(--mute); }
.lineup-specs em{ display:block; font-style:normal; line-height:1.6; }

.js .lineup-slot{ opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s ease; }
.lineup-slot.is-visible{ opacity:1; transform:none; }
.lineup-slot.is-visible .lineup-img-in{ transition:transform .4s cubic-bezier(.25,.46,.45,.94); }

.lineup-nav{ display:none; justify-content:flex-end; gap:8px; margin-top:20px; padding-right:4px; }
.home-lineup.has-scroll .lineup-nav{ display:flex; }
.lineup-arrow{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:6px;
  border:1px solid var(--rule-2); background:transparent;
  transition:opacity .2s ease, border-color .2s ease;
  -webkit-tap-highlight-color:transparent;
}
.lineup-arrow:hover{ border-color:var(--ink); }
.lineup-arrow svg{ width:18px; height:18px; fill:none; stroke:var(--ink); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.lineup-arrow.is-disabled{ opacity:.3; pointer-events:none; }
.home-lineup-all{ margin-top:clamp(1.8rem,4vh,2.6rem); text-align:center; }

.p-home .home-blade{
  position:relative; display:grid;
  max-width:none; margin:0; padding:0;
  width:100%; background:var(--paper-2);
}
.p-home .home-blade picture{ grid-area:1/1; display:block; min-width:0; }
.p-home .home-blade img{ display:block; width:100%; height:auto; }
.p-home .home-blade-copy{
  grid-area:1/1; position:relative; z-index:1;
  align-self:center; justify-self:start;
  width:44%; max-width:42rem; min-width:0;
  padding:clamp(2rem,4vw,4rem) var(--pad);
}
.p-home .home-blade-copy .h2{ max-width:12ch; }
.p-home .home-blade-copy .txt{ margin-top:1.2rem; max-width:34ch; }
.home-blade-cta{ display:flex; flex-wrap:wrap; gap:.9rem; margin-top:1.6rem; }
.home-blade-cta .btn{ flex:0 1 auto; }

@media (max-width:1199px){
  .p-home .home-blade::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(to bottom,rgba(247,244,239,.75),rgba(247,244,239,.65) 14rem,transparent 25rem);
  }
  .p-home .home-blade-copy{
    grid-area:1/1; align-self:start; width:100%; max-width:none;
    text-align:center; padding:clamp(1.5rem,4vw,3rem) var(--pad);
  }
  .p-home .home-blade picture{ grid-area:1/1; }
  .p-home .home-blade-copy .lbl{ margin-bottom:.7rem; }
  .p-home .home-blade-copy .h2,
  .p-home .home-blade-copy .txt{ margin-inline:auto; }
  .p-home .home-blade-copy .h2{ font-size:clamp(2rem,4.4vw,3.2rem); max-width:18ch; }
  .p-home .home-blade-copy .txt{ margin-top:.9rem; font-size:1rem; line-height:1.5; max-width:32ch; }
  .home-blade-cta{ justify-content:center; margin-top:1.1rem; }
}

.home-why-grid{
  margin-top:clamp(2.5rem,6vh,3.5rem);
  display:grid; grid-template-columns:repeat(2,1fr); gap:clamp(1.5rem,4vw,3rem);
}
.home-why-item{
  display:grid; grid-template-columns:3.6rem minmax(0,1fr); column-gap:clamp(1rem,2vw,1.5rem);
  padding-top:1.6rem; border-top:1px solid var(--rule);
}
.home-why-item h3{ grid-column:2; align-self:center; font-weight:400; font-size:1.45rem; color:var(--ink); }
.home-why-item p{ grid-column:2; margin-top:.6rem; color:var(--mute); max-width:44ch; }
.why-ico{
  grid-row:1 / span 2; align-self:start;
  width:3.6rem; height:3.6rem; border-radius:50%;
  display:grid; place-items:center;
  border:1px solid var(--rule); color:var(--fire); background:#fff;
  transition:background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease), transform .45s var(--ease);
}
.why-ico svg{
  width:2.05rem; height:2.05rem; overflow:visible;
  fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round;
}
.home-why-item:hover .why-ico{ background:var(--fire); border-color:var(--fire); color:#fff; }
.why-ico svg{ transition:transform .5s var(--ease); }
.home-why-item:hover .why-ico svg{ transform:rotate(-8deg) scale(1.06); }
.home-why-item:hover .why-heat{ animation:why-rise 1.4s ease-in-out infinite; }
@keyframes why-rise{ 0%,100%{ transform:translateY(0); opacity:1; } 50%{ transform:translateY(-1.5px); opacity:.55; } }

.js .home-why-item{ opacity:0; transform:translateY(22px); }
.js .why-ico{ transform:scale(.6); opacity:0; }
.js .why-ico svg *{ stroke-dasharray:1; stroke-dashoffset:1; }
.home-why.rev-in .home-why-item{
  opacity:1; transform:none;
  transition:opacity .8s var(--ease), transform .9s var(--ease);
  transition-delay:calc(var(--i) * .14s + .25s);
}
.home-why.rev-in .why-ico{
  opacity:1; transform:none;
  transition:opacity .6s var(--ease), transform .7s cubic-bezier(.34,1.56,.64,1), background .45s var(--ease), color .45s var(--ease), border-color .45s var(--ease);
  transition-delay:calc(var(--i) * .14s + .35s), calc(var(--i) * .14s + .35s), 0s, 0s, 0s;
}
.home-why.rev-in .why-ico svg *{
  animation:why-draw 1.3s cubic-bezier(.45,.05,.25,1) forwards;
  animation-delay:calc(var(--i) * .14s + .55s);
}
@keyframes why-draw{ to{ stroke-dashoffset:0; } }
@media (prefers-reduced-motion:reduce){
  .js .home-why-item, .js .why-ico{ opacity:1; transform:none; }
  .js .why-ico svg *{ stroke-dashoffset:0; }
  .home-why-item:hover .why-heat{ animation:none; }
}

.home-rosette{ display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(2rem,6vw,5rem); align-items:center; }
.home-rosette-seal{ width:min(100%,420px); aspect-ratio:1; color:var(--fire); opacity:.85; margin:0 auto; }

.home-table-grid{
  margin-top:clamp(2.5rem,6vh,3.5rem);
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(.8rem,1.6vw,1.4rem);
}
.home-table-grid figure{ margin:0; overflow:hidden; }
.home-table-grid img{ width:100%; aspect-ratio:4/5; object-fit:cover; transition:transform .8s var(--ease); }
.home-table-grid figure:hover img{ transform:scale(1.04); }
.home-table-grid figure:first-child{ grid-column:span 2; }
.home-table-grid figure:first-child img{ aspect-ratio:8/5; height:100%; }

.home-cta{ text-align:center; }
.home-cta h2{
  font-weight:400; font-size:clamp(1.8rem,4.2vw,3.4rem);
  line-height:1.1; letter-spacing:-.02em; color:var(--ink);
  max-width:20ch; margin:0 auto;
}
.home-cta p{ margin:1.2rem auto 0; max-width:44ch; color:var(--mute); }
.home-cta-btns{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:.9rem; margin-top:2rem;
}
.home-cta .btn{ display:inline-flex; align-items:center; gap:.6rem; }
.p-home .btn-ico{
  width:1rem; height:1rem; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.6;
  stroke-linecap:round; stroke-linejoin:round;
}

@media (max-width:1000px){
  .home-rosette{ grid-template-columns:1fr; }
}
@media (max-width:1100px){
  .home-lineup-grid{ --lineup-per:4; }
}
@media (max-width:749px){
  .home-lineup-grid{ --lineup-per:2.25; --lineup-gap:10px; }
  .lineup-food{ opacity:1; }
}

@media (max-width:640px){
  .home-why-grid{ grid-template-columns:minmax(0,1fr); }
  .home-why-item{ grid-template-columns:3rem minmax(0,1fr); }
  .why-ico{ width:3rem; height:3rem; }
  .why-ico svg{ width:1.75rem; height:1.75rem; }
  .home-table-grid{ grid-template-columns:1fr 1fr; }
  .home-table-grid figure:first-child{ grid-column:span 2; }
}

@media (max-width:560px){
  .home-hero-cta{ width:100%; }
  .home-hero-cta .btn{ flex:0 1 auto; padding:.65rem 1rem; }
}

.ab-heat{
  background:#E9E4D8;
  padding:clamp(2.5rem,6vh,4.5rem) var(--pad);
  border-bottom:1px solid rgba(27,21,18,.1);
}
.ab-heat-in{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:minmax(0,1fr); justify-items:center;
  gap:clamp(1.6rem,3.5vw,3rem);
  container-type:inline-size;
}

.ab-heat-num{
  font-family:var(--sans) !important; font-weight:800;
  font-size:min(calc(100cqi / 2.84), 62vh); line-height:.82;
  letter-spacing:-.045em; color:#12100E;
  margin:0; white-space:nowrap; width:fit-content; max-width:100%;
}
.ab-heat-num.has-fire{
  background-repeat:no-repeat; background-size:cover; background-position:center 45%;
  -webkit-background-clip:text; background-clip:text;
  color:transparent; -webkit-text-fill-color:transparent;
}
.ab-heat-num.has-fire{ position:relative; }
@media (min-width:901px){
  .ab-heat-num{ font-size:min(calc(80cqi / 2.84), 50vh); }
}
.ab-heat-num.has-fire:not(.is-live){ background-size:cover; animation:heat-flicker 2.4s ease-in-out infinite alternate; }
@keyframes heat-flicker{
  0%{ background-position:50% 48%; filter:brightness(1); }
  25%{ background-position:50% 36%; filter:brightness(1.18); }
  50%{ background-position:50% 44%; filter:brightness(.92); }
  75%{ background-position:50% 32%; filter:brightness(1.12); }
  100%{ background-position:50% 40%; filter:brightness(1); }
}
.ab-heat-canvas{
  position:absolute; left:0; top:-.2em;
  width:100%; height:calc(100% + .4em); pointer-events:none;
  opacity:0;
  clip-path:inset(calc(100% - var(--heat-ignition, 100%)) 0 0);
}
.ab-heat-num.is-live{
  background-image:none !important;
  color:#080706; -webkit-text-fill-color:#080706;
}
.ab-heat-num.is-live .ab-heat-canvas{ opacity:1; }
@media (prefers-reduced-motion:reduce){
  .ab-heat-canvas{ display:none; }
  .ab-heat-num.has-fire:not(.is-live){ animation:none; }
}

.ab-heat-tx{ max-width:44rem; margin:0 auto; text-align:center; }
.ab-heat-h{
  font-size:clamp(1.05rem,1.4vw,1.25rem); font-style:italic; font-weight:400;
  line-height:1.4; letter-spacing:0; text-transform:none; color:#984227;
}
.ab-heat-p{
  margin:.7rem auto 0; max-width:42ch; text-wrap:balance;
  font-size:clamp(1.3rem,2vw,1.85rem); line-height:1.35; letter-spacing:-.01em; color:#12100E;
}
.ab-heat-more{
  display:inline-flex; align-items:center; gap:.8rem;
  margin-top:clamp(1.4rem,3vh,2rem);
  padding:.95rem 1.6rem; border:1px solid #b1ab9d; border-radius:0;
  font-size:.98rem; line-height:1.2; color:#12100E; white-space:nowrap;
  transition:background .3s var(--ease), border-color .3s var(--ease), color .3s var(--ease);
}
.ab-heat-more svg{
  width:1.05rem; height:1.05rem; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;
  transition:transform .35s var(--ease);
}
.ab-heat-more:hover{ background:#12100E; border-color:#12100E; color:#E9E4D8; }
.ab-heat-more:focus-visible{ outline:2px solid #984227; outline-offset:3px; }
.ab-heat-more:hover svg{ transform:translateX(4px); }

.ab-forge{
  position:relative; isolation:isolate; overflow:hidden;
  background:#0D0A08; color:var(--paper);
  min-height:clamp(30rem,78vh,46rem);
  display:flex; align-items:center;
}
.ab-forge-bg{
  position:absolute; inset:0; z-index:-2;
  width:100%; height:100%; object-fit:cover; object-position:50% 35%;
}
.ab-forge::before{
  content:""; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(100deg,
    rgba(13,10,8,.94) 0%, rgba(13,10,8,.88) 36%,
    rgba(13,10,8,.5) 60%, rgba(13,10,8,.18) 100%);
}
.ab-forge-in{
  width:100%; max-width:var(--maxw); margin:0 auto;
  padding:clamp(3rem,9vh,6rem) var(--pad);
}
.ab-forge-col{ max-width:42rem; }
.ab-forge-h{
  display:grid; gap:.05em;
  font-weight:400;
  font-size:clamp(2.1rem,4.2vw,3.6rem); line-height:1.1;
  letter-spacing:-.02em; text-transform:none;
  color:#F4EDE3; text-wrap:balance;
}
.ab-forge-h > span:last-child{ font-style:italic; color:#FF7A2E; }
.ab-forge-p{
  margin-top:clamp(1.4rem,3.5vh,2rem);
  font-size:1.05rem; line-height:1.75; color:rgba(253,252,246,.78);
  max-width:42ch;
}
.ab-forge-cta{
  margin-top:clamp(1.8rem,4.5vh,2.6rem);
  display:inline-flex; align-items:center; gap:.8rem;
  padding:.95rem 1.6rem; border:1px solid #FF5700; border-radius:0;
  font-size:.98rem; line-height:1.2; letter-spacing:0; text-transform:none;
  color:var(--paper);
  transition:background .35s var(--ease), border-color .35s var(--ease), color .35s var(--ease);
}
.ab-forge-cta svg{
  width:1.15rem; height:1.15rem; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round;
  transition:transform .4s var(--ease);
}
.ab-forge-cta:hover{ background:#FF5700; border-color:#FF5700; color:#FFFFFF; }
.ab-forge-cta:hover svg{ transform:translateX(4px); }

@media (max-width:900px){
  .ab-forge-bg{ object-position:35% 40%; }
  .ab-forge-col{ max-width:none; }
  .ab-forge::before{
    background:linear-gradient(180deg,
      rgba(13,10,8,.92) 0%, rgba(13,10,8,.8) 55%, rgba(13,10,8,.55) 100%);
  }
}

.fire{
  position:relative;
  height:420svh;
  background:#0B0908;
}
.fire-stage{
  position:sticky; top:0;
  height:100svh; overflow:hidden;
  display:grid; place-items:center;
}

.fire-frame{
  position:relative;
  width:min(100%, calc(100svh * 2560 / 1441));
  aspect-ratio:2560 / 1441;
}
.fire-shot{
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover; display:block;
}
.fire-shot-done{ z-index:6; opacity:0; will-change:opacity; }
.fire-flames{
  position:absolute; inset:0; z-index:7; opacity:0;
  pointer-events:none; mix-blend-mode:screen;
}
.fire-flame{
  position:absolute; left:28%; top:68%; width:44%; height:23%;
  object-fit:fill; transform-origin:50% 88%;
  mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 86%, transparent 100%);
  mask-image:linear-gradient(to bottom, transparent, #000 12%, #000 86%, transparent 100%);
}
.fire-glow{
  position:absolute; left:30%; top:77%; width:40%; height:17%;
  background:radial-gradient(ellipse, rgba(239,88,13,.36), rgba(204,51,5,.12) 42%, transparent 72%);
}
.fire.is-burning .fire-flame{ animation:fire-flicker 1.7s ease-in-out infinite alternate; }
@keyframes fire-flicker{
  0%{ transform:scale(1,.96); opacity:.86; }
  37%{ transform:scale(.994,1.03); opacity:1; }
  69%{ transform:scale(1.006,.98); opacity:.9; }
  100%{ transform:scale(1,1.04); opacity:.98; }
}

.fire-drops{ position:absolute; inset:0; z-index:4; }
.fire-drop{
  position:absolute; display:block; height:auto;
  transform:translate(-50%,-50%);
  filter:brightness(.74) contrast(1.08) saturate(.9)
         drop-shadow(.14rem .3rem .45rem rgba(0,0,0,.65));
  will-change:transform;
}
.fire.is-static .fire-drops{ display:none; }
.fire.is-static{ height:auto; }
.fire.is-static .fire-stage{ position:relative; height:auto; padding:clamp(3rem,8vh,6rem) 0; }
.fire.is-static .fire-shot-done{ opacity:1; }
.fire.is-static .fire-flames{ opacity:.8; }

.fire-stage::after{
  content:""; position:absolute; inset:0; z-index:7; pointer-events:none;
  background:linear-gradient(90deg,
    rgba(8,6,5,.72) 0%, rgba(8,6,5,.5) 22%, rgba(8,6,5,0) 46%);
}
.fire.is-static .fire-stage::after{ display:none; }
.fire-tx{
  position:absolute; z-index:8; left:var(--pad); bottom:clamp(2.5rem,7vh,5rem);
  max-width:min(25rem,26vw);
  color:var(--cream);
  text-shadow:0 .1rem 1.6rem rgba(0,0,0,.85);
  pointer-events:none;
}
.fire-label{
  font-family:var(--serif); font-style:italic; color:var(--copper);
  font-size:clamp(1rem,1.2vw,1.15rem);
}
.fire-h{
  margin-top:.6rem;
  font-family:var(--serif); font-weight:400;
  font-size:clamp(1.9rem,3.4vw,3.2rem);
  line-height:1.04; letter-spacing:-.03em;
}
.fire-steps{
  position:relative; margin-top:clamp(1.4rem,3vh,2rem);
  min-height:7.5rem;
}
.fire-step{
  position:absolute; inset:0;
  opacity:0; transform:translateY(.7rem);
  transition:opacity .5s var(--ease), transform .5s var(--ease);
}
.fire-step.is-on{ opacity:1; transform:none; }
.fire-step-t{
  display:block; font-family:var(--serif);
  font-size:clamp(1.15rem,1.6vw,1.45rem); line-height:1.2;
}
.fire-step-p{
  display:block; margin-top:.5rem;
  font-size:clamp(.92rem,1vw,1rem); line-height:1.6;
  color:rgba(244,237,227,.72);
}
@media (max-width:900px){
  .fire{ height:auto; }
  .fire-stage{ position:relative; height:auto; display:block; }
  .fire-frame{ width:100%; }
  .fire-shot-done{ opacity:1; }
  .fire-drops{ display:none; }
  .fire-flames{ opacity:.8; }
  .fire-stage::after{ display:none; }
  .fire-tx{
    position:relative; left:auto; bottom:auto;
    max-width:none; padding:clamp(1.8rem,5vh,2.6rem) var(--pad) clamp(2.6rem,7vh,3.6rem);
    text-shadow:none;
  }
  .fire-steps{ min-height:0; }
  .fire-step{ position:relative; inset:auto; opacity:1; transform:none; margin-top:1.4rem; }
  .fire-step:first-child{ margin-top:0; }
}

@media (prefers-reduced-motion:reduce){
  .fire{ height:auto; }
  .fire-stage{ position:relative; height:auto; display:block; }
  .fire-tx{ position:relative; left:auto; bottom:auto; max-width:none; padding:2rem var(--pad) 3rem; }
  .fire-flame{ animation:none !important; }
  .fire-drops{ display:none; }
  .fire-flames{ opacity:.8; }
  .fire-shot-done{ opacity:1; }
  .fire-step{ position:relative; inset:auto; opacity:1; transform:none; margin-top:1.4rem; }
  .fire-steps{ min-height:0; }
}

.fire.is-static .fire-tx{ position:relative; left:auto; bottom:auto; max-width:none; padding:2rem var(--pad); }
.fire.is-static .fire-stage{ display:block; }
.fire.is-static .fire-frame{ margin-inline:auto; }
.fire.is-static .fire-step{ position:relative; inset:auto; opacity:1; transform:none; margin-top:1.4rem; }
.fire.is-static .fire-steps{ min-height:0; }

@media(max-width:380px){
  .home-hero{padding-top:90px}
  .home-hero-lead{font-size:.94rem}
  .home-hero-cta .btn{padding:.65rem .65rem}
  .home-hero-bg img{object-position:left center}
}

@media (max-width:900px), (any-pointer:coarse), (hover:none){
  .p-home .fire{ display:none; }
}

@media (min-width:901px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .fire:not(.is-static) .fire-stage{ position:relative; display:block; width:100%; }
  /* Sahne ekranı her oranda kaplar; taşan kısım üstten daha çok kırpılır ki alevler görünür kalsın. */
  .fire:not(.is-static) .fire-frame{
    --fw:max(100vw, calc(100svh * 2560 / 1441));
    --fh:max(100svh, calc(100vw * 1441 / 2560));
    position:absolute; left:50%; top:auto;
    bottom:calc((100svh - var(--fh)) * .3);
    width:var(--fw); height:var(--fh);
    aspect-ratio:auto;
    transform:translateX(-50%);
  }
}
