/* ===== Our Story page ===== */
.story-page{background:#fffaf0}
.st-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:60;background:linear-gradient(90deg,#e4a72c,#d7342a);transform-origin:0 50%;transform:scaleX(0)}

/* hero */
.st-hero{position:relative;min-height:calc(100vh - 76px);min-height:calc(100dvh - 76px);display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;background:#06170f;isolation:isolate}
.st-hero-bg{position:absolute;inset:-6% 0;z-index:-2;background:linear-gradient(180deg,rgba(6,23,15,.55),rgba(6,23,15,.82)),url('assets/restaurant-garden-1.jpg') center/cover;transform:scale(1.12);animation:kenburns 22s ease-in-out infinite alternate;will-change:transform}
@keyframes kenburns{from{filter:saturate(1)}to{filter:saturate(1.2)}}
.st-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 50% 40%,transparent 30%,rgba(3,12,8,.7));pointer-events:none}
.st-hero .why-lights{z-index:1}
.st-hero-content{position:relative;z-index:3;padding:110px 0 120px;max-width:900px}
.st-kicker{color:#ffd16b;font-weight:800;letter-spacing:.28em;font-size:.76rem;margin:0 0 18px}
.st-hero h1{font:700 clamp(3rem,8vw,6.6rem)/1.02 'Playfair Display',serif;letter-spacing:-.03em;margin:0;text-shadow:0 10px 40px rgba(0,0,0,.5)}
.st-hero h1 em{color:#ffd16b;font-style:italic;background:linear-gradient(100deg,#ffd16b 20%,#fff3c4 45%,#ffd16b 70%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:shine 5s linear infinite}
@keyframes shine{to{background-position:-220% 0}}
.st-lead{max-width:640px;margin:26px auto 0;color:#f3ecd9;font-size:1.08rem;line-height:1.8;text-shadow:0 2px 14px rgba(0,0,0,.5)}
.st-hero-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}
.st-hero .btn-light{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.4);backdrop-filter:blur(8px)}
.st-rise{opacity:0;transform:translateY(26px);animation:stRise .9s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:var(--d,0s)}
@keyframes stRise{to{opacity:1;transform:none}}
/* rotating stamp */
.st-stamp{position:absolute;right:5%;bottom:11%;width:132px;height:132px;display:grid;place-items:center;z-index:3;color:#ffd16b}
.st-stamp svg{position:absolute;inset:0;animation:spin 22s linear infinite}
.st-stamp text{font:700 13.5px 'DM Sans',sans-serif;letter-spacing:2.2px;fill:currentColor}
.st-stamp span{font:700 1.6rem 'Playfair Display',serif;width:70px;height:70px;border-radius:50%;display:grid;place-items:center;background:rgba(6,23,15,.6);border:1px solid rgba(255,209,107,.5);backdrop-filter:blur(6px)}
@keyframes spin{to{transform:rotate(360deg)}}
.st-scroll{position:absolute;left:50%;bottom:26px;width:26px;height:42px;margin-left:-13px;border:2px solid rgba(255,255,255,.6);border-radius:14px;z-index:3}
.st-scroll span{position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:#ffd16b;animation:wheel 1.8s ease-in-out infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(0)}30%{opacity:1}100%{opacity:0;transform:translateY(16px)}}

/* reveal */
.st-reveal{opacity:0;transform:translateY(44px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.st-reveal.in{opacity:1;transform:none}

/* intro */
.st-intro{padding:110px 0 60px;position:relative}
.st-intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.st-intro h2,.st-strip h2,.st-cta h2{font:700 clamp(2.1rem,4.2vw,3.4rem)/1.1 'Playfair Display',serif;letter-spacing:-.03em;margin:8px 0 20px;color:#201d18}
.st-intro h2 em,.st-strip h2 em,.st-cta h2 em{color:#d49a20}
.st-intro p{color:#5f5a50;line-height:1.85;font-size:1.02rem}.st-muted{color:#8a8376!important}
.st-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.st-chips span{padding:9px 16px;border-radius:999px;background:#fff;border:1px solid #eadfcb;font-weight:700;font-size:.82rem;color:#3b342a;box-shadow:0 6px 16px rgba(60,40,10,.06);animation:bob 5s ease-in-out infinite}
.st-chips span:nth-child(2){animation-delay:-1.6s}.st-chips span:nth-child(3){animation-delay:-3.2s}
@keyframes bob{50%{transform:translateY(-5px)}}
.st-collage{position:relative;height:480px}
.st-collage figure{position:absolute;margin:0;border-radius:20px;overflow:hidden;border:6px solid #fff;box-shadow:0 22px 50px rgba(50,35,10,.28)}
.st-collage img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.st-collage figure:hover img{transform:scale(1.08)}
.st-collage .c1{left:0;top:30px;width:62%;height:300px;transform:rotate(-4deg);animation:floatA 7s ease-in-out infinite}
.st-collage .c2{right:0;top:0;width:44%;height:250px;transform:rotate(5deg);animation:floatB 8s ease-in-out infinite}
.st-collage .c3{right:6%;bottom:0;width:48%;height:260px;transform:rotate(-2deg);animation:floatA 9s ease-in-out infinite -3s}
@keyframes floatA{50%{translate:0 -12px}}@keyframes floatB{50%{translate:0 10px}}

/* timeline */
.st-timeline-section{padding:50px 0 100px}
.st-timeline{position:relative;max-width:1060px;margin:0 auto;padding:10px 0}
.st-line{position:absolute;left:50%;top:0;bottom:0;width:3px;margin-left:-1.5px;background:#eadfca;border-radius:3px}
.st-line-fill{display:block;width:100%;height:0;background:linear-gradient(180deg,#e4a72c,#d7342a);border-radius:3px;box-shadow:0 0 14px rgba(228,167,44,.7)}
.st-step{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:0 90px;align-items:center;margin-bottom:80px}
.st-step:last-child{margin-bottom:0}
.st-step .st-photo{grid-column:1;grid-row:1}.st-step .st-card{grid-column:2;grid-row:1}
.st-step:nth-child(odd) .st-photo{grid-column:2}.st-step:nth-child(odd) .st-card{grid-column:1}
.st-step:nth-child(even) .st-card{text-align:left}
.st-node{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;display:grid;place-items:center;background:#fffaf0;border:3px solid #eadfca;color:#b0a58f;z-index:2;transition:all .5s cubic-bezier(.2,.8,.2,1)}
.st-node svg{width:24px;height:24px}
.st-step.lit .st-node{background:linear-gradient(135deg,#f0b73a,#d7342a);border-color:#fff;color:#fff;transform:scale(1.12);box-shadow:0 0 0 8px rgba(228,167,44,.2),0 10px 24px rgba(181,31,25,.35)}
.st-step.lit .st-node::after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid rgba(228,167,44,.7);animation:ring 2.4s ease-out infinite}
@keyframes ring{to{transform:scale(1.9);opacity:0}}
.st-photo{border-radius:22px;overflow:hidden;aspect-ratio:4/3;box-shadow:0 20px 44px rgba(50,35,10,.22);position:relative}
.st-photo img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.st-step.in .st-photo img{transform:scale(1)}
.st-photo:hover img{transform:scale(1.08)}
.st-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(10,30,18,.35))}
.st-card{position:relative;background:#fff;border:1px solid #eadfcb;border-radius:22px;padding:30px 32px;box-shadow:0 14px 34px rgba(60,40,10,.08);transition:transform .35s ease,box-shadow .35s ease}
.st-card:hover{transform:translateY(-6px);box-shadow:0 22px 44px rgba(60,40,10,.16)}
.st-card::before{content:"";position:absolute;top:50%;width:14px;height:14px;background:#fff;border:1px solid #eadfcb;border-width:0 0 1px 1px;transform:rotate(45deg) translateY(-50%)}
.st-step:nth-child(odd) .st-card::before{right:-8px;border-width:1px 1px 0 0;top:calc(50% - 7px)}
.st-step:nth-child(even) .st-card::before{left:-8px;top:calc(50% - 7px)}
.st-tag{display:inline-block;padding:6px 12px;border-radius:999px;background:#fde9e7;color:#b51f19;font-weight:800;font-size:.68rem;letter-spacing:.14em;margin-bottom:14px}
.st-card h3{font:700 1.7rem/1.2 'Playfair Display',serif;margin:0 0 10px;color:#201d18}
.st-card p{margin:0;color:#645e53;line-height:1.75}
.st-step:nth-child(odd) .st-photo{transform-origin:left}
.st-step.st-reveal{transform:translateY(60px)}.st-step.st-reveal.in{transform:none}

/* facts */
.st-facts{position:relative;overflow:hidden;padding:84px 0;background:radial-gradient(ellipse at 20% 0,rgba(120,175,80,.22),transparent 50%),linear-gradient(135deg,#06170f,#0d2b1b 55%,#06150d);color:#fff}
.st-facts-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.st-fact{text-align:center;padding:34px 18px;border-radius:22px;background:rgba(255,255,255,.05);border:1px solid rgba(190,230,150,.2);backdrop-filter:blur(6px);transition:transform .3s,border-color .3s,background .3s}
.st-fact:hover{transform:translateY(-8px);border-color:rgba(214,246,170,.55);background:rgba(255,255,255,.09)}
.st-fact strong{display:block;font:700 clamp(2.2rem,4vw,3.3rem)/1 'Playfair Display',serif;color:#ffd16b;margin-bottom:12px}
.st-fact>span{color:#c6d8c1;font-size:.9rem;line-height:1.5}

/* strip */
.st-strip{padding:100px 0 90px;overflow:hidden}
.st-strip-head{text-align:center;margin-bottom:40px}
.st-marquee{overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.st-marquee-track{display:flex;gap:18px;width:max-content;animation:marquee 48s linear infinite}
.st-marquee:hover .st-marquee-track{animation-play-state:paused}
.st-marquee img{width:320px;height:230px;object-fit:cover;border-radius:18px;box-shadow:0 14px 30px rgba(50,35,10,.2);transition:transform .4s ease;flex:none}
.st-marquee img:nth-child(even){margin-top:26px}
.st-marquee img:hover{transform:scale(1.05) rotate(-1deg)}
@keyframes marquee{to{transform:translateX(calc(-50% - 9px))}}

/* cta */
.st-cta{padding:0 0 100px}
.st-cta-card{text-align:center;padding:70px 30px;border-radius:32px;position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,rgba(6,23,15,.9),rgba(13,43,27,.88)),url('assets/restaurant-garden-3.jpg') center/cover;box-shadow:0 30px 70px rgba(10,30,18,.4)}
.st-cta-card .eyebrow{color:#a9d47b}.st-cta-card h2{color:#fff}.st-cta-card h2 em{color:#ffd16b}
.st-cta-card>p{color:#d6e5d2;max-width:520px;margin:0 auto}
.st-btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.4)}
.st-btn-ghost:hover{background:rgba(255,255,255,.2)}

/* responsive */
@media(max-width:900px){
  .st-intro-grid{grid-template-columns:1fr;gap:44px}.st-collage{height:400px}
  .st-facts-grid{grid-template-columns:repeat(2,1fr)}
  .st-stamp{width:96px;height:96px;right:4%;bottom:14%}.st-stamp span{width:50px;height:50px;font-size:1.2rem}.st-stamp text{font-size:13px}
}
@media(max-width:720px){
  .st-hero-content{padding:80px 0 120px}
  .st-intro{padding:70px 0 30px}
  .st-line{left:26px}
  .st-step{grid-template-columns:1fr;gap:16px;padding-left:64px;margin-bottom:54px}
  .st-step .st-photo,.st-step:nth-child(odd) .st-photo,.st-step .st-card,.st-step:nth-child(odd) .st-card{grid-column:1;grid-row:auto}
  .st-step .st-card{grid-row:2}
  .st-node{left:26px;top:30px;margin:0 0 0 -24px;width:48px;height:48px}
  .st-card::before{display:none}
  .st-card{padding:24px}.st-card h3{font-size:1.4rem}
  .st-collage{height:340px}.st-collage .c1{height:220px}.st-collage .c2{height:190px}.st-collage .c3{height:200px}
  .st-marquee img{width:240px;height:180px}
  .st-strip{padding:70px 0}.st-cta-card{padding:48px 20px;border-radius:24px}
  .st-stamp{display:none}
}
@media(prefers-reduced-motion:reduce){
  .st-rise,.st-reveal{opacity:1;transform:none;animation:none;transition:none}
  .st-hero-bg,.st-stamp svg,.st-scroll span,.st-chips span,.st-collage figure,.st-marquee-track,.st-hero h1 em,.leaf,.firefly,.why-lights i,.st-step.lit .st-node::after{animation:none!important}
  .leaf{display:none}.st-marquee{overflow-x:auto}
}
