:root {
  --cream:   #F6F2EB;
  --paper:   #FDFAF5;
  --white:   #FFFFFF;
  --ink:     #18181F;
  --deep:    #1E1E2C;
  --orange:  #F05300;
  --amber:   #FF8C00;
  --light-o: #FFF0E8;
  --muted:   #7C7C8E;
  --border:  #E2DDD5;
  --card-sh: 0 4px 40px rgba(0,0,0,0.07);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  background: var(--cream);
  color: var(--ink);
  font-family: 'Outfit', sans-serif;
  font-weight: 300;
  overflow-x: hidden;
  cursor: none;
}

/* ── CURSOR ── */
#cur { position:fixed; width:10px; height:10px; background:var(--orange);
  border-radius:50%; pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%); transition:width .2s,height .2s; }
#cur-ring { position:fixed; width:34px; height:34px;
  border:1.5px solid var(--orange); border-radius:50%;
  pointer-events:none; z-index:9998; transform:translate(-50%,-50%);
  transition:width .25s,height .25s; opacity:.5; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:22px 64px;
  transition:background .4s, box-shadow .4s, backdrop-filter .4s;
}
nav.scrolled {
  background:rgba(253,250,245,0.92);
  backdrop-filter:blur(18px);
  box-shadow:0 1px 0 var(--border);
}
.nav-logo {
  font-family:'Bebas Neue',sans-serif; font-size:2rem; letter-spacing:5px;
  color:var(--ink); text-decoration:none;
}
.nav-logo span { color:var(--orange); }
.nav-links { display:flex; gap:38px; list-style:none; }
.nav-links a {
  font-size:.82rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--muted); text-decoration:none; font-weight:500;
  transition:color .2s; position:relative;
}
.nav-links a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:0; height:1.5px; background:var(--orange); transition:width .3s;
}
.nav-links a:hover { color:var(--ink); }
.nav-links a:hover::after { width:100%; }
.nav-cta {
  font-size:.78rem; letter-spacing:2px; text-transform:uppercase;
  font-weight:600; color:var(--white); background:var(--orange);
  padding:10px 26px; text-decoration:none;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:background .25s, transform .2s;
}
.nav-cta:hover { background:#d44600; transform:translateY(-2px); }

/* ── HERO ── */
#hero {
  position:relative; height:100vh; min-height:700px;
  display:flex; align-items:center; overflow:hidden;
  background: linear-gradient(135deg, #F6F2EB 0%, #FDFAF5 60%, #FFF0E8 100%);
}
#hero-canvas { position:absolute; inset:0; z-index:0; }
.hero-noise {
  position:absolute; inset:0; z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");
  opacity:.4; pointer-events:none;
}
.hero-content {
  position:relative; z-index:2; padding:0 64px; max-width:800px;
}
.hero-eyebrow {
  font-size:.75rem; letter-spacing:4px; text-transform:uppercase;
  color:var(--orange); font-weight:600;
  display:flex; align-items:center; gap:12px;
  margin:45px 0 18px;
  opacity:0; transform:translateY(16px); animation:fadeUp .7s .3s forwards;
  white-space:nowrap;
}
.hero-eyebrow::before { content:''; width:36px; height:1.5px; background:var(--orange); }
.hero-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(4.5rem,10vw,9.5rem);
  line-height:.9; letter-spacing:2px; color:var(--ink);
  opacity:0; transform:translateY(28px); animation:fadeUp .8s .5s forwards;
}
.hero-title .accent { color:var(--orange); }
.hero-title .outline {
  -webkit-text-stroke:2px rgba(24,24,31,0.15);
  color:transparent;
}
.hero-sub {
  font-size:1.05rem; line-height:1.8; color:var(--muted);
  margin:28px 0 64px; max-width:460px;
  opacity:0; transform:translateY(16px); animation:fadeUp .8s .75s forwards;
}
.hero-actions {
  display:flex; gap:18px; align-items:center;
  margin-bottom:24px;
  opacity:0; transform:translateY(16px); animation:fadeUp .8s 1s forwards;
}
.btn-primary {
  font-size:.82rem; letter-spacing:2.5px; text-transform:uppercase;
  font-weight:700; background:var(--orange); color:#fff;
  padding:15px 38px; text-decoration:none;
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  transition:background .25s, transform .2s, box-shadow .25s;
  box-shadow:0 6px 28px rgba(240,83,0,.28);
}
.btn-primary:hover { background:#d44600; transform:translateY(-3px); box-shadow:0 12px 36px rgba(240,83,0,.36); }
.btn-ghost {
  font-size:.82rem; letter-spacing:2px; text-transform:uppercase;
  font-weight:600; color:var(--ink); text-decoration:none;
  display:flex; align-items:center; gap:10px;
  transition:color .2s, gap .2s;
}
.btn-ghost:hover { color:var(--orange); gap:16px; }

/* scroll indicator */
.scroll-ind {
  position:absolute; bottom:16px; left:64px; z-index:2;
  display:flex; align-items:center; gap:14px;
  font-size:.7rem; letter-spacing:3px; text-transform:uppercase;
  color:var(--muted); font-weight:500;
  opacity:0; animation:fadeUp .8s 1.4s forwards;
}
.scroll-line {
  width:50px; height:1.5px; background:var(--border);
  position:relative; overflow:hidden;
}
.scroll-line::after {
  content:''; position:absolute; top:0; left:-100%;
  width:100%; height:100%; background:var(--orange);
  animation:scrollBar 2s 1.8s ease-in-out infinite;
}
@keyframes scrollBar {
  0%{left:-100%} 50%{left:0} 100%{left:100%}
}

/* hero decorative shape */
.hero-shape {
  position:absolute; right:-80px; top:50%; transform:translateY(-50%);
  width:600px; height:600px; z-index:1;
  opacity:0; animation:fadeIn 1.2s 0.6s forwards;
}
.hero-shape svg { width:100%; height:100%; }
@keyframes fadeIn { to { opacity:1; } }

/* ── PARTNERS ── */
#partners {
  background:var(--white);
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:26px 64px;
  display:flex; align-items:center; gap:48px; overflow:hidden;
}
.p-label {
  font-size:.7rem; letter-spacing:3px; text-transform:uppercase;
  color:var(--muted); font-weight:600; white-space:nowrap; flex-shrink:0;
}
.p-divider { width:1px; height:28px; background:var(--border); flex-shrink:0; }
.p-track {
  display:flex; gap:64px; align-items:center;
  animation:slide 18s linear infinite; flex-shrink:0;
}
.p-name {
  font-family:'Bebas Neue',sans-serif; font-size:1.55rem; letter-spacing:3px;
  color:rgba(24,24,31,.2); transition:color .3s; cursor:default; white-space:nowrap;
}
.p-name:hover { color:var(--orange); }
@keyframes slide { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ── SECTIONS ── */
section { padding:120px 64px; }
.sec-label {
  font-size:.7rem; letter-spacing:4px; text-transform:uppercase;
  color:var(--orange); font-weight:600; margin-bottom:16px;
  display:flex; align-items:center; gap:12px;
}
.sec-label::before { content:''; width:28px; height:1.5px; background:var(--orange); }
.sec-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(2.8rem,5vw,5rem);
  line-height:1; letter-spacing:1px; color:var(--ink); margin-bottom:20px;
}
.sec-title .ghost {
  -webkit-text-stroke:1.5px rgba(24,24,31,.15); color:transparent;
}

/* ── ABOUT ── */
#about {
  background:var(--paper);
  display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:center;
  position:relative; overflow:hidden;
}
#about::after {
  content:'LBDGO'; position:absolute; font-family:'Bebas Neue',sans-serif;
  font-size:22rem; letter-spacing:-10px;
  color:rgba(240,83,0,.04);
  top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none; white-space:nowrap; z-index:0;
}
.about-content { position:relative; z-index:1; }
.about-desc { font-size:1.02rem; line-height:1.85; color:var(--muted); margin-bottom:46px; }
.stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.stat-card {
  background:var(--white); padding:24px 26px;
  border:1px solid var(--border);
  clip-path:polygon(0 0,calc(100% - 10px) 0,100% 10px,100% 100%,10px 100%,0 calc(100% - 10px));
  box-shadow:var(--card-sh); transition:box-shadow .3s, border-color .3s, transform .3s;
}
.stat-card:hover { border-color:var(--orange); box-shadow:0 8px 48px rgba(240,83,0,.12); transform:translateY(-3px); }
.stat-num { font-family:'Bebas Neue',sans-serif; font-size:2.9rem; color:var(--orange); line-height:1; }
.stat-lbl { font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-top:4px; font-weight:500; }
.about-visual { position:relative; z-index:1; }
.about-3d {
  position:relative; height:460px;
  perspective:900px; display:flex; align-items:center; justify-content:center;
}
.cube-wrap {
  width:200px; height:200px;
  transform-style:preserve-3d;
  animation:rotateCube 12s linear infinite;
}
.cube-face {
  position:absolute; width:200px; height:200px;
  border:1.5px solid rgba(240,83,0,.3);
  background:rgba(240,83,0,.04);
  display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue',sans-serif; font-size:1.15rem; letter-spacing:3px;
  color:rgba(240,83,0,.6); backface-visibility:visible;
}
.cube-face.front  { transform:translateZ(100px); }
.cube-face.back   { transform:rotateY(180deg) translateZ(100px); }
.cube-face.right  { transform:rotateY(90deg) translateZ(100px); }
.cube-face.left   { transform:rotateY(-90deg) translateZ(100px); }
.cube-face.top    { transform:rotateX(90deg) translateZ(100px); }
.cube-face.bottom { transform:rotateX(-90deg) translateZ(100px); }
.orbit {
  position:absolute; border-radius:50%;
  border:1px solid rgba(240,83,0,.15);
}
.orbit-1 { width:300px; height:300px; animation:spinR 18s linear infinite; }
.orbit-2 { width:380px; height:380px; border-style:dashed; border-color:rgba(240,83,0,.08); animation:spinR 28s linear infinite reverse; }
.orbit-dot {
  position:absolute; width:8px; height:8px; background:var(--orange);
  border-radius:50%; top:-4px; left:50%; transform:translateX(-50%);
  box-shadow:0 0 14px rgba(240,83,0,.6);
}
@keyframes rotateCube { to { transform:rotateX(15deg) rotateY(360deg); } }
@keyframes spinR { to { transform:rotate(360deg); } }

/* ── SERVICES ── */
#services { background:var(--cream); }
.services-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:60px;
}
.svc-card { perspective:800px; height:270px; cursor:pointer; }
.svc-inner {
  position:relative; width:100%; height:100%;
  transform-style:preserve-3d;
  transition:transform .75s cubic-bezier(.4,0,.2,1);
}
.svc-card:hover .svc-inner { transform:rotateY(180deg); }
.svc-front,.svc-back {
  position:absolute; inset:0; backface-visibility:hidden;
  padding:36px;
  clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px));
  border:1.5px solid var(--border);
}
.svc-front {
  background:var(--white); display:flex; flex-direction:column; justify-content:space-between;
  box-shadow:var(--card-sh); transition:border-color .3s;
}
.svc-card:hover .svc-front { border-color:var(--orange); }
.svc-back {
  background:linear-gradient(135deg,var(--orange) 0%,#FF8C00 100%);
  transform:rotateY(180deg); border-color:var(--orange);
  display:flex; flex-direction:column; justify-content:center;
}
.svc-num {
  font-family:'Bebas Neue',sans-serif; font-size:3.5rem;
  color:rgba(240,83,0,.1); line-height:1;
}
.svc-icon { font-size:2rem; margin-bottom:12px; }
.svc-title {
  font-size:1.1rem; letter-spacing:1px; text-transform:uppercase;
  color:var(--ink); font-weight:700; margin-bottom:8px;
}
.svc-desc { font-size:.88rem; line-height:1.7; color:var(--muted); }
.svc-back .svc-title { color:#fff; margin-bottom:14px; }
.svc-back .svc-desc { color:rgba(255,255,255,.88); }
.flip-hint {
  font-size:.65rem; letter-spacing:2.5px; text-transform:uppercase;
  color:rgba(240,83,0,.4); position:absolute; bottom:15px; right:18px;
  font-weight:500;
}

/* ── WHY ── */
#why {
  background:var(--white);
  display:grid; grid-template-columns:1fr 1.2fr; gap:100px; align-items:center;
}
.hex-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px;
  transform:perspective(700px) rotateX(10deg) rotateY(-8deg);
  margin-top:36px;
}
.hex {
  aspect-ratio:1; background:var(--paper);
  border:1.5px solid var(--border);
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; cursor:default;
  transition:background .3s, border-color .3s, transform .3s;
  box-shadow:var(--card-sh);
}
.hex:hover { background:var(--light-o); border-color:var(--orange); transform:translateZ(18px) scale(1.1); }
.hex.hi { background:var(--light-o); border-color:rgba(240,83,0,.35); }
.why-list { display:flex; flex-direction:column; gap:14px; }
.why-item {
  display:flex; align-items:flex-start; gap:18px; padding:20px 22px;
  background:var(--paper); border:1.5px solid var(--border);
  border-left:3px solid transparent;
  transition:border-left-color .3s, background .3s, transform .3s, box-shadow .3s;
  clip-path:polygon(0 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%);
}
.why-item:hover {
  border-left-color:var(--orange);
  background:var(--light-o); transform:translateX(6px);
  box-shadow:0 4px 24px rgba(240,83,0,.1);
}
.why-ck {
  width:28px; height:28px; flex-shrink:0;
  background:var(--light-o); border:1.5px solid var(--orange);
  display:flex; align-items:center; justify-content:center;
  font-size:.78rem; color:var(--orange); margin-top:1px; font-weight:700;
  clip-path:polygon(0 0,calc(100% - 5px) 0,100% 5px,100% 100%,5px 100%,0 calc(100% - 5px));
}
.why-text strong { display:block; font-weight:700; font-size:.95rem; margin-bottom:3px; color:var(--ink); }
.why-text span { font-size:.85rem; color:var(--muted); }

/* ── VISION / MISSION ── */
#vision {
  padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--border);
}
.vm {
  padding:100px 70px; position:relative; overflow:hidden;
  transition:background .4s;
}
.vm:first-child { background:var(--ink); }
.vm:last-child  { background:var(--deep); }
.vm:hover { background:rgba(240,83,0,.85); }
.vm-tag {
  font-size:.72rem; letter-spacing:4px; text-transform:uppercase;
  color:var(--orange); font-weight:600; margin-bottom:20px;
}
.vm:hover .vm-tag { color:rgba(255,255,255,.75); }
.vm-head {
  font-family:'Bebas Neue',sans-serif; font-size:3.2rem; color:#fff;
  letter-spacing:1px; margin-bottom:24px; line-height:1;
}
.vm-txt { font-size:1rem; line-height:1.8; color:rgba(255,255,255,.55); max-width:400px; }
.vm:hover .vm-txt { color:rgba(255,255,255,.85); }
.vm-bg {
  position:absolute; bottom:-20px; right:-10px;
  font-family:'Bebas Neue',sans-serif; font-size:12rem; letter-spacing:-5px;
  color:rgba(255,255,255,.04); line-height:1; pointer-events:none; user-select:none;
}

/* ── CONTACT ── */
#contact {
  background:var(--paper);
  display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start;
}
.contact-email {
  font-family:'Bebas Neue',sans-serif; font-size:2.2rem;
  color:var(--orange); letter-spacing:1px;
  text-decoration:none; display:block; margin:30px 0 20px;
  transition:color .2s;
}
.contact-email:hover { color:#d44600; }
.c-detail {
  display:flex; align-items:center; gap:14px;
  font-size:.95rem; color:var(--muted); margin-bottom:14px;
}
.c-icon { color:var(--orange); font-size:1.1rem; }
.c-form { display:flex; flex-direction:column; gap:16px; }
.c-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.c-group { display:flex; flex-direction:column; gap:8px; }
.c-group label {
  font-size:.7rem; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--muted); font-weight:600;
}
.c-group input,.c-group textarea {
  background:var(--white); border:1.5px solid var(--border);
  color:var(--ink); font-family:'Outfit',sans-serif;
  font-size:.95rem; padding:13px 16px;
  outline:none; transition:border-color .2s, box-shadow .2s;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
}
.c-group textarea { height:110px; resize:none; }
.c-group input:focus,.c-group textarea:focus {
  border-color:var(--orange);
  box-shadow:0 0 0 4px rgba(240,83,0,.1);
}
.c-submit {
  font-size:.82rem; letter-spacing:2.5px; text-transform:uppercase; font-weight:700;
  background:var(--orange); color:#fff; border:none; padding:16px 40px;
  cursor:pointer;
  clip-path:polygon(12px 0%,100% 0%,calc(100% - 12px) 100%,0% 100%);
  transition:background .25s, transform .2s, box-shadow .25s; align-self:flex-start;
  box-shadow:0 6px 28px rgba(240,83,0,.28);
}
.c-submit:hover { background:#d44600; transform:translateY(-2px); box-shadow:0 12px 36px rgba(240,83,0,.36); }

/* ── FORMS SECTION ── */
#forms { background:var(--white); }
.forms-intro {
  display:grid; grid-template-columns:1fr 1fr; gap:22px; margin:52px 0 56px;
}
.form-choice {
  padding:32px 34px; border:2px solid var(--border);
  background:var(--paper); cursor:pointer;
  clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));
  transition:border-color .3s, background .3s, transform .3s, box-shadow .3s;
  display:flex; align-items:flex-start; gap:20px;
  position:relative; overflow:hidden;
}
.form-choice::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(240,83,0,.06),transparent);
  opacity:0; transition:opacity .3s;
}
.form-choice:hover::before, .form-choice.active::before { opacity:1; }
.form-choice:hover, .form-choice.active {
  border-color:var(--orange); background:var(--light-o);
  transform:translateY(-3px); box-shadow:0 10px 44px rgba(240,83,0,.14);
}
.fc-icon {
  width:52px; height:52px; flex-shrink:0;
  background:var(--light-o); border:1.5px solid rgba(240,83,0,.3);
  display:flex; align-items:center; justify-content:center;
  font-size:1.5rem;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
  transition:background .3s;
}
.form-choice.active .fc-icon { background:var(--orange); }
.fc-body {}
.fc-title {
  font-size:1.05rem; font-weight:700; color:var(--ink); margin-bottom:6px; letter-spacing:.3px;
}
.fc-desc { font-size:.85rem; color:var(--muted); line-height:1.6; }
.fc-tag {
  position:absolute; top:14px; right:16px;
  font-size:.62rem; letter-spacing:2px; text-transform:uppercase;
  font-weight:700; padding:4px 10px;
  background:var(--orange); color:#fff;
  clip-path:polygon(5px 0%,100% 0%,calc(100% - 5px) 100%,0% 100%);
  opacity:0; transition:opacity .3s;
}
.form-choice.active .fc-tag { opacity:1; }

/* tab panels */
.form-panels { position:relative; }
.form-panel { display:none; }
.form-panel.active { display:block; }

/* shared form shell */
.form-shell {
  background:var(--paper); border:1.5px solid var(--border);
  padding:52px 56px;
  clip-path:polygon(0 0,calc(100% - 20px) 0,100% 20px,100% 100%,20px 100%,0 calc(100% - 20px));
  box-shadow:var(--card-sh);
}
.form-shell-header { margin-bottom:40px; }
.form-shell-title {
  font-family:'Bebas Neue',sans-serif; font-size:2.6rem; letter-spacing:1px;
  color:var(--ink); line-height:1; margin-bottom:10px;
}
.form-shell-title span { color:var(--orange); }
.form-shell-sub { font-size:.9rem; color:var(--muted); line-height:1.65; }

.f-grid { display:grid; gap:18px; }
.f-grid-2 { grid-template-columns:1fr 1fr; }
.f-grid-3 { grid-template-columns:1fr 1fr 1fr; }
.fg {display:flex; flex-direction:column; gap:8px;}
.fg label {
  font-size:.68rem; letter-spacing:2.5px; text-transform:uppercase;
  color:var(--muted); font-weight:600;
}
.fg input,.fg select,.fg textarea {
  background:var(--white); border:1.5px solid var(--border);
  color:var(--ink); font-family:'Outfit',sans-serif;
  font-size:.93rem; padding:12px 16px; outline:none;
  transition:border-color .2s, box-shadow .2s;
  clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));
  appearance:none; -webkit-appearance:none;
}
.fg select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23F05300' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center;
  padding-right:40px; cursor:pointer;
}
.fg textarea { resize:none; height:100px; }
.fg input:focus,.fg select:focus,.fg textarea:focus {
  border-color:var(--orange); box-shadow:0 0 0 4px rgba(240,83,0,.1);
}

/* radio toggle group */
.radio-group { display:flex; gap:10px; }
.radio-btn {
  flex:1; padding:10px 14px; border:1.5px solid var(--border);
  background:var(--white); color:var(--muted); font-family:'Outfit',sans-serif;
  font-size:.82rem; font-weight:600; letter-spacing:1px; text-transform:uppercase;
  cursor:pointer; text-align:center;
  clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));
  transition:all .2s;
}
.radio-btn.sel, .radio-btn:hover { border-color:var(--orange); background:var(--light-o); color:var(--orange); }

/* progress stepper */
.stepper {
  display:flex; align-items:center; gap:0; margin-bottom:40px;
}
.step {
  display:flex; align-items:center; gap:10px; flex:1;
  font-size:.75rem; letter-spacing:1.5px; text-transform:uppercase;
  font-weight:600; color:var(--muted); cursor:pointer;
  transition:color .3s;
}
.step.active { color:var(--orange); }
.step.done { color:var(--ink); }
.step-num {
  width:28px; height:28px; border-radius:50%;
  border:1.5px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:.78rem; flex-shrink:0;
  transition:background .3s, border-color .3s, color .3s;
}
.step.active .step-num { background:var(--orange); border-color:var(--orange); color:#fff; }
.step.done .step-num { background:var(--ink); border-color:var(--ink); color:#fff; }
.step-line { flex:1; height:1.5px; background:var(--border); margin:0 10px; transition:background .4s; }
.step-line.done { background:var(--orange); }

/* step pages */
.step-page { display:none; }
.step-page.active { display:grid; gap:18px; }

/* form actions row */
.form-actions {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:32px; gap:16px;
}
.f-btn {
  font-size:.8rem; letter-spacing:2.5px; text-transform:uppercase;
  font-weight:700; border:none; padding:14px 36px; cursor:pointer;
  clip-path:polygon(10px 0%,100% 0%,calc(100% - 10px) 100%,0% 100%);
  transition:background .25s, transform .2s, box-shadow .25s;
}
.f-btn-primary {
  background:var(--orange); color:#fff;
  box-shadow:0 6px 28px rgba(240,83,0,.28);
}
.f-btn-primary:hover { background:#d44600; transform:translateY(-2px); box-shadow:0 10px 36px rgba(240,83,0,.36); }
.f-btn-ghost {
  background:transparent; color:var(--muted);
  border:1.5px solid var(--border);
  clip-path:none;
  transition:color .2s, border-color .2s;
}
.f-btn-ghost:hover { color:var(--ink); border-color:var(--ink); }
.f-note { font-size:.8rem; color:var(--muted); }

/* success state */
.form-success {
  display:none; text-align:center; padding:60px 30px;
  flex-direction:column; align-items:center; gap:18px;
}
.form-success.show { display:flex; }
.success-icon {
  width:72px; height:72px; background:linear-gradient(135deg,var(--orange),#FF8C00);
  border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:2rem; box-shadow:0 10px 40px rgba(240,83,0,.3);
  animation:popIn .5s cubic-bezier(.34,1.56,.64,1) forwards;
}
@keyframes popIn { 0%{transform:scale(0);opacity:0} 100%{transform:scale(1);opacity:1} }
.success-title { font-family:'Bebas Neue',sans-serif; font-size:2.4rem; color:var(--ink); letter-spacing:1px; }
.success-sub { font-size:.95rem; color:var(--muted); max-width:380px; line-height:1.7; }

@media(max-width:900px){
  .forms-intro{grid-template-columns:1fr;}
  .form-shell{padding:32px 22px;}
  .f-grid-2,.f-grid-3{grid-template-columns:1fr;}
}

footer {
  padding:38px 64px; border-top:1px solid var(--border);
  background:var(--white);
  display:flex; align-items:center; justify-content:space-between;
}
.f-logo { font-family:'Bebas Neue',sans-serif; font-size:1.8rem; letter-spacing:5px; color:rgba(24,24,31,.35); }
.f-logo span { color:rgba(240,83,0,.5); }
.f-tag { font-size:.8rem; color:var(--muted); letter-spacing:1px; font-weight:400; }
.f-copy { font-size:.75rem; color:rgba(24,24,31,.3); letter-spacing:1px; }

/* ── DIVIDER ── */
.divider { height:1px; background:linear-gradient(to right,transparent,rgba(240,83,0,.3),transparent); }

/* ── REVEAL ── */
.reveal          { opacity:0; transform:translateY(36px); transition:opacity .75s,transform .75s; }
.reveal-left     { opacity:0; transform:translateX(-36px); transition:opacity .75s,transform .75s; }
.reveal-right    { opacity:0; transform:translateX(36px); transition:opacity .75s,transform .75s; }
.reveal.visible,.reveal-left.visible,.reveal-right.visible { opacity:1; transform:translate(0); }

@keyframes fadeUp { to { opacity:1; transform:translateY(0); } }

/* scrollbar */
::-webkit-scrollbar { width:5px; }
::-webkit-scrollbar-track { background:var(--cream); }
::-webkit-scrollbar-thumb { background:var(--orange); border-radius:3px; }

/* responsive */
@media(max-width:900px){
  nav{padding:18px 22px;} .nav-links{display:none;}
  section{padding:72px 22px;}
  #about,#why,#contact{grid-template-columns:1fr;gap:48px;}
  .services-grid{grid-template-columns:1fr;}
  #vision{grid-template-columns:1fr;}
  .hero-content{padding:0 22px;} #partners{padding:22px;}
  .hero-shape{display:none;}
  footer{flex-direction:column;gap:14px;text-align:center;padding:28px 22px;}
  .c-row{grid-template-columns:1fr;}
}
