/* ============================================================
   Tanvik — new.css · tanvik.io/new, the occasion page
   Re-skin per occasion by changing the --fest tokens below and
   the copy in new.html. Everything else stays.
   ============================================================ */
.fest{--fest:#F5A524;--fest-2:#FF7A3D;--fest-ink:#FFC56B;--fest-soft:rgba(245,165,36,.14);--fest-glow:rgba(255,150,40,.22);}
html[data-theme="light"] .fest{--fest-ink:#B25E00;--fest-soft:rgba(214,120,0,.1);--fest-glow:rgba(255,160,60,.28);}
.fest .wrap{max-width:var(--w);margin:0 auto;padding:0 var(--gutter);}
.fest section{position:relative;}
.nf-k{font-family:var(--mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--fest-ink);margin:0 0 16px;}
.nf-head{max-width:760px;margin:0 auto clamp(36px,6vh,64px);text-align:center;}
.fest h2{font-family:"Bricolage Grotesque","Plus Jakarta Sans",system-ui,sans-serif;font-optical-sizing:auto;font-weight:600;font-size:clamp(2.1rem,4vw,3.4rem);letter-spacing:-.03em;line-height:1.02;margin:0;color:var(--ink);}

/* ---------- the diya ---------- */
.nf-diya{position:relative;display:inline-block;width:18px;height:18px;flex:none;}
.nf-diya::before{content:"";position:absolute;left:1px;right:1px;bottom:0;height:7px;border-radius:0 0 9px 9px;background:linear-gradient(180deg,#E07A2E,#A6461A);}
.nf-diya i{position:absolute;left:50%;bottom:6px;width:7px;height:11px;margin-left:-3.5px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:radial-gradient(circle at 50% 72%,#FFF6D6 0 22%,#FFC94D 45%,#FF8A2A 80%);box-shadow:0 0 12px 3px rgba(255,170,60,.55);transform-origin:50% 100%;animation:flick 2.4s ease-in-out infinite;}
.nf-diya-lg{width:44px;height:44px;}
.nf-diya-lg::before{height:16px;border-radius:0 0 22px 22px;}
.nf-diya-lg i{width:16px;height:26px;margin-left:-8px;bottom:14px;box-shadow:0 0 30px 8px rgba(255,170,60,.5);}
@keyframes flick{0%,100%{transform:scale(1) rotate(-2deg)}30%{transform:scale(1.06,.94) rotate(2deg)}55%{transform:scale(.96,1.05) rotate(-1deg)}80%{transform:scale(1.03,.98) rotate(1.5deg)}}

/* ---------- 1 · hero ---------- */
.nf-hero{overflow:hidden;padding:clamp(120px,17vh,170px) 0 clamp(70px,10vh,110px);text-align:center;isolation:isolate;}
.nf-lamps{position:absolute;inset:0 0 auto;height:130px;pointer-events:none;z-index:1;}
.nf-wire{position:absolute;inset:0;width:100%;height:100%;}
.nf-wire path{fill:none;stroke:var(--hair-3,rgba(255,255,255,.18));stroke-width:1;}
.nf-lamp-row{position:absolute;inset:0;}
.nf-bulb{position:absolute;width:9px;height:12px;margin-left:-4.5px;border-radius:50% 50% 45% 45%;background:var(--c);box-shadow:0 0 14px 4px var(--c);opacity:.9;animation:twinkle var(--t,3s) ease-in-out var(--d,0s) infinite;}
.nf-bulb::before{content:"";position:absolute;left:2px;right:2px;top:-4px;height:4px;border-radius:2px 2px 0 0;background:rgba(160,160,170,.6);}
@keyframes twinkle{0%,100%{opacity:.95}50%{opacity:.45}}
html[data-theme="light"] .nf-bulb{box-shadow:0 0 10px 2px var(--c);}
.nf-glow{position:absolute;z-index:-1;left:50%;top:38%;width:min(1100px,130vw);height:760px;transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(closest-side,var(--fest-glow) 0%,rgba(255,150,40,.12) 30%,rgba(91,91,214,.08) 58%,rgba(91,91,214,.02) 80%,transparent 100%);}
.nf-hero-in{position:relative;z-index:2;}
.nf-eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 26px;padding:8px 16px 8px 12px;border-radius:999px;border:1px solid var(--hair-2);background:var(--surface);font-size:13.5px;font-weight:600;color:var(--ink);box-shadow:var(--edge);}
.nf-hero h1{font-family:"Bricolage Grotesque","Plus Jakarta Sans",system-ui,sans-serif;font-optical-sizing:auto;font-weight:600;font-size:clamp(2.7rem,6.4vw,5.6rem);letter-spacing:-.035em;line-height:.98;margin:0 auto 26px;max-width:15ch;color:var(--ink);}
.nf-hero h1 em{font-style:normal;background:linear-gradient(100deg,var(--fest-ink) 10%,var(--fest-2) 90%);-webkit-background-clip:text;background-clip:text;color:transparent;}
html[data-theme="light"] .nf-hero h1 em{background:linear-gradient(100deg,#C46A00 10%,#E2541B 90%);-webkit-background-clip:text;background-clip:text;}
.nf-lead{font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.6;color:var(--ink-2);max-width:620px;margin:0 auto 32px;}
.nf-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;}
.fest .cta-note{margin-top:16px;}
.nf-count{display:inline-flex;align-items:center;gap:14px;margin-top:38px;padding:12px 20px;border-radius:16px;border:1px solid var(--hair-2);background:var(--surface);box-shadow:var(--edge);}
.nf-count[hidden]{display:none;}
.nf-count-k{font-size:13px;font-weight:600;color:var(--fest-ink);margin-right:4px;}
.nf-count-v{display:inline-flex;align-items:baseline;gap:5px;}
.nf-count-v b{font-family:var(--mono);font-size:22px;font-weight:500;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums;}
.nf-count-v small{font-size:12px;color:var(--ink-3);}

/* ---------- 2 · the run ---------- */
.nf-run{padding:var(--pad-sec) 0;border-top:1px solid var(--hair);}
.nf-run-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:start;}
.nf-steps{list-style:none;margin:0;padding:0 0 18vh;}
.nf-step{min-height:62vh;display:flex;flex-direction:column;justify-content:center;padding:0 0 0 28px;border-left:2px solid var(--hair);opacity:.38;transition:opacity .5s var(--ease),border-color .5s var(--ease);}
.nf-step.is-on{opacity:1;border-left-color:var(--fest);}
.nf-n{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--fest-ink);margin-bottom:14px;}
.nf-step h3{font-size:clamp(1.35rem,2vw,1.7rem);font-weight:600;letter-spacing:-.02em;line-height:1.2;margin:0 0 12px;color:var(--ink);}
.nf-step p{font-size:15.5px;line-height:1.65;color:var(--ink-2);margin:0;max-width:440px;}
.nf-stage{position:sticky;top:calc(var(--navh,72px) + 4vh);height:calc(92vh - var(--navh,72px));min-height:560px;display:flex;align-items:center;justify-content:center;}
.nf-stage::before{content:"";position:absolute;inset:8% -10%;background:radial-gradient(closest-side,var(--fest-glow),rgba(91,91,214,.06) 60%,transparent);z-index:-1;}

.nf-phone{position:relative;width:300px;height:600px;max-height:100%;border-radius:46px;padding:10px;background:#0B0E18;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 80px -30px rgba(0,0,0,.6),0 0 0 1px rgba(0,0,0,.4);}
.nf-scr{position:relative;height:100%;border-radius:37px;overflow:hidden;background:#0E1320;display:flex;flex-direction:column;color:#E9ECF5;}
.nf-notch{position:absolute;top:10px;left:50%;width:96px;height:26px;margin-left:-48px;border-radius:20px;background:#000;z-index:3;}
.nf-top{display:flex;align-items:center;gap:10px;padding:48px 16px 12px;background:#17202E;}
.nf-top b{display:block;font-size:14px;}
.nf-top small{font-size:11px;color:#8FA0B8;}
.nf-av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#F5A524,#E2541B);font-size:12px;font-weight:700;color:#1A0E00;}
.nf-body{position:relative;flex:1;}
.nf-state{position:absolute;inset:0;padding:14px 12px;display:flex;flex-direction:column;gap:9px;opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .55s var(--ease);pointer-events:none;}
.nf-phone[data-show="0"] [data-s="0"],.nf-phone[data-show="1"] [data-s="1"],.nf-phone[data-show="2"] [data-s="2"],.nf-phone[data-show="3"] [data-s="3"]{opacity:1;transform:none;}
.nf-input{height:40px;margin:10px 12px 14px;border-radius:20px;background:#1B2333;}

.nf-tpl{background:#1C2433;border-radius:14px;overflow:hidden;font-size:12.5px;line-height:1.45;}
.nf-tpl-img{position:relative;height:118px;overflow:hidden;background:radial-gradient(120% 90% at 50% 120%,rgba(255,170,60,.55),transparent 60%),linear-gradient(160deg,#3A1410,#24103A 75%);}
.nf-tpl-img::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 30%,rgba(255,214,140,.7) 0,transparent 9%),radial-gradient(circle at 78% 22%,rgba(255,170,90,.55) 0,transparent 11%),radial-gradient(circle at 62% 58%,rgba(255,226,170,.45) 0,transparent 7%),radial-gradient(circle at 36% 64%,rgba(255,150,60,.4) 0,transparent 12%),radial-gradient(circle at 90% 70%,rgba(255,200,120,.5) 0,transparent 8%);filter:blur(2px);}
.nf-tpl-img::after{content:"";position:absolute;left:50%;bottom:18px;width:34px;height:12px;margin-left:-17px;border-radius:0 0 17px 17px;background:linear-gradient(180deg,#E07A2E,#8E3A14);box-shadow:0 -14px 22px 6px rgba(255,180,70,.45);}
.nf-sparkle{position:absolute;left:50%;bottom:28px;width:12px;height:18px;margin-left:-6px;border-radius:50% 50% 50% 50%/62% 62% 38% 38%;background:radial-gradient(circle at 50% 72%,#FFF6D6 0 22%,#FFC94D 45%,#FF8A2A 80%);z-index:1;transform-origin:50% 100%;animation:flick 2.4s ease-in-out infinite;}
.nf-tpl-tag{position:absolute;left:10px;top:10px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:6px;background:rgba(0,0,0,.45);color:#FFD891;}
.nf-tpl-txt{padding:10px 12px 8px;color:#C9D1E0;}
.nf-tpl-txt b{display:block;color:#fff;font-size:13.5px;margin-bottom:3px;}
.nf-lto{display:flex;justify-content:space-between;margin:0 12px 8px;padding:7px 10px;border-radius:8px;background:rgba(245,165,36,.14);font-size:11.5px;color:#FFC56B;}
.nf-tpl-btn{border-top:1px solid rgba(255,255,255,.07);padding:9px;text-align:center;font-weight:600;color:#53BDEB;font-size:12.5px;}

.nf-seg{display:flex;justify-content:space-between;align-items:center;padding:11px 12px;border-radius:12px;background:#1C2433;font-size:12px;}
.nf-seg span{color:#8FA0B8;}
.nf-seg b{color:#fff;font-weight:600;}
.nf-bars{display:flex;flex-direction:column;gap:12px;margin-top:8px;padding:14px 12px;border-radius:12px;background:#1C2433;}
.nf-bars div{display:grid;grid-template-columns:70px 1fr;align-items:center;gap:10px;font-size:11.5px;color:#C9D1E0;}
.nf-bars i{display:block;height:8px;border-radius:4px;background:linear-gradient(90deg,#F5A524,#FF7A3D);width:0;transition:width 1.1s var(--ease) .15s;}
.nf-phone[data-show="1"] .nf-bars i{width:var(--w);}
.nf-bars div:nth-child(2) i{transition-delay:.3s}.nf-bars div:nth-child(3) i{transition-delay:.45s}.nf-bars div:nth-child(4) i{transition-delay:.6s}
.nf-eg{margin:2px 0 0;text-align:center;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#6E7A90;}

.nf-b{max-width:86%;padding:9px 11px 6px;border-radius:12px;font-size:12.5px;line-height:1.45;}
.nf-b small{display:block;text-align:right;font-size:10px;color:rgba(255,255,255,.5);margin-top:3px;}
.nf-b.in{align-self:flex-start;background:#1C2433;border-top-left-radius:4px;}
.nf-b.out{align-self:flex-end;background:#0F5C4B;border-top-right-radius:4px;}
.nf-ai{display:block;font-family:var(--mono);font-size:9.5px;color:#7FE3C4;margin-bottom:3px;}
.nf-phone[data-show="2"] .nf-b{animation:pop .5s var(--ease) both;}
.nf-phone[data-show="2"] .nf-b:nth-child(2){animation-delay:.5s}.nf-phone[data-show="2"] .nf-b:nth-child(3){animation-delay:1.1s}
@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}

.nf-pay{padding:14px 12px;border-radius:14px;background:#1C2433;font-size:12.5px;}
.nf-pay-k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#8FA0B8;margin-bottom:10px;}
.nf-pay-row{display:flex;justify-content:space-between;padding:6px 0;color:#C9D1E0;}
.nf-pay-row.t{border-top:1px solid rgba(255,255,255,.08);margin-top:4px;padding-top:10px;color:#fff;font-weight:700;}
.nf-pay-btn{margin-top:12px;padding:10px;text-align:center;border-radius:10px;background:#25D366;color:#062B14;font-weight:700;}
.nf-paid{display:flex;align-items:center;gap:8px;align-self:center;padding:9px 14px;border-radius:999px;background:rgba(61,214,140,.14);color:#3DD68C;font-size:12px;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .4s var(--ease) .7s,transform .5s var(--ease) .7s;}
.nf-paid i{width:8px;height:8px;border-radius:50%;background:#3DD68C;}
.nf-phone[data-show="3"] .nf-paid{opacity:1;transform:none;}

.nf-chip{position:absolute;padding:12px 16px;border-radius:14px;background:var(--surface-2,#141A2A);border:1px solid var(--hair-2);box-shadow:var(--e2,0 20px 40px -20px rgba(0,0,0,.5));font-size:13px;color:var(--ink);opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .6s var(--ease);right:0;top:24%;}
.nf-chip-2{right:auto;left:0;top:auto;bottom:22%;}
.nf-chip b{display:block;font-weight:600;}
.nf-chip-k{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--fest-ink);margin-bottom:4px;}
.nf-stage[data-show="1"] .nf-chip[data-for="1"],.nf-stage[data-show="2"] .nf-chip[data-for="1"],.nf-stage[data-show="3"] .nf-chip[data-for="3"]{opacity:1;transform:none;}

/* ---------- 3 · who it's for ---------- */
.nf-for{padding:var(--pad-sec) 0;border-top:1px solid var(--hair);}
.nf-for-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border-radius:24px;overflow:hidden;background:var(--hair-2);border:1px solid var(--hair-2);}
.nf-card{display:flex;flex-direction:column;gap:8px;padding:30px 28px 32px;background:var(--bg);color:inherit;text-decoration:none;transition:background-color .3s var(--ease);}
.nf-card:hover{background:var(--surface);}
.nf-card .ic{width:22px;height:22px;color:var(--fest-ink);margin-bottom:10px;}
.nf-card b{font-size:17px;font-weight:600;color:var(--ink);}
.nf-card span{font-size:14.5px;line-height:1.55;color:var(--ink-2);}

/* ---------- 4 · ready ---------- */
.nf-ready{padding:var(--pad-sec) 0;border-top:1px solid var(--hair);}
.nf-ready-in{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,90px);align-items:center;}
.nf-ready-copy>p:not(.nf-k){font-size:16px;line-height:1.65;color:var(--ink-2);margin:20px 0 26px;max-width:460px;}
.nf-trust{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;}
.nf-trust li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);}
.nf-trust .ic{width:18px;height:18px;color:var(--iris-ink);flex:none;}
.nf-time{list-style:none;margin:0;padding:0;}
.nf-time li{position:relative;padding:0 0 30px 36px;}
.nf-time li::before{content:"";position:absolute;left:5px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--fest);box-shadow:0 0 0 5px var(--fest-soft),0 0 18px var(--fest-glow);}
.nf-time li:not(:last-child)::after{content:"";position:absolute;left:10.5px;top:24px;bottom:4px;width:1px;background:linear-gradient(var(--fest),var(--hair));}
.nf-t{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;color:var(--fest-ink);margin-bottom:4px;}
.nf-time b{display:block;font-size:18px;font-weight:600;color:var(--ink);margin-bottom:4px;}
.nf-time p{margin:0;font-size:14.5px;color:var(--ink-2);}

/* ---------- 5 · questions as a chat ---------- */
.nf-qa{padding:var(--pad-sec) 0;border-top:1px solid var(--hair);}
.nf-chat{max-width:720px;margin:0 auto;display:flex;flex-direction:column;gap:12px;padding:clamp(20px,3vw,34px);border-radius:28px;background:var(--surface);border:1px solid var(--hair-2);box-shadow:var(--edge);}
.nf-q,.nf-a{max-width:82%;padding:13px 16px;border-radius:18px;font-size:15px;line-height:1.55;}
.nf-q{align-self:flex-end;background:var(--fest-soft);color:var(--ink);border-bottom-right-radius:6px;font-weight:500;}
.nf-a{align-self:flex-start;background:var(--bg);border:1px solid var(--hair);color:var(--ink-2);border-bottom-left-radius:6px;margin-bottom:10px;}
.nf-a a{color:var(--iris-ink);font-weight:600;}
.js .nf-chat .nf-q,.js .nf-chat .nf-a{opacity:0;transform:translateY(10px);transition:opacity .5s var(--ease) var(--d,0s),transform .6s var(--ease) var(--d,0s);}
.nf-chat.in .nf-q,.nf-chat.in .nf-a{opacity:1!important;transform:none!important;}
html[data-theme="light"] .nf-chat{background:var(--surface-2);}

/* ---------- 6 · close ---------- */
.nf-close{overflow:hidden;padding:clamp(100px,16vh,160px) 0;text-align:center;border-top:1px solid var(--hair);isolation:isolate;}
.nf-close-glow{position:absolute;z-index:-1;left:50%;bottom:-260px;width:min(1200px,140vw);height:700px;transform:translateX(-50%);background:radial-gradient(closest-side,var(--fest-glow),rgba(255,150,40,.08) 45%,rgba(91,91,214,.05) 70%,transparent);}
.nf-close .nf-diya-lg{margin-bottom:28px;}
.nf-close h2{font-size:clamp(2.4rem,5vw,4.4rem);}
.nf-close-in>p:not(.cta-note){font-size:17px;color:var(--ink-2);margin:20px 0 32px;}

/* ---------- responsive ---------- */
@media (max-width:900px){
  .nf-run-grid{grid-template-columns:1fr;}
  .nf-stage{position:relative;top:0;height:auto;min-height:0;order:-1;margin-bottom:20px;}
  .nf-step{min-height:0;padding:18px 0 18px 22px;opacity:1;}
  .nf-phone{width:280px;height:540px;}
  .nf-chip{display:none;}
  .nf-ready-in{grid-template-columns:1fr;}
  .nf-for-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:600px){
  .nf-hero{padding-top:104px;}
  .nf-lamps{height:90px;}
  .nf-for-grid{grid-template-columns:1fr;}
  .nf-trust{grid-template-columns:1fr;}
  .nf-count{gap:10px;padding:10px 14px;flex-wrap:wrap;justify-content:center;}
  .nf-count-k{width:100%;text-align:center;margin:0;}
  .nf-q,.nf-a{max-width:92%;font-size:14.5px;}
}
@media (prefers-reduced-motion:reduce){
  .nf-diya i,.nf-bulb,.nf-sparkle{animation:none;}
  .nf-state,.nf-bars i,.nf-paid,.nf-chip,.nf-step{transition:none;}
  .nf-phone[data-show="2"] .nf-b{animation:none;}
  .js .nf-chat .nf-q,.js .nf-chat .nf-a{opacity:1;transform:none;transition:none;}
}
