*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --ink:      #1a1a1a;
  --paper:    #fffdf8;
  --cream:    #fff4e0;
  --warm:     #fff8ee;
  --orange:   #f7931e;
  --orange2:  #ff7402;
  --orange3:  #ff9100;
  --dark:     #a75000;
  --muted:    #fa0000;
  --white:    #ffffff;
  --ff-display: 'Anek Malayalam', sans-serif;
  --ff-serif:   'Anek Malayalam', serif;
  --ff-sans:    'Anek Malayalam', sans-serif;
  --ff-body:    'Anek Malayalam', sans-serif;
  --ease-out:   cubic-bezier(0.16, 1, 0.3, 1);
}
html { scroll-behavior: smooth; }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--ff-body);
  font-weight: 300;
  overflow-x: hidden;
  cursor: auto;
}
a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }

/* NAV */

/* NAV */
/* NAV */
#nav {
  position: fixed; top:0; left:0; right:0;
  z-index: 800;
  padding: 1.2rem 4vw;
  display: flex; align-items: center; justify-content: space-between;
  transition: background .4s, padding .4s, box-shadow .4s;
}
#nav.scrolled {
  background: rgba(255,253,248,.96);
  backdrop-filter: blur(14px);
  padding: .8rem 4vw;
  box-shadow: 0 2px 24px rgba(240,120,0,.08);
}

#nav:not(.scrolled) .nav-links a { color: var(--white); }
#nav:not(.scrolled) .nav-hamburger span { background: var(--white); }
#nav.scrolled .nav-links a { color: var(--ink); }
.nav-logo-img { height: 42px; width:auto; max-width:180px; object-fit:contain; mix-blend-mode:normal; filter:none; display:block; }
#nav:not(.scrolled) .nav-logo-img { filter: drop-shadow(0 1px 8px rgba(255,255,255,.28)); }
.nav-links { display: flex; gap: 2.5rem; list-style: none; }
.nav-links a {
  font-family: var(--ff-sans);
  font-size: .78rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink);
  position: relative; padding-bottom: 2px;
}
.nav-links a::after {
  content: '';
  position: absolute; bottom:0; left:0;
  width:0; height:1.5px;
  background: var(--orange);
  transition: width .3s var(--ease-out);
}
.nav-links a:hover::after { width:100%; }
.nav-cta {
  font-family: var(--ff-sans);
  font-size: .76rem; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  padding: .6rem 1.4rem;
  background: var(--orange);
  color: var(--white);
  transition: background .25s;
  border-radius: 2px;
}
.nav-cta:hover { background: var(--orange3); }
.nav-hamburger { display:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; width:44px; height:44px; padding:8px; border-radius:4px; }
.nav-hamburger span { display:block; width:24px; height:2px; background:var(--ink); transition: transform .3s, opacity .3s; }
#mobile-menu {
  position: fixed; inset:0;
  background: var(--dark);
  z-index: 750;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:clamp(1.3rem,5vh,2.5rem);
  padding:max(5rem, env(safe-area-inset-top)) 1.25rem max(2rem, env(safe-area-inset-bottom));
  overflow-y:auto; overscroll-behavior:contain;
  transform:translateX(100%);
  transition: transform .5s var(--ease-out);
}
#mobile-menu.open { transform: translateX(0); }
#mobile-menu a { font-family:var(--ff-display); font-size:clamp(2.5rem,8vw,4rem); color:var(--white); letter-spacing:.05em; transition:color .2s; }
#mobile-menu a:hover { color:var(--orange); }

/* HERO */
#hero {
  min-height: 100vh;
  background: #1a1a1a;
  display: flex; flex-direction:column; justify-content:flex-end;
  padding: 0 4vw 6vh;
  position: relative; overflow:hidden;
}
.hero-chapter {
  position:relative; z-index:3;
  font-family:var(--ff-sans); font-size:1rem; letter-spacing:.3em; text-transform:uppercase;
  color:var(--orange2); margin-bottom:1rem;
  animation: fadeIn .8s .15s both;
  text-align: center;
}
.hero-headline {
  position: relative;
  z-index: 3;
  width: 100%;
  text-align: center;

  font-family: var(--ff-display);
  font-size: clamp(4rem, 12vw, 13rem);
  color: var(--white);
  line-height: .8;
  letter-spacing: -.01em;
  animation: heroReveal 1s var(--ease-out) .05s both;
}

@keyframes heroReveal {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

.hero-headline .line2 {
  display: block;
  color: rgb(255, 102, 0);
  -webkit-text-stroke: 0;
  text-shadow: 0 0 24px rgba(31, 31, 31, 0.16);
} 
.hero-sub-row {
  position:relative; z-index:3;
  display:flex; justify-content:space-between; align-items:flex-end;
  margin-top:.5rem;
  animation: fadeIn .9s .3s both;
}
.hero-body {
  font-size: clamp(.9rem,1.5vw,1.05rem); color:rgba(255,255,255,.55);
  max-width:340px; line-height:1.5; align-items: center;
}
.hero-body strong { color:rgba(255, 102, 0, 0.9); font-weight:500; }
.hero-cta {
  display:inline-flex; align-items:center; gap:1rem;
  background:var(--orange); color:var(--white);
  font-family:var(--ff-sans); font-size:.8rem; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase;
  padding:1rem 2rem; border-radius:2px;
  transition: background .25s, gap .3s;
}
.hero-cta:hover { background:var(--orange2); color:var(--ink); gap:1.5rem; } 
.hero-ticker {
  z-index:3;
  position:absolute; bottom:0; left:0; right:0;
  border-top:1px solid rgba(255,255,255,.05);
  overflow:hidden; white-space:nowrap; padding:.55rem 0;
}
.ticker-inner {
  display:inline-block;
  animation: ticker 22s linear infinite;
  font-family:var(--ff-sans); font-size:.68rem;
  letter-spacing:.22em; color:rgba(255, 255, 255, 0.637);
  text-transform:uppercase;
}
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* SECTION SHELL */
.section { padding: clamp(1rem,3vw,3rem) 4vw; }
.chapter-label {
  font-family:var(--ff-sans); font-size:1rem;
  letter-spacing:.4em; text-transform:uppercase; color:var(--orange);
  margin-bottom:1rem; display:flex; align-items:center; gap:.70rem;
}
.chapter-label::before { content:''; display:block; width:28px; height:1.5px; background:var(--orange); }
.section-title {
  font-family:var(--ff-display);
  font-size:clamp(2.8rem,7vw,46rem);
  line-height:1; letter-spacing:-.01em; max-width:14ch;
}
.reveal { opacity:0; transform:translateY(28px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); }
.reveal.visible { opacity:1; transform:none; }

/* ABOUT */
#about { background:var(--paper); }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:2vw; align-items:end; margin-top:2rem; }
.about-left .big-stat {
  font-family:var(--ff-display);
  font-size:clamp(4rem,14vw,12rem);
  color:var(--orange); line-height:.05; letter-spacing:-.005em;
  position:relative;
}
.about-left .big-stat em {
  position:absolute; top:45%; left:40%;
  transform:translate(-50%,-50%);
  font-family:var(--ff-serif); font-size:clamp(1.3rem,3vw,3.2rem);
  color:var(--orange); font-style:italic; white-space:nowrap;
}
.about-right p { font-size:clamp(.95rem,1.6vw,1.15rem); line-height:1.2; color:var(--muted); margin-bottom:1.5rem; }
.about-right p strong { color:var(--ink); font-weight:500; }
.about-stats {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;
  margin-top:2rem; padding-top:3rem;
  border-top:1px solid rgba(160, 80, 0, 0.15);
}
.stat-item .num { font-family:var(--ff-display); font-size:clamp(4rem,5vw,4rem); color:var(--orange); line-height:1; }
.stat-item .label { font-family:var(--ff-sans); font-size:1rem; letter-spacing:.1em; color:var(--muted); margin-top:.2rem; }

/* SERVICES */
#services { background: linear-gradient(160deg, var(--paper) 0%, #ffffff 100%); color:var(--ink); }
.service-intro, .services-intro { display:grid; grid-template-columns:1fr 1fr; gap:3vw; align-items:end; margin-bottom:3rem; }
.services-intro p { color:rgba(26, 26, 26, 0.952); font-size:clamp(.9rem,1.4vw,1.05rem); line-height:1.2; align-self:end; }
.services-grid {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:1px; background:rgba(255,255,255,.06);
}
.service-card {
  background:rgba(255,248,238,.03); padding:2.5rem;
  position:relative; overflow:hidden; transition:background .4s;
}
.service-card::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, var(--orange) 0%, var(--orange2) 100%);
  transform:translateY(100%);
  transition:transform .5s var(--ease-out); z-index:0;
}
.service-card:hover::before { transform:translateY(0); }
.service-card > * { position:relative; z-index:1; }
.service-icon { width:44px; height:44px; margin-bottom:1.75rem; opacity:.2; transition:opacity .3s; }
.service-card:hover .service-icon { opacity:1; }
.service-num { font-family:var(--ff-display); font-size:1.5rem; letter-spacing:.1em; color:rgba(34, 34, 34, 0.76); margin-bottom:.2rem; transition:color .3s; }
.service-card:hover .service-num { color:rgba(255,255,255,.7); }
.service-name { font-family:var(--ff-sans); font-size:clamp(1rem,1.6vw,1.2rem); font-weight:700; margin-bottom:.7rem; line-height:1.25; }
.service-desc { font-size:.85rem; line-height:1.2; color:rgba(255,255,255,.45); transition:color .3s; }
.service-card:hover .service-desc { color:rgba(255,255,255,.9); }
.service-arrow {
  margin-top:1.8rem; width:28px; height:1px;
  background:rgba(255,255,255,.2); position:relative;
  transition:width .3s var(--ease-out), background .3s;
}
.service-arrow::after {
  content:''; position:absolute; right:0; top:-3px;
  border:4px solid transparent; border-left:6px solid rgba(255,255,255,.2); transition:border-left-color .3s;
}
.service-card:hover .service-arrow { width:48px; background:rgba(255,255,255,.9); }
.service-card:hover .service-arrow::after { border-left-color:rgba(255,255,255,.9); }

/* MANIFESTO */
#manifesto {
  background: linear-gradient(135deg, var(--ink) 0%, var(--ink) 60%, #252524 100%);
  color:var(--white);
  text-align:center; padding:clamp(4rem,10vw,10rem) 4vw;
  position:relative; overflow:hidden;
}
#manifesto::before {
  content:'✦'; position:absolute;
  font-size:28vw; opacity:.06;
  top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none;
}
.manifesto-text {
  font-family:var(--ff-serif);
  font-size:clamp(1.8rem,4.5vw,4rem);
  font-style:normal; line-height:1.2;
  max-width:18ch; margin:0 auto 2rem;
}
.manifesto-attr {
  font-family:var(--ff-sans); font-size:.72rem;
  letter-spacing:.3em; text-transform:capitalize; opacity:.75;
}

/* PROCESS */
#process { background:var(--cream); }
.process-steps {
  display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;
  margin-top:3rem; counter-reset:step;
}
.process-step { counter-increment:step; }
.process-step-num {
  font-family:var(--ff-display); font-size:4rem;
  color:rgba(240,120,0,.1); line-height:.8; margin-bottom:.75rem;
}
.process-step-num::before { content:counter(step, decimal-leading-zero); }
.process-step h3 { font-family:var(--ff-sans); font-size:1rem; font-weight:700; letter-spacing:.05em; margin-bottom:.75rem; color:var(--ink); }
.process-step p { font-size:.875rem; line-height:1; color:var(--muted); }

/* PORTFOLIO */
#portfolio { background:var(--paper); }
.portfolio-filter { display:flex; gap:.5rem; margin-top:2.5rem; flex-wrap:wrap; }
.filter-btn {
  font-family:var(--ff-sans); font-size:.7rem; font-weight:600;
  letter-spacing:.14em; text-transform:uppercase;
  padding:.45rem 1.1rem;
  border:1.5px solid rgba(240,120,0,.2);
  background:transparent; color:var(--muted);
  transition:all .25s; cursor:pointer; border-radius:2px;
}
.filter-btn.active,.filter-btn:hover { background:var(--orange); color:var(--white); border-color:var(--orange); }

.portfolio-grid {
  display:grid; grid-template-columns:repeat(12,1fr);
  gap:1.25rem; margin-top:3rem;
}
.portfolio-item { position:relative; overflow:hidden; border-radius:4px; }
.portfolio-item:nth-child(1) { grid-column:span 7; grid-row:span 2; }
.portfolio-item:nth-child(2) { grid-column:span 5; }
.portfolio-item:nth-child(3) { grid-column:span 5; }
.portfolio-item:nth-child(4) { grid-column:span 4; }
.portfolio-item:nth-child(5) { grid-column:span 4; }
.portfolio-item:nth-child(6) { grid-column:span 4; }
.portfolio-placeholder {
  width:100%; aspect-ratio:16/9;
  display:flex; align-items:left; justify-content:left;
  position:relative; overflow:hidden;
}
.portfolio-placeholder img {
  width:100%; height:100%; object-fit:cover;
  transition:transform .65s var(--ease-out), filter .4s;
}
.portfolio-item:hover .portfolio-placeholder img { transform:scale(1.045); filter:saturate(1.08); }
.portfolio-item a:focus-visible { outline:3px solid var(--orange2); outline-offset:4px; }
.portfolio-item:nth-child(1) .portfolio-placeholder { aspect-ratio:3/2.5; }
/* Vibrant portfolio placeholder backgrounds */
.portfolio-item:nth-child(1) .portfolio-placeholder { background:linear-gradient(145deg,#0f2027,#1e3a5f,#2c5f8a); }
.portfolio-item:nth-child(2) .portfolio-placeholder { background:linear-gradient(145deg,#f07800,#ff4500); }
.portfolio-item:nth-child(3) .portfolio-placeholder { background:linear-gradient(145deg,#1a6b45,#2ecc71); }
.portfolio-item:nth-child(4) .portfolio-placeholder { background:linear-gradient(145deg,#4a0e8f,#c850c0); }
.portfolio-item:nth-child(5) .portfolio-placeholder { background:linear-gradient(145deg,#d63031,#fd79a8); }
.portfolio-item:nth-child(6) .portfolio-placeholder { background:linear-gradient(145deg,#1a1a2e,#16213e); }
.portfolio-item-label {
  position:absolute; bottom:0; left:0; right:0;
  padding:1.5rem 1.25rem 1.25rem;
  background:linear-gradient(to top, rgba(10,5,0,.9) 0%, transparent 100%);
  transform:translateY(30%); opacity:0;
  transition: transform .4s var(--ease-out), opacity .4s;
}
.portfolio-item:hover .portfolio-item-label { transform:none; opacity:1; }
.portfolio-item-label h3 { font-family:var(--ff-sans); font-size:.95rem; font-weight:700; color:var(--white); margin-bottom:.25rem; }
.portfolio-item-label p { font-size:.7rem; color:rgba(255,255,255,.55); font-family:var(--ff-sans); letter-spacing:.1em; text-transform:uppercase; }
.portfolio-item-tag {
  position:absolute; top:1rem; right:1rem;
  background:var(--orange); color:var(--white);
  font-family:var(--ff-sans); font-size:.6rem;
  font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  padding:.25rem .65rem; border-radius:2px;
  opacity:0; transition:opacity .3s;
}
.portfolio-item:hover .portfolio-item-tag { opacity:1; }
/* SVG artwork inside placeholders */
.ph-art { position:absolute; opacity:.25; pointer-events:none; }

/* WHY US */
#why { background:var(--warm); }
.why-grid { display:grid; grid-template-columns:1fr 1fr; gap:6vw; align-items:start; margin-top:4rem; }
.why-features { display:flex; flex-direction:column; gap:2rem; }
.why-feature {
  display:grid; grid-template-columns:44px 1fr; gap:1.5rem; align-items:start;
  padding-bottom:2rem;
  border-bottom:1px solid rgba(240,120,0,.12);
}
.why-feature:last-child { border-bottom:none; }
.why-feature-icon {
  width:44px; height:44px;
  background:rgba(240,120,0,.1);
  display:flex; align-items:center; justify-content:center;
  font-size:1.1rem; border-radius:4px;
  flex-shrink:0;
}
.why-feature h4 { font-family:var(--ff-sans); font-weight:700; margin-bottom:.4rem; color:var(--ink); }
.why-feature p { font-size:.875rem; line-height:1.75; color:var(--muted); }
.why-right { position:sticky; top:8rem; }
.why-visual {
  background:linear-gradient(135deg, var(--orange) 0%, var(--orange3) 100%);
  padding:3rem; text-align:center; border-radius:4px;
  box-shadow:0 20px 60px rgba(240,120,0,.25);
}
.why-visual .big-q { font-family:var(--ff-display); font-size:7rem; color:rgba(255,255,255,.25); line-height:1; margin-bottom:1rem; }
.why-visual p { font-family:var(--ff-serif); font-size:1.3rem; font-style:italic; color:rgba(255,255,255,.9); line-height:1.5; }

/* TESTIMONIALS */
#testimonials { background:var(--paper); }
.testimonials-track { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; margin-top:4rem; }
.testimonial-card {
  background:var(--white);
  border:1px solid rgba(240,120,0,.1);
  padding:2.25rem; border-radius:6px;
  box-shadow:0 4px 24px rgba(240,120,0,.06);
  transition:transform .3s var(--ease-out), box-shadow .3s;
}
.testimonial-card:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 36px rgba(240,120,0,.12);
}
.testimonial-stars { color:var(--orange); font-size:1rem; margin-bottom:1rem; letter-spacing:.1em; }
.testimonial-card p {
  font-family:var(--ff-serif); font-style:italic;
  font-size:clamp(.95rem,1.3vw,1.05rem); line-height:1.7;
  color:var(--ink); margin-bottom:1.5rem;
}
.testimonial-footer { display:flex; align-items:center; gap:.8rem; }
.testimonial-avatar {
  width:40px; height:40px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-sans); font-weight:700; font-size:.8rem;
  color:var(--white); flex-shrink:0;
}
.testimonial-card:nth-child(1) .testimonial-avatar { background:linear-gradient(135deg,var(--orange),var(--orange3)); }
.testimonial-card:nth-child(2) .testimonial-avatar { background:linear-gradient(135deg,#1a6b45,#2ecc71); }
.testimonial-card:nth-child(3) .testimonial-avatar { background:linear-gradient(135deg,#4a0e8f,#c850c0); }
.testimonial-author { font-family:var(--ff-sans); font-size:.82rem; font-weight:700; color:var(--ink); }
.testimonial-role { font-size:.72rem; color:var(--muted); margin-top:.15rem; }

/* INDUSTRIES */
#industries { background:var(--cream); }
.industries-list { margin-top:4rem; border-top:1.5px solid rgba(240,120,0,.15); }
.industry-item {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.6rem 0;
  border-bottom:1px solid rgba(240,120,0,.1);
  cursor:pointer;
  transition:padding-left .3s var(--ease-out);
}
.industry-item:hover { padding-left:1rem; }
.industry-item:hover .industry-arrow { transform:translateX(8px); }
.industry-name { font-family:var(--ff-display); font-size:clamp(1.4rem,2.8vw,2.4rem); letter-spacing:.02em; color:var(--ink); }
.industry-tags { display:flex; gap:.4rem; flex-wrap:wrap; }
.industry-tag {
  font-family:var(--ff-sans); font-size:.62rem;
  letter-spacing:.1em; text-transform:uppercase;
  padding:.25rem .7rem;
  background:rgba(240,120,0,.1); color:var(--orange);
  border-radius:2px;
}
.industry-arrow { font-size:1.1rem; color:var(--orange); transition:transform .3s var(--ease-out); }

/* PRICING */
#pricing { background:var(--dark); color:var(--white); }
.pricing-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:4rem; }
.pricing-card {
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.07);
  padding:2.5rem; position:relative;
  transition:border-color .3s, transform .3s; border-radius:4px;
}
.pricing-card:hover { border-color:var(--orange); transform:translateY(-4px); }
.pricing-card.featured {
  background:linear-gradient(145deg, var(--orange) 0%, var(--orange3) 100%);
  border-color:transparent;
}
.pricing-featured-label {
  position:absolute; top:-12px; left:50%; transform:translateX(-50%);
  background:var(--orange2); color:var(--ink);
  font-family:var(--ff-sans); font-size:.6rem; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase;
  padding:.25rem .9rem; border-radius:2px;
}
.pricing-tier { font-family:var(--ff-sans); font-size:.68rem; letter-spacing:.3em; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:1rem; }
.pricing-card.featured .pricing-tier { color:rgba(255,255,255,.75); }
.pricing-price { font-family:var(--ff-display); font-size:3.5rem; line-height:1; margin-bottom:.2rem; }
.pricing-period { font-size:.78rem; color:rgba(255,255,255,.4); margin-bottom:2rem; }
.pricing-card.featured .pricing-period { color:rgba(255,255,255,.75); }
.pricing-features { list-style:none; display:flex; flex-direction:column; gap:.85rem; margin-bottom:2.5rem; }
.pricing-features li { font-size:.86rem; color:rgba(255,255,255,.55); display:flex; align-items:center; gap:.7rem; }
.pricing-card.featured .pricing-features li { color:rgba(255,255,255,.9); }
.pricing-features li::before { content:'✓'; color:var(--orange2); font-weight:700; flex-shrink:0; }
.pricing-card.featured .pricing-features li::before { color:var(--ink); }
.pricing-btn {
  display:block; width:100%; padding:.9rem; text-align:center;
  font-family:var(--ff-sans); font-size:.78rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  border:1.5px solid rgba(255,255,255,.2); color:var(--white);
  transition:background .25s, border-color .25s; cursor:pointer; border-radius:2px;
}
.pricing-btn:hover { background:rgba(255,255,255,.08); }
.pricing-card.featured .pricing-btn { background:var(--ink); border-color:var(--ink); }
.pricing-card.featured .pricing-btn:hover { background:rgba(0,0,0,.7); }

/* TEAM */
#team { background:var(--warm); }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2rem; margin-top:4rem; }
.team-photo {
  width:100%; aspect-ratio:3/4; overflow:hidden;
  border-radius:4px; margin-bottom:1.1rem; position:relative;
}
.team-photo-inner {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--ff-display); font-size:5rem;
  color:rgba(255,255,255,.15);
  transition:transform .5s var(--ease-out);
}
.team-card:hover .team-photo-inner { transform:scale(1.04); }
.team-card:nth-child(1) .team-photo { background:linear-gradient(160deg,#f07800,#ff4500); }
.team-card:nth-child(2) .team-photo { background:linear-gradient(160deg,#1a6b45,#52b788); }
.team-card:nth-child(3) .team-photo { background:linear-gradient(160deg,#4a0e8f,#c850c0); }
.team-card:nth-child(4) .team-photo { background:linear-gradient(160deg,#0d1b2a,#1b4332); }
.team-name { font-family:var(--ff-sans); font-weight:700; font-size:1rem; margin-bottom:.2rem; color:var(--ink); }
.team-role { font-size:.76rem; color:var(--muted); font-family:var(--ff-sans); }

/* FAQ */
#faq { background:var(--paper); }
.faq-list { max-width:800px; margin:4rem auto 0; }
.faq-item { border-bottom:1px solid rgba(240,120,0,.12); }
.faq-question {
  width:100%; text-align:left;
  padding:1.5rem 0;
  display:flex; justify-content:space-between; align-items:center; gap:2rem;
  font-family:var(--ff-sans); font-size:clamp(.93rem,1.4vw,1.05rem);
  font-weight:600; color:var(--ink); cursor:pointer;
}
.faq-icon {
  width:26px; height:26px; flex-shrink:0;
  background:rgba(240,120,0,.08); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-size:.9rem; color:var(--orange);
  transition:transform .3s, background .3s;
}
.faq-item.open .faq-icon { transform:rotate(45deg); background:var(--orange); color:white; }
.faq-answer { overflow:hidden; max-height:0; transition:max-height .4s var(--ease-out); }
.faq-answer-inner { padding-bottom:1.5rem; font-size:.88rem; line-height:1.85; color:var(--muted); }

/* CONTACT */
#contact {
  background: linear-gradient(160deg, var(--dark) 0%, #914100 100%);
  color:var(--white); position:relative; overflow:hidden;
}
#contact::before {
  content:'HELLO'; position:absolute;
  font-family:var(--ff-display); font-size:clamp(10rem,24vw,20rem);
  color:rgba(255, 119, 0, 0.26);
  top:50%; left:50%; transform:translate(-50%,-50%);
  pointer-events:none; white-space:nowrap;
}
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:8vw; position:relative; z-index:1; }
.contact-left h2 {
  font-family:var(--ff-display); font-size:clamp(3rem,6.5vw,6.5rem);
  line-height:.9; margin-bottom:.8rem;
}
.contact-left h2 em { color:var(--orange); font-style:normal; }
.contact-left p { color:rgba(255, 241, 222, 0.856); font-size:clamp(1.25rem,1.4vw,1rem); line-height:1.3; margin-bottom:1rem; }
.contact-info { display:flex; flex-direction:column; gap:.5rem; }
.contact-info-item { display:flex; flex-direction:column; gap:.00rem; }
.contact-info-label { font-family:var(--ff-sans); font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--orange); }
.contact-info-value { font-family:var(--ff-sans); font-size:.95rem; font-weight:600; color:var(--white); }
.contact-form { display:flex; flex-direction:column; gap:1.5rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.form-group { display:flex; flex-direction:column; gap:.45rem; }
.form-group label { font-family:var(--ff-sans); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255, 231, 231, 0.808); }
.form-group input,.form-group textarea,.form-group select {
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  color:var(--white); font-family:var(--ff-body); font-size:.93rem;
  padding:.85rem 1rem; outline:none;
  transition:border-color .25s; width:100%; appearance:none;
  border-radius:2px;
}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus { border-color:var(--orange); }
.form-group textarea { resize:vertical; min-height:120px; }
.form-group select option { background:#3a3a3a; }
.form-submit {
  display:inline-flex; align-items:center; gap:1rem;
  background:var(--orange); color:var(--white);
  font-family:var(--ff-sans); font-size:.82rem; font-weight:700;
  letter-spacing:.15em; text-transform:uppercase;
  padding:1rem 2.4rem; border:none; cursor:pointer;
  align-self:flex-start;
  transition:background .25s, gap .3s; border-radius:2px;
}
.form-submit:hover { background:var(--orange2); color:var(--ink); gap:1.5rem; }

/* FOOTER */
#footer { background:#0f0500; color:rgba(255, 237, 214, 0.897); padding:5rem 4vw 2rem; }
.footer-top {
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:4vw;
  padding-bottom:4rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.footer-brand .logo-img { height:130px; margin-bottom:0.7rem; mix-blend-mode: normal; filter: brightness(1.05); }
.footer-brand p { font-size:.83rem; line-height:1.5; max-width:280px; }
.footer-col h4 {
  font-family:var(--ff-sans); font-size:.68rem;
  letter-spacing:.25em; text-transform:uppercase;
  color:rgba(255, 255, 255, 0.8); margin-bottom:1.2rem;
}
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.footer-col ul li a { font-size:.83rem; transition:color .2s; }
.footer-col ul li a:hover { color:var(--orange); }
.footer-bottom {
  display:flex; justify-content:space-between; align-items:center;
  padding-top:2rem; flex-wrap:wrap; gap:1rem;
}
.footer-bottom p { font-size:.76rem; }
.footer-socials { display:flex; gap:1.5rem; }
.footer-socials a { font-size:.76rem; letter-spacing:.1em; font-family:var(--ff-sans); font-weight:600; transition:color .2s; }
.footer-socials a:hover { color:var(--orange); }

/* FLOATING ACTIONS */
.floating-actions {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, calc(env(safe-area-inset-bottom) + 12px));
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
}
#back-top {
  position: static;
  width: 42px;
  height: 42px;
  margin-right: 15px;
  background: #1a1a1a;
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  opacity: 0;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s ease, background .2s ease;
  text-decoration: none;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
#back-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
#back-top:hover { background: var(--orange); transform: translateY(-2px); }
#back-top:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
@media (max-width: 560px) {
  .floating-actions {
    right: 14px;
    bottom: max(14px, env(safe-area-inset-bottom));
    gap: 10px;
  }
  #back-top {
    width: 40px;
    height: 40px;
    margin-right: 13px;
  }
}

/* RESPONSIVE */
@media (max-width:1024px) {
  .services-grid { grid-template-columns:repeat(2,1fr); }
  .process-steps { grid-template-columns:repeat(2,1fr); }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .footer-top { grid-template-columns:1fr 1fr; }
  .portfolio-item:nth-child(1) { grid-column:span 12; }
  .portfolio-item:nth-child(2) { grid-column:span 6; }
  .portfolio-item:nth-child(3) { grid-column:span 6; }
  .portfolio-item:nth-child(4) { grid-column:span 4; }
  .portfolio-item:nth-child(5) { grid-column:span 4; }
  .portfolio-item:nth-child(6) { grid-column:span 4; }
}
@media (max-width:768px) {
  body { cursor:auto; }
  #cursor-dot,#cursor-ring { display:none; }
  .nav-links,.nav-cta { display:none; }
  .nav-hamburger { display:flex; }
  .about-grid { grid-template-columns:1fr; }
  .services-intro { grid-template-columns:1fr; }
  .services-grid { grid-template-columns:1fr; }
  .process-steps { grid-template-columns:1fr 1fr; }
  .portfolio-grid { grid-template-columns:1fr; }
  .portfolio-item { grid-column:span 1 !important; }
  .why-grid { grid-template-columns:1fr; }
  .testimonials-track { grid-template-columns:1fr; }
  .pricing-grid { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .hero-sub-row { flex-direction:column; gap:2rem; align-items:flex-start; }
  .industries-list .industry-tags { display:none; }
  .footer-bottom { flex-direction:column; }
  .about-stats { grid-template-columns:repeat(3,1fr); }
}
@media (max-width:480px) {
  .about-stats { grid-template-columns:1fr 1fr; }
  .process-steps { grid-template-columns:1fr; }
}

/* MOBILE-FIRST REFINEMENTS */
@media (max-width:768px) {
  html { scroll-padding-top:76px; }
  body { width:100%; overflow-x:hidden; -webkit-text-size-adjust:100%; }
  body.menu-open { overflow:hidden; touch-action:none; }
  .section { padding:clamp(4.25rem,14vw,6rem) 1.25rem; }
  #nav { padding:.8rem 1rem; min-height:68px; }
  #nav.scrolled { padding:.65rem 1rem; }
  .nav-logo-img { height:32px; width:auto; max-width:160px; }
  .nav-hamburger { display:flex; position:relative; z-index:900; flex-shrink:0; }
  .nav-hamburger span { width:24px; transform-origin:center; }
  .nav-hamburger[aria-expanded="true"] span:nth-child(1) { transform:translateY(7px) rotate(45deg); background:var(--white); }
  .nav-hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
  .nav-hamburger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); background:var(--white); }
  #mobile-menu a { font-size:clamp(2rem,10vw,3.2rem); line-height:1; padding:.2rem .6rem; }

  #hero { min-height:100svh; min-height:100dvh; padding:clamp(6.5rem,18vh,8.5rem) 1.25rem 4.5rem; justify-content:flex-end; }
  .hero-chapter { font-size:.58rem; letter-spacing:.24em; margin-bottom:1rem; }
  .hero-headline { font-size:clamp(3.7rem,20vw,7rem); line-height:.84; overflow-wrap:anywhere; }
  .hero-sub-row { margin-top:1.7rem; gap:1.4rem; }
  .hero-body { max-width:34rem; font-size:.96rem; line-height:1.65; }
  .hero-cta { width:100%; min-height:50px; justify-content:center; padding:.95rem 1.25rem; }
  .hero-ticker { padding:.45rem 0; }
  .ticker-inner { font-size:.6rem; }

  .section-title { font-size:clamp(2.5rem,13vw,4.4rem); max-width:100%; }
  .chapter-label { font-size:.57rem; letter-spacing:.28em; }
  .about-grid, .services-intro, .why-grid, .contact-grid { gap:2.5rem; margin-top:2.5rem; }
  .about-left .big-stat { font-size:clamp(6rem,34vw,10rem); }
  .about-stats { gap:1.1rem; margin-top:2.5rem; padding-top:2rem; }
  .stat-item .num { font-size:clamp(2.2rem,12vw,3.4rem); }
  .service-card, .testimonial-card, .pricing-card { padding:1.5rem; }
  .process-steps { gap:2rem 1.25rem; margin-top:3rem; }
  .process-step-num { font-size:3.2rem; }

  .portfolio-filter { flex-wrap:nowrap; overflow-x:auto; margin-inline:-1.25rem; padding:0 1.25rem .5rem; scrollbar-width:none; -webkit-overflow-scrolling:touch; }
  .portfolio-filter::-webkit-scrollbar { display:none; }
  .filter-btn { flex:0 0 auto; min-height:42px; cursor:pointer; }
  .portfolio-grid { gap:1rem; margin-top:2rem; }
  .portfolio-placeholder { aspect-ratio:4/3 !important; }
  .portfolio-item-label { transform:none; opacity:1; padding:3rem 1rem 1rem; }
  .portfolio-item-tag { opacity:1; top:.75rem; right:.75rem; }

  .industry-item { align-items:flex-start; gap:1rem; padding:1.15rem 0; }
  .industry-name { font-size:clamp(1.45rem,7.5vw,2rem); }
  .industry-arrow { padding-top:.2rem; }
  .why-right { position:static; }
  .why-visual { padding:2rem 1.25rem; }
  .testimonials-track, .pricing-grid, .team-grid { gap:1rem; margin-top:2.5rem; }
  .team-grid { grid-template-columns:1fr; }

  .contact-left h2 { font-size:clamp(2.8rem,14vw,4.8rem); }
  .contact-left p { margin-bottom:2rem; }
  .contact-info-value { overflow-wrap:anywhere; line-height:1.5; }
  .contact-form { gap:1.1rem; }
  input, select, textarea { width:100%; min-height:48px; font-size:16px !important; }
  textarea { min-height:140px; }
  .form-submit { width:100%; min-height:52px; justify-content:center; }

  #footer { padding:4rem 1.25rem 2rem; }
  .footer-top { gap:2.25rem; }
  .footer-bottom { align-items:flex-start; gap:1rem; }
  a, button, input, select, textarea { -webkit-tap-highlight-color:rgba(240,120,0,.18); }
}

@media (max-width:420px) {
  .section { padding-inline:.5rem; }
  #nav { padding-inline:.8rem; }
  #hero { padding-inline:1rem; }
  .hero-headline { font-size:clamp(3.35rem,19.5vw,5.25rem); }
  .hero-body { font-size:1rem; }
  .about-stats { grid-template-columns:1fr 1fr; }
  .stat-item:last-child { grid-column:1 / -1; }
  .process-steps { grid-template-columns:1fr; }
  .portfolio-filter { margin-inline:-1rem; padding-inline:1rem; }
  .footer-brand p { max-width:100%; }
}

@media (orientation:landscape) and (max-height:520px) and (max-width:900px) {
  #hero { min-height:640px; padding-top:6rem; }
  #mobile-menu { justify-content:flex-start; gap:1rem; }
  #mobile-menu a { font-size:2rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
  .reveal { opacity:1 !important; transform:none !important; }
  .hero-orb, .ticker-inner { animation:none !important; }
}

  
@media (max-width: 900px) {
}
@media (max-width: 600px) {
  .nav-logo-img { height:36px; max-width:145px; }
  .hero-headline { position:relative; z-index:1; }
}
/* FLOATING WHATSAPP LINK */
.whatsapp-chat {
  position: static;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .50rem;
  color: #ff9100;
  font-family: var(--ff-body);
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  background: transparent;
  border: 0;
  box-shadow: none;
  transition: transform .2s ease, opacity .2s ease;
}
.whatsapp-chat:hover { transform: translateY(-2px); opacity: .88; }
.whatsapp-chat:focus-visible { outline: 2px solid #25D366; outline-offset: 5px; border-radius: 4px; }
.whatsapp-chat svg { width: 70px; height: 70px; flex: 0 0 auto; color: #25D366; }
.whatsapp-chat span { white-space: nowrap; }
@media (max-width: 560px) {
  .whatsapp-chat { font-size: .8rem; }
  .whatsapp-chat svg { width: 70px; height: 70px; }
}


/* ===== MULTI-PAGE ADDITIONS ===== */
.nav-links { gap: 1.2rem; }
.nav-links a.active::after { width: 100%; }
.page-top { padding-top: clamp(5rem, 10vw, 6rem); }
a.industry-item { color: inherit; }
#chapters { background: var(--cream); }
.chapter-pager {
  display: flex; justify-content: space-between; gap: .5rem;
  padding: 2.5rem 4vw; background: var(--cream);
  border-top: 1px solid rgba(240,120,0,.15);
}
.chapter-pager a { display: flex; flex-direction: column; gap: .1rem; max-width: 46%; align-items: center; }
.chapter-pager .pager-label {
  font-family: var(--ff-sans); font-size: .65rem; letter-spacing: .3em;
  text-transform: uppercase; color: var(--orange);
}
.chapter-pager .pager-title {
  font-family: var(--ff-display); font-size: clamp(1.3rem, 3vw, 2.2rem);
  color: var(--ink); transition: color .2s; 
}
.chapter-pager a:hover .pager-title { color: var(--orange); }
.chapter-pager .next { text-align: right; margin-left: auto; }
@media (max-width: 1100px) {
  .nav-cta { display: none; }
  .nav-links { gap: 1rem; }
}
@media (max-width: 768px) {
  .chapter-pager { padding: 2rem 1.25rem; }
}

/* ===== LOGO REVEAL (hero) ===== */
#hero { padding-top: 6.5rem; }
.logo-reveal {
  position: relative; z-index: 3;
  display: flex; justify-content: center;
  margin: 0 auto 1.4rem;
}
.logo-svg {
  display: block;
  height: clamp(120px, 20vh, 210px);
  width: auto; aspect-ratio: 1810 / 2000;
  overflow: visible;
  will-change: transform, opacity;
  animation: logoSettle 1.5s cubic-bezier(.22,1,.36,1) 2.5s both;
}

/* 1. trace the outline along the logo path */
.trace {
  fill: #f7931e; fill-opacity: 0;
  stroke: #f7931e; stroke-width: 20; stroke-linejoin: round; stroke-linecap: butt;
  stroke-dasharray: 1 1; stroke-dashoffset: 1;
}
.trace-body  { animation: logoTrace 1.9s cubic-bezier(.65,0,.35,1) .25s both, logoFill .9s ease-out 1.9s both, logoStrokeOut .5s ease 2.4s both; }
.trace-flame { animation: logoTrace 1.6s cubic-bezier(.65,0,.35,1) .75s both, logoFill .9s ease-out 1.9s both, logoStrokeOut .5s ease 2.4s both; }
@keyframes logoTrace     { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@keyframes logoFill      { from { fill-opacity: 0; }      to { fill-opacity: 1; } }
@keyframes logoStrokeOut { from { stroke-opacity: 1; }    to { stroke-opacity: 0; } }

/* 2. flat -> 3D */
.logo-3d { opacity: 0; animation: logoFade 1.3s ease-in-out 2.6s both; }
@keyframes logoFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes logoSettle {
  from { transform: translateY(10px) scale(.97); }
  to   { transform: none; }
}

@media (max-width: 768px) {
  #hero { padding-top: 6.5rem; }
  .logo-svg { height: clamp(100px, 17vh, 150px); }
  .logo-reveal { margin-bottom: 1rem; }
}
/* reduced motion: show the finished 3D logo immediately */
@media (prefers-reduced-motion: reduce) {
  .logo-svg, .trace-body, .trace-flame, .logo-3d { animation: none !important; }
  .trace { stroke-dashoffset: 0; fill-opacity: 1; stroke-opacity: 0; }
  .logo-3d { opacity: 1; }
}

/* ===== HERO BACKGROUND IMAGE ===== */
#hero { isolation: isolate; }
#hero::before {                      /* starry night photo */
  content: ''; position: absolute; inset: 0; z-index: -2;
  background: #0a1330 url("Images/StaryNight.jpg") center / cover no-repeat;
  pointer-events: none;
}
#hero::after {                       /* dark veil keeps the text legible */
  content: ''; position: absolute; inset: 0; z-index: -1;
  background:
    linear-gradient(180deg, rgba(8,10,24,.55) 0%, rgba(8,10,24,.25) 38%, rgba(8,10,24,.6) 78%, rgba(14,14,22,.92) 100%);
  pointer-events: none;
}
.hero-headline, .hero-body { text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.hero-body { color: rgba(255,255,255,.78); }
@media (max-width: 768px) {
  #hero::before { background-position: 55% center; }
}

/* ===== HERO: WHITE TEXT + LOGO, GLITTER ===== */
.hero-chapter { color: #fff; }
.hero-headline .line2 { color: rgb(255, 255, 255); }
.hero-body, .hero-body strong { color: #fff; }
.hero-body strong { font-weight: 500; }

.hero-glitter { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.sparkle {
  position: absolute; width: var(--sz); height: var(--sz);
  margin: calc(var(--sz) / -2) 0 0 calc(var(--sz) / -2);
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 35%, rgba(200,225,255,.55) 60%, transparent 72%);
  opacity: 0; transform: scale(.5);
  animation: twinkle var(--dur) ease-in-out var(--del) infinite;
  will-change: opacity, transform;
}
/* a few brighter stars get a soft four-point flare */
.sparkle-big::before, .sparkle-big::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.9), transparent);
  transform: translate(-50%, -50%);
}
.sparkle-big::before { width: calc(var(--sz) * 5); height: 1px; }
.sparkle-big::after  { width: 1px; height: calc(var(--sz) * 5); background: linear-gradient(180deg, transparent, rgba(255,255,255,.9), transparent); }
@keyframes twinkle {
  0%, 100% { opacity: 0;                        transform: scale(.5); }
  45%      { opacity: var(--peak);              transform: scale(1.15); }
  60%      { opacity: calc(var(--peak) * .55);  transform: scale(.9); }
}
@media (prefers-reduced-motion: reduce) {
  .sparkle { animation: none; opacity: .55; transform: none; }
}

/* brighter, more vibrant finished logo */
.logo-3d { filter: saturate(1.2) brightness(1.04); }
.logo-svg { filter: drop-shadow(0 0 26px rgba(247,120,20,.32)); }

/* ===== CAREERS PAGE ===== */
:root { --cf-muted: #7a6450; }  /* form text colour, independent of --muted */
.careers-intro { max-width: 640px; margin-top: 1.5rem; font-size: clamp(1rem,1.6vw,1.15rem); line-height: 1.8; color: var(--cf-muted); }
.role-chips { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 2rem; }
.role-chips span {
  font-family: var(--ff-sans); font-size: .72rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase;
  padding: .45rem 1rem; border: 1.5px solid rgba(240,120,0,.3); color: var(--orange2); border-radius: 2px; background: rgba(240,120,0,.05);
}
.apply-section { background: var(--cream); }
.apply-title { font-family: var(--ff-display); font-size: clamp(2rem,4.5vw,3.4rem); line-height: 1.05; margin-bottom: 2rem; }
.careers-form { max-width: 860px; display: flex; flex-direction: column; gap: 1.5rem; }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cf-card { background: var(--white); border: 1px solid rgba(240,120,0,.15); border-radius: 6px; padding: 1.6rem 1.75rem 1.75rem; box-shadow: 0 4px 24px rgba(240,120,0,.05); min-width: 0; }
.cf-card legend { font-family: var(--ff-sans); font-size: .72rem; font-weight: 700; letter-spacing: .25em; text-transform: uppercase; color: var(--orange); padding: 0 .6rem; margin-left: -.6rem; }
.cf-row { display: grid; gap: 1.1rem 1.4rem; margin-top: 1.1rem; }
.cf-row.cf-2 { grid-template-columns: 1fr 1fr; }
.cf-field { display: flex; flex-direction: column; gap: .4rem; min-width: 0; margin-top: 0; }
fieldset > .cf-field { margin-top: 1.1rem; }
.cf-label { font-family: var(--ff-sans); font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cf-muted); }
.cf-label b { color: var(--orange2); }
.cf-label em { font-style: normal; text-transform: none; letter-spacing: 0; opacity: .8; }
.careers-form input[type=text], .careers-form input[type=tel], .careers-form input[type=email], .careers-form input[type=url],
.careers-form input[type=date], .careers-form input[type=file], .careers-form select, .careers-form textarea {
  width: 100%; background: #fff; color: var(--ink); font-family: var(--ff-body); font-size: .95rem; font-weight: 400;
  padding: .8rem .95rem; border: 1px solid rgba(26,26,26,.2); border-radius: 3px; outline: none; transition: border-color .2s, box-shadow .2s;
}
.careers-form select { appearance: auto; }
.careers-form input:focus, .careers-form select:focus, .careers-form textarea:focus { border-color: var(--orange); box-shadow: 0 0 0 3px rgba(243,118,1,.15); }
.careers-form input[readonly] { background: #faf5ec; color: #6e2e00; font-weight: 600; }
.careers-form input:disabled { background: #f1ece3; cursor: not-allowed; }
.careers-form input:user-invalid, .careers-form select:user-invalid { border-color: #c0392b; }
.cf-hint { font-size: .75rem; color: var(--cf-muted); }
.cf-hint-ok { color: #1a6b45; font-weight: 500; }
.cf-hint-warn { color: #b3541e; }
.cf-checks { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: .2rem; }
.cf-check { display: inline-flex; align-items: center; gap: .6rem; cursor: pointer; font-size: .92rem; color: var(--ink); }
.cf-check input { width: 18px; height: 18px; accent-color: var(--orange); flex-shrink: 0; }
.cf-checks .cf-check { padding: .55rem 1.1rem; border: 1.5px solid rgba(240,120,0,.3); border-radius: 3px; background: #fffaf2; }
.cf-checks .cf-check:has(input:checked) { background: var(--orange); border-color: var(--orange); color: #fff; }
.cf-fresher { margin-top: 1rem; }
.cf-consent { margin-top: 1.4rem; align-items: flex-start; line-height: 1.5; }
.cf-consent input { margin-top: .2rem; }
.exp-item { margin-top: 1.1rem; padding: 1.2rem 1.25rem 1.3rem; background: #fffaf2; border: 1px dashed rgba(240,120,0,.4); border-radius: 4px; }
.exp-item .cf-row { margin-top: .9rem; }
.exp-head { display: flex; justify-content: space-between; align-items: center; }
.exp-title { font-family: var(--ff-sans); font-weight: 700; font-size: .9rem; color: var(--ink); }
.exp-remove { font-family: var(--ff-sans); font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #c0392b; padding: .3rem .5rem; }
.exp-remove:hover { text-decoration: underline; }
.exp-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 1.1rem 1.4rem; align-items: end; margin-top: 1rem; }
.exp-foot .cf-check { padding-bottom: .8rem; }
.exp-calc::placeholder { font-weight: 400; }
.exp-total { margin-top: 1.4rem; padding: 1.1rem 1.25rem 1.2rem; background: #fff4e0; border: 1.5px solid rgba(243,118,1,.4); border-radius: 4px; }
.exp-total input#totalExp { font-size: 1.1rem; background: #fff; border-color: rgba(243,118,1,.5); }
.btn-ghost { margin-top: 1.1rem; font-family: var(--ff-sans); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: .8rem 1.4rem; border: 1.5px solid var(--orange); color: var(--orange2); border-radius: 2px; background: transparent; transition: background .2s, color .2s; }
.btn-ghost:hover:not(:disabled) { background: var(--orange); color: #fff; }
.btn-ghost:disabled { opacity: .45; cursor: not-allowed; }
.careers-form .form-submit { align-self: flex-start; }
.careers-form .form-submit:disabled { opacity: .6; cursor: wait; }
.cf-alert { max-width: 860px; padding: 1.2rem 1.4rem; border-radius: 4px; font-size: .92rem; line-height: 1.6; }
.cf-alert ul { margin: .5rem 0 0 1.2rem; }
.cf-alert-error { background: #fdecea; border: 1px solid #e6a49c; color: #7a1f14; }
.cf-alert-ok { background: #e9f7ef; border: 1px solid #9bd3b2; color: #14502f; }
.cf-alert-ok h3 { font-family: var(--ff-display); font-size: 1.6rem; margin-bottom: .4rem; }
[hidden] { display: none !important; }
@media (max-width: 768px) {
  .exp-foot { grid-template-columns: 1fr; }
  .exp-foot .cf-check { padding-bottom: 0; }
  .cf-row.cf-2 { grid-template-columns: 1fr; }
  .cf-card { padding: 1.3rem 1.1rem 1.4rem; }
  .careers-form .form-submit { align-self: stretch; }
}

/* ===== CONTACT ENQUIRY ===== */
.form-group label .opt { text-transform: none; letter-spacing: 0; opacity: .8; }
.form-status { font-size: .8rem; line-height: 1.5; color: rgba(255,255,255,.55); }
.form-status.is-error { background: #fdecea; border: 1px solid #e6a49c; color: #7a1f14; padding: .8rem 1rem; border-radius: 3px; font-size: .88rem; }
.form-status.is-busy { color: #fff; }
.form-submit:disabled { opacity: .6; cursor: wait; }
.contact-form input:user-invalid, .contact-form textarea:user-invalid { border-color: #ff6b5b; }
.enquiry-success {
  grid-column: 2; grid-row: 1; align-self: start; position: relative; z-index: 1;
  background: #fff; color: var(--ink); text-align: left;
  border-radius: 6px; border-top: 5px solid var(--orange);
  padding: 2.4rem 2.2rem 2.2rem; box-shadow: 0 24px 60px rgba(0,0,0,.28);
}
.enquiry-success:focus { outline: none; }
.es-badge { width: 54px; height: 54px; border-radius: 50%; background: var(--orange); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.7rem; font-weight: 700; margin-bottom: 1.1rem; }
.es-eyebrow { font-family: var(--ff-sans); font-size: .7rem; font-weight: 700; letter-spacing: .3em; text-transform: uppercase; color: var(--orange2); margin-bottom: .4rem; }
.es-title { font-family: var(--ff-display); font-size: clamp(1.8rem, 3.4vw, 2.6rem); line-height: 1.1; margin-bottom: 1rem; overflow-wrap: anywhere; }
.es-text { font-size: 1rem; line-height: 1.7; color: #3d3126; margin-bottom: .9rem; font-weight: 400; overflow-wrap: anywhere; }
.es-ref { font-size: .85rem; color: #7a6450; margin-bottom: .9rem; background: #fff8ee; border-left: 4px solid var(--orange); padding: .6rem .9rem; border-radius: 3px; }
.es-again { margin-top: .6rem; font-family: var(--ff-sans); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding: .8rem 1.4rem; border: 1.5px solid var(--orange); color: var(--orange2); border-radius: 2px; transition: background .2s, color .2s; }
.es-again:hover { background: var(--orange); color: #fff; }
@media (max-width: 768px) {
  .enquiry-success { grid-column: 1; grid-row: auto; padding: 1.8rem 1.4rem; }
}

/* ===== MOBILE CHAPTER TYPOGRAPHY AND COMPACT NAVIGATION ===== */
@media (max-width: 768px) {
  /* Half-width panel: 50% of the previous full-screen menu area. */
  #mobile-menu {
    left: auto;
    right: 0;
    width: 50%;
    gap: clamp(.65rem, 2.5vh, 1.25rem);
    padding: max(5rem, env(safe-area-inset-top)) .625rem
             max(1rem, env(safe-area-inset-bottom));
    justify-content: flex-start;
    touch-action: pan-y;
  }
  #mobile-menu a {
    font-size: clamp(1rem, 5vw, 1.6rem);
    line-height: 1;
    padding: .1rem .3rem;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    max-width: 100%;
    overflow-wrap: anywhere;
    flex-shrink: 0;
  }
  /* Chapter navigation labels and arrows: 80% of original size. */
  #chapters .industry-name { font-size: clamp(1.16rem, 6vw, 1.6rem); }
  #chapters .industry-arrow { font-size: .88rem; }


}
@media (orientation: landscape) and (max-height: 520px) and (max-width: 768px) {
  #mobile-menu { gap: .5rem; }
  #mobile-menu a { font-size: 1rem; }
}

/* ===== DESKTOP CHAPTER HEADLINES =====
   Lead-in spans are half their parent heading size. Uppercase emphasis
   continues to inherit the original heading size, including nested strong.
   Mobile headings retain their original typography.
*/
/* Desktop headline sizes and spacing */
@media (min-width: 769px) {
  .section-title,
  .contact-left h2 {
    --headline-small-spacing: 0.9;
    --headline-large-spacing: 1;
  }

  /* Smaller introductory text */
  .section-title > .headline-small,
  .contact-left h2 > .headline-small {
    display: inline-block;
    font-size: 0.5em;
    line-height: var(--headline-small-spacing);
  }

  /* Spacing between differently sized text groups */
  .section-title:has(> .headline-small),
  .contact-left h2:has(> .headline-small) {
    line-height: 0.5;
  }

  /* Large emphasized text */
  .section-title > .headline-emphasis,
  .contact-left h2 > .headline-emphasis {
    line-height: var(--headline-large-spacing);
  }
}

/* Keep UNFORGETTABLE upright on all screens */
#industries-title > .headline-emphasis {
  font-style: normal;
}
@media (min-width: 769px) {
  #why-title > .headline-emphasis,
  #careers-title > .headline-emphasis {
    display: block;
  }

  #why-title > .headline-emphasis + br,
  #careers-title > .headline-emphasis + br {
    display: none;
  }

  #why-title > .headline-small:last-child,
  #careers-title > .headline-small:last-child {
    display: block;
    margin-top: 0;
    line-height: 0.9;
  }
}