/* ────────────────────────────────────────────
   PREMIUM AGENCY DESIGN SYSTEM
   ──────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body {
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--ink);
  background-color: var(--bg);
  background-image: 
    radial-gradient(1000px 600px at 70% 0%, rgba(255,109,41,.12) 0, transparent 70%),
    radial-gradient(800px 500px at 20% 50%, rgba(69,48,39,.3) 0, transparent 70%);
  background-repeat: no-repeat;
  background-position: top center;
  line-height: 1.6;
  overflow-x: hidden;
  transition: background-color .4s ease;
}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button,input,select,textarea{font:inherit;border:none;outline:none;background:none;color:inherit}

/* ── THEMES ─────────────────────────────── */
:root{
  --bg: #161316;
  --ink: #ffffff;
  --muted: #BABABA;
  --line: rgba(186,186,186,0.15);
  --accent: #FF6D29;
  --accent-deep: #e55c1e;
  --accent-soft: rgba(255,109,41,0.12);
  --paper: #1c181c;
  --paper-0: #161316;
  --rule: rgba(186,186,186,0.1);
  --rule-soft: rgba(186,186,186,0.05);
  --margin-line: #FF6D29;
  --dark: #0d0b0d;
  --dark-card: #453027;
  --dark-border: rgba(255,109,41,0.2);
  --dark-muted: #BABABA;
  --shadow: 0 18px 44px rgba(0,0,0,.4);
  --shadow-sm: 0 3px 12px rgba(0,0,0,.2);
  --radius: 20px;
  --radius-sm: 10px;
  --radius-lg: 32px;
  --ease: cubic-bezier(.32,.72,0,1);
  --contain: 1100px;
  --font-heading: 'Playfair Display', serif;
  --font-body: 'Plus Jakarta Sans', sans-serif;
}
h1, h2, h3, h4, h5, h6, .display { font-family: var(--font-heading); }

/* ── BASE SURFACES ──────────────────────── */
::selection{background:var(--accent-soft);color:var(--accent-deep)}
*:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.contain{max-width:var(--contain);margin:0 auto;padding:0 24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* custom scrollbar + caret match the world */
::selection{background:var(--accent-soft)}
input,select,textarea{caret-color:var(--accent)}
::-webkit-scrollbar{width:12px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--line);border:3px solid var(--bg);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:var(--accent)}

/* ── KHATA SHEET (ruled led paper) ─────── */
.sheet{
  background-color:var(--paper);
  background-image:
    linear-gradient(to right, transparent 0, transparent 40px, var(--margin-line) 40px 42px, transparent 42px, transparent 100%),
    repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--rule) 31px 32px);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
  padding:28px 26px 30px 58px;
  position:relative;
}
.sheet.sheet-clean{
  background-image:repeating-linear-gradient(to bottom, transparent 0, transparent 31px, var(--rule) 31px 32px);
  padding-left:26px;
}
.sheet::before{ /* punched binding edge */
  content:'';position:absolute;left:20px;top:14px;bottom:14px;width:2px;
  background:repeating-linear-gradient(to bottom, var(--margin-line) 0 6px, transparent 6px 14px);
  opacity:.55;
}
.sheet-clean::before{background:none}

/* footer "binder" tick under a sheet */
.bound{height:10px;border-radius:0 0 8px 8px;background:#d3d9e5;margin:-9px auto 0;width:calc(100% - 70px);}

/* stamp: rubber-stamp ink circle/label */
.stamp{
  display:inline-flex;align-items:center;gap:6px;
  border:2px solid var(--accent);color:var(--accent);
  border-radius:10px;padding:6px 14px;
  font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  background:transparent;
  transform:rotate(-2deg);
}
.stamp.dash{transform:rotate(1.4deg)}
.stamp.round{border-radius:999px;transform:rotate(-3deg)}
.stamp svg{width:14px;height:14px;fill:var(--accent)}



/* ── TYPE ─────────────────────────────── */
.display{font-size:clamp(2.4rem,5.5vw,3.8rem);font-weight:800;line-height:1.05;letter-spacing:-.03em}
.handnote{font-size:.9rem;color:var(--muted);line-height:1.5}
.handnote strong{color:var(--ink);font-weight:700}

/* premium glowing underline */
.inkline{position:relative;white-space:nowrap;display:inline-block;z-index:1}
.inkline::after{content:'';position:absolute;left:-4px;right:-4px;bottom:4px;height:14px;background:var(--accent);opacity:var(--inkline-opacity, 0.25);border-radius:6px;z-index:-1;filter:blur(var(--inkline-blur, 2px));transition:background 0.3s}
.inkline.hide-glow::after{display:none}

/* ── BUTTONS (glass & glow) ─────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 32px;border-radius:99px;font-weight:600;font-size:1rem;cursor:pointer;
  transition:all .3s var(--ease);letter-spacing:.01em;white-space:nowrap;user-select:none;
  position:relative;font-family:var(--font-body);
}
.btn:active{transform:scale(.97)}
.btn-primary{
  background:var(--accent);color:#fff;
  box-shadow:0 8px 24px rgba(255,109,41,.25);
  border:1px solid rgba(255,109,41,.4);
}
.btn-primary:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,109,41,.35)}
.btn-ghost{
  border:1px solid rgba(255,255,255,.1);color:var(--ink);background:rgba(255,255,255,.03);
  backdrop-filter:blur(10px);
}
.btn-ghost:hover{border-color:rgba(255,255,255,.25);background:rgba(255,255,255,.08);transform:translateY(-2px)}
.btn-wa{background:var(--accent);color:#fff;font-size:1.08rem;padding:16px 36px;}
.btn-wa:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 12px 28px rgba(255,109,41,.35)}
.btn-wa svg{width:20px;height:20px;fill:#fff}

/* ── SCROLL REVEAL ────────────────────── */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);will-change:opacity,transform}
.reveal.visible{opacity:1;transform:none}

/* ═══════════ HEADER ═══════════════════════ */
.main-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  background: rgba(22, 19, 22, 0.75);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line);
  transition: all 0.3s ease;
}
.header-contain {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: 1.4rem;
  color: var(--ink);
  text-decoration: none;
  letter-spacing: 0.02em;
}
.logo-icon {
  color: var(--accent);
  display: flex;
}
.desktop-nav {
  display: none;
}
.desktop-nav ul {
  list-style: none;
  display: flex;
  gap: 32px;
  margin: 0;
  padding: 0;
}
.desktop-nav a {
  color: var(--muted);
  text-decoration: none;
  font-weight: 500;
  font-size: 0.95rem;
  transition: color 0.2s ease;
}
.desktop-nav a:hover {
  color: var(--ink);
}
.header-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}
.btn-sm {
  padding: 10px 20px;
  font-size: 0.9rem;
}
.btn-outline {
  border: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
}
.btn-outline:hover {
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--accent);
}
.nav-cta {
  display: none;
}
.mobile-menu-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1002;
}
.hamburger {
  width: 24px;
  height: 2px;
  background: var(--ink);
  position: relative;
  transition: all 0.3s ease;
}
.hamburger::before, .hamburger::after {
  content: '';
  position: absolute;
  width: 24px;
  height: 2px;
  background: var(--ink);
  left: 0;
  transition: all 0.3s ease;
}
.hamburger::before { top: -6px; }
.hamburger::after { bottom: -6px; }

.mobile-menu-btn.active .hamburger { background: transparent; }
.mobile-menu-btn.active .hamburger::before { top: 0; transform: rotate(45deg); }
.mobile-menu-btn.active .hamburger::after { bottom: 0; transform: rotate(-45deg); }

.mobile-nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: var(--bg);
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  backdrop-filter: blur(10px);
}
.mobile-nav-overlay.active {
  opacity: 1;
  pointer-events: all;
}
.mobile-nav-links {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  transform: translateY(20px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.mobile-nav-overlay.active .mobile-nav-links {
  transform: translateY(0);
}
.mobile-link {
  font-family: var(--font-heading);
  font-size: 2rem;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s ease;
}
.mobile-link:hover, .mobile-link:active {
  color: var(--ink);
}

@media (min-width: 960px) {
  .desktop-nav { display: block; }
  .nav-cta { display: inline-flex; }
  .mobile-menu-btn { display: none; }
}

/* ═══════════ HERO ═══════════════════════ */
.hero{
  min-height:100dvh;display:flex;align-items:center;position:relative;
  padding:140px 0 80px;overflow:hidden;
  background:transparent;
}
.hero .contain.hero-contain{
  width:100%;max-width:var(--contain);position:relative;z-index:2;
}

/* Desktop layout (2 columns: left text/CTAs, right card image) */
@media (min-width: 960px) {
  .hero .contain.hero-contain {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 48px;
    align-items: center;
  }
  .hero-content {
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }
  .hero h1 {
    font-size: clamp(2.4rem, 3.6vw, 3.5rem);
    text-align: left;
    margin-bottom: 20px;
  }
  .hero-sub {
    text-align: left;
    margin: 0 0 28px 0;
    max-width: 100%;
  }
  .hero-ctas {
    justify-content: flex-start;
    margin-top: 0;
  }
  .hero-stamps {
    justify-content: flex-start;
    margin-top: 24px;
  }
  .hero-ledger-wrap {
    justify-content: flex-end;
  }
  .hero-ledger {
    margin-bottom: 0;
    max-width: 480px;
  }
}

/* Mobile stacked layout (Sequence: Text -> Image Box -> Buttons/CTAs -> Stamps) */
@media (max-width: 959px) {
  .hero .contain.hero-contain {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    max-width: 800px;
  }
  .hero-content {
    display: contents;
  }
  .hero h1 {
    order: 1;
    font-size: clamp(2rem, 5.5vw, 2.8rem);
    text-align: center;
    margin-bottom: 16px;
  }
  .hero-sub {
    order: 2;
    text-align: center;
    margin: 0 auto 24px auto;
    max-width: 540px;
  }
  .hero-ledger-wrap {
    order: 3;
    justify-content: center;
    width: 100%;
    margin-bottom: 28px;
  }
  .hero-ledger {
    margin-bottom: 0;
    max-width: 520px;
  }
  .hero-ctas {
    order: 4;
    justify-content: center;
    margin-top: 0;
    margin-bottom: 20px;
    width: 100%;
  }
  .hero-stamps {
    order: 5;
    justify-content: center;
    margin-top: 0;
  }
}

.hero h1{font-weight:700;line-height:1.04;letter-spacing:-.03em;color:var(--ink)}
.hero h1 .amount{color:var(--accent);position:relative;white-space:nowrap}
.hero-sub{font-size:clamp(1.05rem,1.8vw,1.18rem);color:var(--muted);line-height:1.6;font-weight:400}

/* hero ledger card — system's strongest motif at full strength */
.hero-ledger {
  background: rgba(18, 18, 24, 0.92);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5), 0 0 35px rgba(255, 107, 44, 0.12);
  padding: 20px;
  position: relative;
  width: 100%;
  overflow: hidden;
  transition: transform 0.4s var(--ease), border-color 0.4s var(--ease), box-shadow 0.4s var(--ease);
}

.hero-ledger:hover {
  border-color: rgba(255, 107, 44, 0.35);
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), 0 0 45px rgba(255, 107, 44, 0.2);
}

/* Browser Frame Mockup */
.browser-frame {
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: #0c0c10;
  margin-bottom: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

.browser-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.04);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.browser-dots {
  display: flex;
  gap: 6px;
  align-items: center;
}

.dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.dot-close { background: #ff5f56; }
.dot-min { background: #ffbd2e; }
.dot-max { background: #27c93f; }

.browser-address {
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.5);
  font-family: monospace;
  background: rgba(255, 255, 255, 0.06);
  padding: 3px 12px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.pulse-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #10b981;
  box-shadow: 0 0 8px #10b981;
  margin-right: 5px;
  animation: pulse-ring 1.8s infinite;
  vertical-align: middle;
}

@keyframes pulse-ring {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7); }
  70% { transform: scale(1); box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}

.ledger-img {
  width: 100%;
  height: 180px;
  background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.6) 100%), url('../images/wedding.png') center/cover no-repeat;
  transition: transform 0.5s ease;
}

.browser-frame:hover .ledger-img {
  transform: scale(1.03);
}

.ledger-img-badge {
  background: rgba(0,0,0,.6);
  backdrop-filter: blur(6px);
  color: #fff;
  font-size: 0.65rem;
  font-weight: 600;
  padding: 4px 10px;
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.15);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  display: flex;
  align-items: center;
}

.ledger-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.ledger-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  font-size: 0.92rem;
}

.ledger-row:last-child {
  border-bottom: none;
}

.ledger-row.hero-pricing-row {
  background: linear-gradient(135deg, rgba(255, 107, 44, 0.12) 0%, rgba(255, 107, 44, 0.04) 100%);
  border: 1px solid rgba(255, 107, 44, 0.3);
  border-radius: 12px;
  padding: 14px 16px;
  margin: 6px 0;
}

.ledger-item {
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.4;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 8px;
}

.ledger-item svg {
  color: var(--accent);
  flex-shrink: 0;
}

.ledger-item.hero-item {
  font-weight: 600;
  color: #ffffff;
  font-size: 0.98rem;
}

.ledger-val-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.save-badge {
  background: rgba(255, 107, 44, 0.15);
  color: var(--accent);
  border: 1px solid rgba(255, 107, 44, 0.3);
  font-size: 0.68rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 20px;
  letter-spacing: 0.02em;
}

.ledger-val {
  color: #ffffff;
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
  font-size: .92rem;
}

.ledger-val.dim {
  color: rgba(255, 255, 255, 0.45);
  font-weight: 500;
  font-size: .85rem;
  text-decoration: line-through;
}

.ledger-val.hero-val {
  color: var(--accent);
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-shadow: 0 0 15px rgba(255, 107, 44, 0.4);
}

.ledger-val.accent-val {
  color: var(--accent);
  font-weight: 700;
}

.ledger-val.green-val {
  color: #34d399;
  font-weight: 700;
  background: rgba(16, 185, 129, 0.12);
  padding: 3px 10px;
  border-radius: 20px;
  border: 1px solid rgba(16, 185, 129, 0.25);
  font-size: 0.82rem;
}

.card-action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 14px;
  padding: 12px 18px;
  background: linear-gradient(135deg, var(--accent) 0%, #ff8c42 100%);
  color: #ffffff;
  font-weight: 700;
  font-size: 0.92rem;
  border-radius: 12px;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(255, 107, 44, 0.35);
  transition: all 0.3s ease;
  letter-spacing: 0.02em;
}

.card-action-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(255, 107, 44, 0.5);
  background: linear-gradient(135deg, #ff7b36 0%, #ffa05e 100%);
}

.hero-ctas{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* stamps row — system motif at full strength */
.hero-stamps{display:flex;flex-wrap:wrap;gap:10px}

/* premium enclosed ledger card (mobile-first & 3d desktop) */
.hero-ledger-wrap{perspective:1200px;display:flex;align-items:center;position:relative;z-index:2}
.hero-ledger.tilt{transition:transform .6s var(--ease);transform-style:preserve-3d;text-align:left}

.glow-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:80%;background:var(--accent);filter:blur(100px);opacity:.15;z-index:1;border-radius:50%}

/* ═══════════ SECTIONS ═══════════════ */
section{padding:120px 0}
@media(max-width:899px){section{padding:80px 0}}
.section-head{margin-bottom:40px;max-width:720px}
.section-title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink);margin-bottom:14px}
.section-desc{color:var(--muted);font-size:1.1rem;max-width:600px;line-height:1.6}

/* ── sample folios ── */
.work{background:var(--bg)}
.work-grid{display:grid;grid-template-columns:1fr;gap:30px}
@media(min-width:900px){.work-grid{grid-template-columns:repeat(3,1fr)}}
.work-card{
  display:flex;flex-direction:column;border-radius:20px;overflow:hidden;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);
  transition:all .4s var(--ease);position:relative;text-decoration:none;
}
.work-card:hover{transform:translateY(-4px);border-color:rgba(255,255,255,.15);box-shadow:0 12px 30px rgba(0,0,0,.3)}
.work-thumb{height:200px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}
.thumb-wedding{background:linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../images/wedding.png') center/cover no-repeat;}
.thumb-coaching{background:linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../images/coaching.png') center/cover no-repeat;}
.thumb-restaurant{background:linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../images/restaurant.png') center/cover no-repeat;}
.work-tag{
  position:absolute;top:16px;left:16px;z-index:2;
  background:rgba(255,255,255,.1);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);
  padding:6px 14px;border-radius:30px;font-size:.7rem;font-weight:600;
  color:#fff;letter-spacing:.05em;
}
.wp-line{width:60%;height:6px;border-radius:3px;background:rgba(255,255,255,.2);margin:0 auto}
.wp-line.short{width:40%;margin-top:8px;background:rgba(255,255,255,.1)}
.work-body{padding:28px;display:flex;flex-direction:column;flex:1}
.work-body h3{font-size:1.15rem;font-weight:700;margin-bottom:8px;color:var(--ink)}
.work-body h3::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--accent);margin-right:10px;vertical-align:middle}
.work-body p{font-size:.9rem;color:var(--muted);line-height:1.6;flex:1}
.work-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:20px;
  font-size:.9rem;font-weight:600;color:var(--accent);
  transition:gap .25s var(--ease);
}
.work-link svg{width:16px;height:16px}
.work-card:hover .work-link{gap:12px;color:var(--accent-deep)}

/* ═══════════ PACKAGE (dark cover) ═════════ */
.package{
  background:var(--bg);color:var(--ink);
  position:relative;overflow:hidden;
}
.package::before{
  content:'';position:absolute;inset:0;opacity:.4;pointer-events:none;
  background:radial-gradient(900px 420px at 85% 10%, rgba(255,109,41,.15), transparent 60%);
}
.package .contain{position:relative}
.package .section-title{color:var(--ink)}
.package .section-desc{color:var(--muted)}
.package-head{display:flex;flex-direction:column;gap:12px;margin-bottom:44px}

.value-cover{
  border:1px solid rgba(255,255,255,.08);border-radius:24px;
  background:rgba(255,255,255,.02);backdrop-filter:blur(20px);
  padding:12px;
}
.value-cover-title{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:24px;border-bottom:1px solid rgba(255,255,255,.06);
}
.value-cover-title h3{font-size:1.15rem;font-weight:700;color:var(--ink);letter-spacing:.02em}
.value-cover-meta{font-size:.8rem;color:var(--muted);display:flex;gap:16px;align-items:center}
.value-cover-meta .amt{color:var(--accent);font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums}

.v-rows{display:flex;flex-direction:column}
.v-row{
  display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;
  padding:20px 24px;border-bottom:1px solid rgba(255,255,255,.04);
}
.v-row:last-child{border-bottom:none}
.v-row .tick{
  width:24px;height:24px;border-radius:50%;background:rgba(255,109,41,.15);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.v-row .tick svg{width:12px;height:12px;fill:var(--accent)}
.v-row .copy{display:flex;flex-direction:column;gap:4px}
.v-row .copy strong{color:var(--ink);font-weight:600;font-size:1rem}
.v-row .copy span{color:var(--muted);font-size:.85rem;line-height:1.5}
.v-row .en{font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.package-total{
  margin-top:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;
  padding:28px;border:1px solid rgba(255,109,41,.3);border-radius:24px;
  background:rgba(255,109,41,.05);box-shadow:inset 0 0 40px rgba(255,109,41,.05);
}
.package-total .total-label{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.package-total .total-price{font-size:clamp(2.2rem,5vw,3rem);font-weight:700;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.package-total .total-price .cur{color:var(--accent);font-size:.6em;margin-right:4px}
.package-total .trust-badges{display:flex;gap:12px}

/* ═══════════ PROCESS ═══════════════════ */
.process{background:var(--bg)}
.process-line{display:grid;grid-template-columns:1fr;gap:32px;margin-top:48px;position:relative}
@media(min-width:900px){.process-line{grid-template-columns:repeat(3,1fr)}}
.process-line::before{
  content:'';position:absolute;top:32px;left:10%;right:10%;height:1px;
  background:linear-gradient(to right, transparent, rgba(255,255,255,.1) 10%, rgba(255,255,255,.1) 90%, transparent);
  display:none;
}
@media(min-width:900px){.process-line::before{display:block}}
.pro-step{position:relative;display:flex;flex-direction:column}
.pro-step-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.pro-step .node{
  width:40px;height:40px;border-radius:50%;
  background:var(--bg);border:1px solid rgba(255,255,255,.18);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.05rem;
  box-shadow:0 0 16px rgba(255,109,41,.15);flex-shrink:0;
}
.pro-step h3{font-size:1.2rem;font-weight:700;color:var(--ink);margin-bottom:0}
.pro-step p{font-size:.95rem;color:var(--muted);line-height:1.6}

@media(min-width:900px){
  .pro-step{padding-top:72px}
  .pro-step .node{position:absolute;top:12px;left:0;width:44px;height:44px;font-size:1.1rem}
  .pro-step-head{display:block;margin-bottom:0}
  .pro-step h3{margin-bottom:12px}
}
@media(max-width:899px){
  .pro-step-head{margin-bottom:8px}
  .pro-step p{padding-left:54px}
}
.pro-note{
  margin-top:48px;padding:24px 30px;border-radius:16px;
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);
  color:var(--muted);font-size:.95rem;line-height:1.65;
}
.pro-note strong{color:var(--ink);font-weight:600}

/* ═══════════ CONTACT ═══════════════════ */
.contact{background:var(--bg)}
.contact-grid{display:grid;grid-template-columns:1fr;gap:40px}
@media(min-width:960px){.contact-grid{grid-template-columns:1.06fr .94fr;gap:64px;align-items:start}}

.ikraarnama{
  padding:40px;background:rgba(255,255,255,.02);backdrop-filter:blur(20px);
  border:1px solid rgba(255,255,255,.08);border-radius:24px;position:relative;
}
.ikraarnama h2{font-size:1.8rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);margin-bottom:8px}
.ikraarnama .sub{font-size:.95rem;color:var(--muted);margin-bottom:32px}
.lead-form{display:flex;flex-direction:column;gap:24px}
.form-group{display:flex;flex-direction:column;gap:8px}
.form-group label{font-size:.85rem;font-weight:600;color:var(--muted);letter-spacing:.02em}
.lead-form input,.lead-form select{
  width:100%;padding:14px 18px;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);font-size:1rem;color:var(--ink);border-radius:12px;
  transition:all .2s var(--ease);
}
.lead-form input::placeholder,.lead-form select{color:rgba(255,255,255,.3)}
.lead-form input:focus,.lead-form select:focus{border-color:var(--accent);background:rgba(255,255,255,.06);outline:none;box-shadow:0 0 0 3px rgba(255,109,41,.15)}
.lead-form select{cursor:pointer;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23ffffff' stroke-opacity='0.5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 18px center;padding-right:40px;
}
.lead-form button{margin-top:12px;width:100%}

/* the sealed bill */
.bill{
  background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);border-radius:24px;
  backdrop-filter:blur(20px);overflow:hidden;position:relative;
}
.bill-head{display:flex;align-items:center;justify-content:space-between;padding:24px 30px;background:rgba(0,0,0,.2);color:var(--ink);border-bottom:1px solid rgba(255,255,255,.05)}
.bill-head strong{font-weight:700;letter-spacing:.02em;font-size:1.1rem}
.bill-head span{font-size:.75rem;color:var(--muted);font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.05em}
.bill-rows{display:flex;flex-direction:column;padding:12px 30px;}
.bill-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px dashed rgba(255,255,255,.08);font-size:.95rem}
.bill-row:last-child{border-bottom:none}
.bill-row span:first-child{color:var(--muted)}
.bill-row span:last-child{font-weight:600;color:var(--ink);white-space:nowrap;font-variant-numeric:tabular-nums}
.bill-row.ink span:first-child{color:var(--ink);font-weight:600}
.bill-total{
  display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  padding:24px 30px;background:rgba(0,0,0,.2);color:var(--ink);border-top:1px solid rgba(255,255,255,.05);
}
.bill-total .lbl{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.bill-total .big{font-size:2.2rem;font-weight:700;letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums}
.bill-total .big .cur{font-size:.55em;margin-right:2px}
.bill-notes{padding:20px 30px 24px;font-size:.85rem;color:rgba(255,255,255,.5);line-height:1.6;display:flex;flex-direction:column;gap:12px}
.trust-badges{display:flex;gap:12px;margin-top:6px}

/* ═══════════ FOOTER ═════════════ */
footer{padding:40px 24px;font-size:.85rem;color:var(--muted);background:var(--bg);text-align:center}

/* ── STICKY WA ─────────────────────────── */
.wa-sticky{
  position:fixed;bottom:24px;right:24px;z-index:999;width:64px;height:64px;border-radius:50%;
  background:var(--accent);display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 30px rgba(255,109,41,.3);transition:transform .3s var(--ease),opacity .3s var(--ease);
  opacity:0;pointer-events:none;
}
.wa-sticky.show{opacity:1;pointer-events:auto}
.wa-sticky:hover{transform:scale(1.08)}
.wa-sticky:active{transform:scale(.94)}
.wa-sticky svg{width:32px;height:32px;fill:#fff}
/* ═══════════ GLOBAL MOBILE CENTERING & RESPONSIVE ALIGNMENT ═══════════ */
@media (max-width: 899px) {
  /* Section Header Centering */
  .section-head {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 32px;
  }
  .section-title {
    text-align: center;
  }
  .section-desc {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  /* Process Steps Centering */
  .pro-step-head {
    justify-content: center;
    margin-bottom: 10px;
  }
  .pro-step p {
    text-align: center;
    padding-left: 0;
    margin: 0 auto;
    max-width: 480px;
  }
  .pro-note {
    text-align: center;
    padding: 20px;
  }

  /* Package / Value Cover Centering */
  .value-cover-title {
    flex-direction: column;
    text-align: center;
    gap: 8px;
    padding: 20px 16px;
  }
  .value-cover-meta {
    justify-content: center;
  }
  .v-row {
    grid-template-columns: auto 1fr;
    gap: 14px;
    padding: 16px;
    text-align: left;
  }
  .v-row .en {
    grid-column: 2;
    margin-top: -4px;
  }
  .package-total {
    flex-direction: column;
    text-align: center;
    align-items: center;
    padding: 24px 20px;
  }
  .package-total .trust-badges {
    justify-content: center;
    flex-wrap: wrap;
  }

  /* Work Cards Centering */
  .work-body {
    text-align: center;
    align-items: center;
    padding: 24px 20px;
  }
  .work-link {
    justify-content: center;
  }

  /* Contact & Bill Centering */
  .ikraarnama {
    padding: 28px 20px;
    text-align: center;
  }
  .ikraarnama .sub {
    text-align: center;
  }
  .lead-form .form-group {
    text-align: left;
  }
  .bill-head {
    flex-direction: column;
    text-align: center;
    gap: 4px;
    padding: 20px;
  }
  .bill-rows {
    padding: 12px 20px;
  }
  .bill-total {
    flex-direction: column;
    text-align: center;
    align-items: center;
    gap: 8px;
    padding: 20px;
  }
  .bill-notes {
    text-align: center;
    padding: 16px 20px;
  }

  /* Buttons on Mobile */
  .btn-wa, .btn-ghost {
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
  }
}

/* ── UTILITY CLASSES (REPLACING INLINE STYLES) ── */
.badge-bottom-right { position: absolute; bottom: 16px; right: 16px; }
.work-tag-accent { background: var(--accent); color: #fff; }
.badge-accent { background: var(--accent-soft); color: var(--accent-deep); border: 1px solid var(--accent); }
.form-title { font-size: 1.8rem; font-weight: 700; letter-spacing: -.02em; color: var(--ink); margin-bottom: 8px; }

.thumb-demo-1 { background-image: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../demo/images/demo1_hero.png'); background-size: cover; background-position: center; }
.thumb-demo-2 { background-image: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../demo/images/demo2_hero.png'); background-size: cover; background-position: center; }
.thumb-demo-3 { background-image: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../demo/images/demo3_hero.png'); background-size: cover; background-position: center; }
.thumb-demo-4 { background-image: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../demo/images/demo4_hero.png'); background-size: cover; background-position: center; }
.thumb-demo-5 { background-image: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.75) 100%), url('../demo/images/demo5_hero.png'); background-size: cover; background-position: center; }

.dot-flame { background: #FF6D29; }
.dot-cyan { background: #00F0FF; }
.dot-emerald { background: #10B981; }
.dot-violet { background: #A855F7; }
.dot-gold { background: #F59E0B; }
.dot-crimson { background: #EF4444; }

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ═══════════ ULTRA SMALL MOBILE HOTFIXES ═══════════ */
@media (max-width: 480px) {
  .contain { padding: 0 16px; }
  
  .hero-ledger {
    padding: 16px;
  }
  
  .ledger-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 12px 0;
  }
  .ledger-val { font-size: 1rem; }
  
  .ikraarnama { padding: 24px 16px; }
  
  .bill-head { padding: 16px; }
  .bill-rows { padding: 12px 16px; }
  .bill-row { font-size: 0.85rem; gap: 8px; flex-wrap: wrap; }
  .bill-total { padding: 16px; }
  
  .hero h1 { font-size: clamp(1.8rem, 8vw, 2.2rem); }
  
  .work-body { padding: 20px 16px; }
}
