
:root{--bg:#08090b;--panel:#111316;--gold:#e9b84e;--gold2:#ffdf86;--muted:#b8b8b8;--line:#574323;--cream:#e8d2a8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:#f5f2eb;font-family:Arial,Helvetica,sans-serif;line-height:1.55}
a{color:inherit;text-decoration:none}.wrap{width:min(1180px,92%);margin:auto}
header{position:sticky;top:0;z-index:10;background:rgba(5,6,7,.94);backdrop-filter:blur(14px);border-bottom:1px solid #6b5123}
.nav{min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand img{width:76px;height:56px;object-fit:contain}.brand span{font-size:11px;letter-spacing:2px;color:var(--gold2);white-space:nowrap}
nav{display:flex;align-items:center;gap:clamp(12px,2.2vw,30px)}nav a{font-size:13px;font-weight:700;color:#e8e4dc;white-space:nowrap}nav a:hover,nav a.active{color:var(--gold2)}
.menu{display:none;background:transparent;color:var(--gold);border:1px solid var(--gold);border-radius:8px;padding:8px 12px;font-size:22px}
.hero{padding:38px 0 30px;background:radial-gradient(ellipse at 50% 0%,#33230e 0,transparent 65%)}
.hero-layout{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:38px}
.kicker{font-size:12px;color:var(--gold2);font-weight:800;letter-spacing:2.5px;text-transform:uppercase}
h1{font-size:clamp(36px,5vw,66px);line-height:1.04;margin:12px 0 18px;letter-spacing:-1.7px}
h1 span{color:var(--gold2)}.lead{color:#d0ccc4;max-width:530px;font-size:17px}
.btn{display:inline-flex;align-items:center;gap:12px;border-radius:30px;padding:13px 22px;background:linear-gradient(120deg,#f8d36d,#d99522);color:#100d06;font-weight:800;font-size:13px;margin-top:18px;border:1px solid #ffdf86;box-shadow:0 0 20px #d99a2630}
.hero-art{position:relative}.hero-art img{width:100%;display:block;border:1px solid #8e6a2d;border-radius:18px;box-shadow:0 12px 45px #000}
.benefits{padding:22px 0;border-top:1px solid #5c451d;border-bottom:1px solid #5c451d;background:#0d0d0e}
.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.benefit{display:flex;align-items:center;gap:12px;padding:12px;border-right:1px solid #47371c}.benefit:last-child{border:0}.icon{width:42px;height:42px;flex:0 0 42px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-size:21px}.benefit b{display:block;color:var(--gold2);font-size:12px}.benefit small{display:block;color:#ddd;font-size:11px}
.section{padding:56px 0}.section-head{text-align:center;margin-bottom:28px}.section-head h2{font-size:clamp(26px,3vw,38px);margin:7px 0}.section-head p{color:var(--muted);margin:0}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.service{background:linear-gradient(145deg,#171717,#090909);border:1px solid #98712b;border-radius:14px;overflow:hidden;transition:.25s;display:flex;flex-direction:column}.service:hover{transform:translateY(-5px);box-shadow:0 12px 28px #d99a2520;border-color:var(--gold2)}
.service img{width:100%;height:190px;object-fit:cover;display:block}.service-body{padding:17px;display:flex;flex-direction:column;flex:1}.service h3{font-size:16px;margin:0 0 8px;color:#f7df9e}.service p{font-size:13px;color:#c9c5bd;margin:0 0 15px}.learn{margin-top:auto;color:var(--gold2);font-weight:800;font-size:12px}
.how{background:linear-gradient(120deg,#111214,#08090b);border:1px solid #6b5123;border-radius:16px;padding:26px;display:grid;grid-template-columns:1fr 2fr;gap:22px;align-items:center}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;text-align:center}.step .icon{margin:0 auto 9px;width:50px;height:50px}.step b{display:block;color:var(--gold2);font-size:13px}.step p{font-size:11px;color:#bbb;margin:4px 0}
.contact{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border:1px solid #80602a;border-radius:14px;background:radial-gradient(ellipse at right,#3a260d,#101011 65%)}
.contact h2{margin:5px 0}.contact p{color:#ccc;margin:0}
footer{border-top:1px solid #58431e;padding:24px 0;color:#aaa;font-size:12px}.footer-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.socials{display:flex;gap:12px}.socials a{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold2);font-weight:bold;font-size:19px}.socials a:hover{background:var(--gold);color:#111}
.detail-hero{padding:44px 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center}.detail-grid img{width:100%;border-radius:16px;border:1px solid #8e6a2d}.detail-grid h1{font-size:clamp(34px,4vw,54px)}.feature-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:26px 0}.feature{padding:14px;border:1px solid #4d3b20;border-radius:10px;background:#111}.feature b{color:var(--gold2);display:block}.feature small{color:#bbb}
@media(max-width:900px){.nav{min-height:74px}.brand img{width:62px;height:48px}.menu{display:block}nav{display:none;position:absolute;top:74px;left:0;right:0;background:#090909;border-bottom:1px solid var(--gold);padding:18px 5%;flex-direction:column;align-items:flex-start;gap:16px}nav.open{display:flex}.hero-layout,.detail-grid{grid-template-columns:1fr}.hero-copy{order:1}.hero-art{order:2}.hero-art img{max-height:580px;object-fit:cover;object-position:center}.benefit-grid{grid-template-columns:repeat(2,1fr)}.benefit:nth-child(2){border-right:0}.services{grid-template-columns:repeat(2,1fr)}.service img{height:180px}.how{grid-template-columns:1fr}.contact{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.wrap{width:92%}.hero{padding-top:24px}.hero-layout{gap:22px}h1{font-size:38px}.lead{font-size:15px}.benefit-grid{grid-template-columns:1fr 1fr;gap:5px}.benefit{padding:9px 5px;gap:8px;border-right:0}.icon{width:36px;height:36px;flex-basis:36px;font-size:18px}.benefit b{font-size:10px}.benefit small{font-size:10px}.section{padding:38px 0}.services{grid-template-columns:1fr;gap:13px}.service{display:grid;grid-template-columns:38% 1fr;min-height:150px}.service img{height:100%;min-height:150px;object-fit:cover}.service-body{padding:13px}.service h3{font-size:13px}.service p{font-size:11px;margin-bottom:8px}.learn{font-size:11px}.steps{grid-template-columns:repeat(2,1fr);gap:22px}.how{padding:18px}.footer-row{flex-wrap:wrap}.footer-row>span{order:3;width:100%}.socials a{width:46px;height:46px}.feature-list{grid-template-columns:1fr}.detail-grid{gap:20px}}


/* =========================================================
   RYLUTAP 3D ROTATING NFC CARD — MAIN PAGE ONLY
   To change the artwork, replace assets/event-card-front.jpg
   and assets/event-card-back.jpg with your own card images.
   Adjust --card-spin-duration to make the rotation faster/slower.
   ========================================================= */
.card-stage{min-height:360px;display:grid;place-items:center;position:relative;perspective:1100px;isolation:isolate;overflow:visible}
.nfc-card-3d{width:min(100%,520px);aspect-ratio:1.72/1;position:relative;transform-style:preserve-3d;animation:ryl-card-spin 12s cubic-bezier(.45,.05,.55,.95) infinite;filter:drop-shadow(0 24px 24px rgba(0,0,0,.6));will-change:transform}
.nfc-card-face{position:absolute;inset:0;overflow:hidden;border-radius:17px;border:1px solid rgba(255,210,117,.8);backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#080808;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 0 22px rgba(214,157,54,.15)}
.nfc-card-face img{display:block;width:100%;height:100%;object-fit:cover}
.nfc-card-front{transform:translateZ(1.5px)}
.nfc-card-back{transform:rotateY(180deg) translateZ(1.5px)}
.card-stage-glow{position:absolute;width:76%;height:22px;bottom:8%;left:12%;border-radius:50%;border:1px solid rgba(242,190,91,.72);box-shadow:0 0 24px rgba(225,166,55,.34),inset 0 0 12px rgba(225,166,55,.16);transform:rotateX(72deg);z-index:-1;pointer-events:none}
@keyframes ryl-card-spin{0%,8%{transform:rotateY(0deg) rotateX(2deg)}45%,55%{transform:rotateY(180deg) rotateX(-2deg)}92%,100%{transform:rotateY(360deg) rotateX(2deg)}}
@media(max-width:900px){.card-stage{min-height:clamp(230px,60vw,390px);padding:8px 0}.nfc-card-3d{width:100%;max-width:540px}.nfc-card-face{border-radius:12px}}
@media(max-width:560px){.card-stage{min-height:clamp(190px,58vw,300px)}.nfc-card-3d{width:100%}.nfc-card-face{border-radius:9px}}
@media(prefers-reduced-motion:reduce){.nfc-card-3d{animation:none;transform:rotateY(-12deg)}}


/* HOMEPAGE RESTORED PROMO IMAGE */
.hero-layout{grid-template-columns:1fr}
.promo-reference-section{padding:24px 0 10px}
.promo-reference-wrap{display:flex;justify-content:center}
.promo-reference-wrap img{display:block;width:100%;height:auto;max-width:980px;border-radius:16px;border:1px solid #5a4728;box-shadow:0 14px 42px rgba(0,0,0,.45)}

/* MAIN PAGE NFC CARD ROTATION — placed above "Designed for every business" */
.card-stage{min-height:clamp(260px,36vw,440px);display:grid;place-items:center;position:relative;perspective:1200px;isolation:isolate;overflow:visible;padding:16px 0 28px}
.nfc-card-3d{width:min(100%,620px);aspect-ratio:1.64/1;position:relative;transform-style:preserve-3d;animation:ryl-card-spin 10s cubic-bezier(.45,.05,.55,.95) infinite;filter:drop-shadow(0 24px 24px rgba(0,0,0,.62));will-change:transform}
.nfc-card-face{position:absolute;inset:0;overflow:hidden;border-radius:18px;border:1px solid rgba(255,210,117,.82);backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#080808;box-shadow:inset 0 0 0 1px rgba(255,255,255,.07),0 0 22px rgba(214,157,54,.18)}
.nfc-card-face img{display:block;width:100%;height:100%;object-fit:cover}
.nfc-card-front{transform:translateZ(1.5px)}
.nfc-card-back{transform:rotateY(180deg) translateZ(1.5px)}
.card-stage-glow{position:absolute;width:min(72%,560px);height:22px;bottom:8%;left:14%;border-radius:50%;border:1px solid rgba(242,190,91,.72);box-shadow:0 0 24px rgba(225,166,55,.34),inset 0 0 12px rgba(225,166,55,.16);transform:rotateX(72deg);z-index:-1;pointer-events:none}
@keyframes ryl-card-spin{0%,8%{transform:rotateY(0deg) rotateX(2deg)}43%,57%{transform:rotateY(180deg) rotateX(-2deg)}92%,100%{transform:rotateY(360deg) rotateX(2deg)}}
@media(max-width:900px){.card-stage{min-height:clamp(220px,58vw,390px);padding:8px 0 22px}.nfc-card-3d{width:100%;max-width:600px}.nfc-card-face{border-radius:12px}.promo-reference-section{padding-top:16px}}
@media(max-width:560px){.card-stage{min-height:clamp(180px,54vw,300px)}.nfc-card-3d{width:100%}.nfc-card-face{border-radius:9px}.promo-reference-wrap img{border-radius:10px}}
@media(prefers-reduced-motion:reduce){.nfc-card-3d{animation:none;transform:rotateY(-12deg)}}

/* CARD FIT + GOLD FLOOR SHADOW FIX — animation only */
.card-stage{
  box-sizing:border-box;
  width:100%;
  min-height:clamp(280px, 42vw, 440px);
  padding:24px 5% 42px;
  display:grid;
  place-items:center;
  position:relative;
  perspective:1200px;
  isolation:isolate;
  overflow:visible;
}
.nfc-card-3d{
  box-sizing:border-box;
  width:min(88%, 560px);
  max-width:100%;
  aspect-ratio:1.65 / 1;
  margin:0 auto;
  filter:drop-shadow(0 16px 18px rgba(0,0,0,.48));
}
.nfc-card-face img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.card-stage-glow{
  width:min(88%, 560px);
  height:20px;
  left:50%;
  bottom:24px;
  transform:translateX(-50%) rotateX(72deg);
  box-sizing:border-box;
  border-radius:50%;
  border:1px solid rgba(242,190,91,.72);
  box-shadow:0 0 18px rgba(225,166,55,.30), inset 0 0 10px rgba(225,166,55,.13);
}
@media(max-width:900px){
  .card-stage{min-height:clamp(250px, 58vw, 390px);padding:18px 4% 36px;}
  .nfc-card-3d,.card-stage-glow{width:min(90%, 540px);}
}
@media(max-width:560px){
  .card-stage{min-height:clamp(205px, 58vw, 310px);padding:14px 3% 30px;}
  .nfc-card-3d,.card-stage-glow{width:94%;}
  .card-stage-glow{bottom:18px;height:16px;}
}
