
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,600;9..144,700;9..144,800&family=Inter:wght@400;500;600;700;800&display=swap');

:root{
  --espresso:#150b07;
  --cocoa:#21110b;
  --cocoa-2:#2f1a11;
  --card:#241713;
  --cream:#fff2df;
  --muted:#c5a88f;
  --line:rgba(255,198,124,.16);
  --orange:#ff9d1c;
  --orange-2:#ffc15b;
  --soft:#5b2d14;
  --shadow:0 34px 90px rgba(0,0,0,.38);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:
    radial-gradient(circle at 70% -10%, rgba(255,157,28,.22), transparent 28%),
    radial-gradient(circle at 12% 12%, rgba(92,45,20,.38), transparent 24%),
    linear-gradient(180deg,#1a0d08 0%,#0d0604 100%);
  color:var(--cream);
  font-family:Inter,system-ui,sans-serif;
  overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 42px));margin:0 auto}
.top-strip{
  position:fixed;
  inset:18px 18px auto 18px;
  z-index:50;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:16px;
  pointer-events:none;
}
.brand-token{
  pointer-events:auto;
  display:grid;
  grid-template-columns:54px auto;
  align-items:center;
  gap:13px;
  padding:8px 18px 8px 8px;
  border-radius:999px;
  background:rgba(26,13,8,.78);
  border:1px solid rgba(255,198,124,.2);
  backdrop-filter:blur(16px);
  box-shadow:0 18px 38px rgba(0,0,0,.22);
}
.brand-token img{width:54px;height:54px;border-radius:50%;object-fit:cover}
.brand-token strong{display:block;letter-spacing:.06em;font-weight:800;font-size:.86rem}
.brand-token span{display:block;margin-top:4px;color:var(--muted);text-transform:uppercase;letter-spacing:.2em;font-size:.62rem}
.nav-dock{
  pointer-events:auto;
  justify-self:center;
  display:flex;
  gap:8px;
  padding:8px;
  border-radius:999px;
  background:rgba(26,13,8,.58);
  border:1px solid rgba(255,198,124,.16);
  backdrop-filter:blur(18px);
}
.nav-dock a{
  padding:11px 16px;
  border-radius:999px;
  color:#e9d6c5;
  font-size:.9rem;
  transition:.3s ease;
}
.nav-dock a:hover,.nav-dock a.active{background:rgba(255,157,28,.18);color:#fff}
.header-contact{
  pointer-events:auto;
  display:flex;
  align-items:center;
  gap:9px;
  padding:12px 16px;
  border-radius:999px;
  background:var(--orange);
  color:#190c07;
  font-weight:800;
  box-shadow:0 14px 32px rgba(255,157,28,.25);
}
.menu-btn{display:none;pointer-events:auto;border:1px solid var(--line);background:rgba(26,13,8,.7);color:#fff;border-radius:18px;width:52px;height:52px;font-size:1.15rem}
.hero{
  min-height:100vh;
  padding:112px 0 80px;
  position:relative;
  overflow:hidden;
}
.hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(255,198,124,.06) 1px,transparent 1px),
    linear-gradient(rgba(255,198,124,.04) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:linear-gradient(180deg,black,transparent 88%);
}
.hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:44px;
  align-items:center;
}
.hero-copy{
  padding-top:30px;
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--orange-2);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:.76rem;
  font-weight:800;
  margin-bottom:20px;
}
.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange)}
h1,h2,h3{font-family:Fraunces,serif}
h1{
  font-size:clamp(4rem,7vw,7.8rem);
  line-height:.86;
  margin:0 0 22px;
  letter-spacing:-.055em;
}
h1 .accent{color:var(--orange-2)}
.lede{
  max-width:660px;
  color:#e5ccbb;
  font-size:1.12rem;
  line-height:1.85;
  margin:0;
}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:30px 0}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:56px;
  padding:0 24px;
  border-radius:999px;
  font-weight:800;
  border:1px solid transparent;
  transition:.35s ease;
}
.btn:hover{transform:translateY(-3px)}
.btn-main{background:linear-gradient(135deg,var(--orange),#d86d00);color:#180b06;box-shadow:0 18px 42px rgba(255,157,28,.25)}
.btn-quiet{border-color:var(--line);background:rgba(255,255,255,.04);color:#fff}
.quick-notes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:30px;
}
.note{
  padding:17px;
  border-radius:22px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
}
.note strong{display:block;color:#fff;margin-bottom:6px}
.note span{color:var(--muted);font-size:.9rem;line-height:1.55}
.hero-plates{
  position:relative;
  min-height:690px;
}
.banner-card{
  position:absolute;
  inset:30px 0 auto;
  height:250px;
  border-radius:38px;
  overflow:hidden;
  border:1px solid rgba(255,198,124,.18);
  box-shadow:var(--shadow);
  opacity:.95;
}
.banner-card img{width:100%;height:100%;object-fit:cover}
.app-medal{
  position:absolute;
  z-index:4;
  left:20px;
  top:0;
  width:144px;
  height:144px;
  padding:12px;
  border-radius:42px;
  background:rgba(26,13,8,.78);
  border:1px solid rgba(255,198,124,.28);
  box-shadow:0 26px 58px rgba(0,0,0,.35);
}
.app-medal img{border-radius:32px;width:100%;height:100%;object-fit:cover}
.phone-stack{
  position:absolute;
  inset:auto 0 0 0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  align-items:end;
}
.phone{
  border-radius:34px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 28px 70px rgba(0,0,0,.45);
  background:#0f0907;
}
.phone:first-child{transform:rotate(-3deg) translateY(40px)}
.phone:last-child{transform:rotate(4deg)}
.floating-ticket{
  position:absolute;
  z-index:5;
  right:8px;
  top:250px;
  width:260px;
  padding:22px;
  border-radius:28px;
  background:rgba(255,242,223,.92);
  color:#1c0e08;
  box-shadow:0 26px 64px rgba(0,0,0,.35);
}
.floating-ticket span{display:block;color:#8f4c12;text-transform:uppercase;letter-spacing:.16em;font-weight:800;font-size:.72rem}
.floating-ticket strong{display:block;font-size:1.22rem;margin-top:8px}
.section{padding:84px 0}
.section-head{
  display:grid;
  grid-template-columns:1fr minmax(260px,520px);
  gap:28px;
  align-items:end;
  margin-bottom:34px;
}
.section-head h2{
  font-size:clamp(2.6rem,5vw,5rem);
  line-height:.95;
  margin:0;
  letter-spacing:-.045em;
}
.section-head p{margin:0;color:var(--muted);line-height:1.8}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
}
.feature-card{
  grid-column:span 4;
  min-height:260px;
  padding:26px;
  border-radius:32px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  border:1px solid var(--line);
  box-shadow:0 18px 56px rgba(0,0,0,.18);
  transition:.4s ease;
}
.feature-card:hover{transform:translateY(-8px);border-color:rgba(255,157,28,.34)}
.feature-card.wide{grid-column:span 8}
.feature-icon{
  width:58px;height:58px;border-radius:20px;
  display:grid;place-items:center;
  background:rgba(255,157,28,.12);
  border:1px solid rgba(255,157,28,.25);
  color:var(--orange-2);
  font-weight:900;
  margin-bottom:20px;
}
.feature-card h3{font-size:1.45rem;margin:0 0 10px}
.feature-card p{margin:0;color:#d7beaa;line-height:1.8}
.split{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  align-items:center;
}
.panel{
  padding:34px;
  border-radius:38px;
  background:rgba(255,255,255,.045);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.panel h2{font-size:clamp(2.2rem,4vw,4.3rem);line-height:.98;margin:0 0 18px}
.panel p{color:var(--muted);line-height:1.85}
.checks{display:grid;gap:12px;margin-top:24px}
.checks li{list-style:none;padding:14px 16px;border-radius:18px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.screen-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.screen-card{
  border-radius:28px;
  overflow:hidden;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  box-shadow:0 18px 42px rgba(0,0,0,.25);
}
.screen-card img{width:100%}
.services{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:22px;
}
.services .panel{background:linear-gradient(160deg,rgba(255,157,28,.12),rgba(255,255,255,.035))}
.service-list{display:grid;gap:14px}
.service-row{
  display:grid;
  grid-template-columns:80px 1fr;
  gap:16px;
  padding:22px;
  border-radius:28px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
}
.service-row b{font-family:Fraunces,serif;font-size:2.4rem;color:var(--orange-2)}
.service-row h3{margin:0 0 8px}
.service-row p{margin:0;color:var(--muted);line-height:1.75}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-list{display:grid;gap:14px}
.contact-item{padding:18px;border-radius:20px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.contact-item span{display:block;color:var(--orange-2);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}
.contact-item strong{line-height:1.6}
.site-footer{
  margin-top:50px;
  padding:48px 0;
  background:linear-gradient(180deg,rgba(255,157,28,.07),rgba(0,0,0,.18));
  border-top:1px solid var(--line);
}
.footer-layout{
  display:grid;
  grid-template-columns:1fr auto;
  gap:32px;
  align-items:end;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:16px;
}
.footer-brand img{width:72px;height:72px;border-radius:24px;object-fit:cover}
.footer-brand strong{display:block;font-size:1.2rem}
.footer-brand p{max-width:560px;margin:8px 0 0;color:var(--muted);line-height:1.7}
.footer-links{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:10px;
}
.footer-links a{
  padding:12px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line);
  color:#e8d4c3;
}
.legal-page{
  padding:140px 0 70px;
}
.legal-card{
  max-width:920px;
  margin:0 auto;
  padding:38px;
  border-radius:36px;
  background:rgba(255,255,255,.045);
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  color:#e5d0bf;
  line-height:1.8;
}
.legal-card strong{display:block;color:var(--orange-2);font-size:1.15rem;margin-top:18px;margin-bottom:8px}
.legal-card p{margin:0 0 10px}
.page-hero{padding:150px 0 44px}
.page-hero h1{font-size:clamp(3.4rem,6vw,6.4rem)}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
.float{animation:float 7s ease-in-out infinite}
.float2{animation:float 9s ease-in-out infinite reverse}
@keyframes float{50%{transform:translateY(-12px)}}
@media (max-width:1060px){
  .top-strip{grid-template-columns:auto 1fr auto}
  .nav-dock{position:absolute;top:76px;left:0;right:0;display:none;flex-direction:column;border-radius:24px;padding:16px}
  .nav-dock.open{display:flex}
  .header-contact{display:none}
  .menu-btn{display:block;justify-self:end}
  .hero-layout,.split,.services,.contact-grid,.footer-layout{grid-template-columns:1fr}
  .hero-plates{min-height:760px}
  .section-head{grid-template-columns:1fr}
  .screen-gallery{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:700px){
  .container{width:min(100% - 28px,1180px)}
  .top-strip{inset:10px 10px auto 10px}
  .brand-token{grid-template-columns:44px auto}
  .brand-token img{width:44px;height:44px}
  .brand-token span{display:none}
  h1{font-size:3.2rem}
  .quick-notes,.feature-grid,.screen-gallery{grid-template-columns:1fr}
  .feature-card,.feature-card.wide{grid-column:span 1}
  .hero-plates{min-height:640px}
  .banner-card{height:190px}
  .app-medal{width:108px;height:108px;border-radius:30px}
  .phone-stack{gap:10px}
  .floating-ticket{left:16px;right:16px;width:auto;top:210px}
  .phone:first-child{transform:translateY(70px)}
  .phone:last-child{transform:translateY(20px)}
  .footer-links{justify-content:flex-start}
}
