 

/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  /* ── Brand palette ─────────────────────────── */
  --brand-primary:   #e84c02;
  --brand-primary-lt:#ff6a2e;
  --brand-primary-dk:#b03700;
  --brand-secondary: #283ff1;
  --brand-secondary-lt:#5566ff;
  --brand-secondary-dk:#1827b8;
  --brand-white:     #ffffff;
  --brand-cream:     #f5efd8;
  --brand-cream-dk:  #e8dfb8;

  /* ── Dark surfaces (charcoal w/ a hint of blue) ── */
  --void:    #0a0a12;
  --deep:    #0e0e18;
  --forest:  #131320;
  --pine:    #1a1a2a;
  --moss:    #232338;
  --fern:    #2c2c44;
  --sage:    #3a3a58;
  --mist:    #6a6a8a;

  /* ── Legacy "gold" tokens now map to primary orange ── */
  --gold:     #e84c02;
  --gold-lt:  #ff6a2e;
  --gold-dk:  #b03700;
  --gold-pale:#ffd9c2;
  --gold-glow:rgba(232,76,2,0.22);

  /* ── Legacy accents (kept) ── */
  --ruby:    #8c3030;
  --ruby-lt: #b85050;
  --sapphire:#283ff1;
  --diamond: #e8f0f4;
  --pearl:   #f5efd8;

  /* ── Neutrals ── */
  --stone:   #8a8a98;
  --silver:  #c0c0d0;
  --ivory:   #f5efd8;
  --cream:   #f5efd8;
  --white:   #ffffff;

  /* ── Borders & shadows ── */
  --border-gold:  rgba(232,76,2,0.28);
  --border-green: rgba(40,63,241,0.38);
  --border-lt:    #e0d7b8;
  --shadow:       0 8px 40px rgba(10,10,18,0.45);
  --shadow-lg:    0 24px 80px rgba(10,10,18,0.65);
  --glow-gold:    0 0 40px rgba(232,76,2,0.32);
  --glow-green:   0 0 40px rgba(40,63,241,0.32);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
   font-family: 'Neue Haas Grotesk Display Pro';
  background:var(--cream);
  color:var(--pine);
  line-height:1.65;
  overflow-x:hidden;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('../fonts/NeueHaasDisplay-Bold.eot');
    src: url('../fonts/NeueHaasDisplay-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/NeueHaasDisplay-Bold.woff2') format('woff2'),
        url('../fonts/NeueHaasDisplay-Bold.woff') format('woff'),
        url('../fonts/NeueHaasDisplay-Bold.ttf') format('truetype'),
        url('../fonts/NeueHaasDisplay-Bold.svg#NeueHaasDisplay-Bold') format('svg');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('../fonts/NeueHaasDisplay-Light.eot');
    src: url('../fonts/NeueHaasDisplay-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/NeueHaasDisplay-Light.woff2') format('woff2'),
        url('../fonts/NeueHaasDisplay-Light.woff') format('woff'),
        url('../fonts/NeueHaasDisplay-Light.ttf') format('truetype'),
        url('../fonts/NeueHaasDisplay-Light.svg#NeueHaasDisplay-Light') format('svg');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('../fonts/NeueHaasDisplay-Mediu.eot');
    src: url('../fonts/NeueHaasDisplay-Mediu.eot?#iefix') format('embedded-opentype'),
        url('../fonts/NeueHaasDisplay-Mediu.woff2') format('woff2'),
        url('../fonts/NeueHaasDisplay-Mediu.woff') format('woff'),
        url('../fonts/NeueHaasDisplay-Mediu.ttf') format('truetype'),
        url('../fonts/NeueHaasDisplay-Mediu.svg#NeueHaasDisplay-Mediu') format('svg');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}




h1,h2,h3,h4{ font-family: 'Neue Haas Grotesk Display Pro';line-height:1.1;letter-spacing:0.01em}
.serif-italic{ font-family: 'Neue Haas Grotesk Display Pro';font-style:italic}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
.container{max-width:1160px;margin:0 auto;padding:0 28px}

/* ─── NAV ────────────────────────────────────────────────── */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  padding:13px 0;
  background:rgba(3,6,6,0.94);
  backdrop-filter:blur(20px);
  border-bottom:1px solid var(--border-gold);
}
.nav-inner{display:flex;align-items:center;justify-content:space-between}
.nav-logo{
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:1.2rem;font-weight:500;
  color:var(--white);letter-spacing:0.06em;
}
.nav-logo span{color:var(--gold)}
.nav-pill{
  display:flex;align-items:center;gap:7px;
  padding:5px 14px;border-radius:1px;
  background:rgba(200,168,74,0.1);
  border:1px solid var(--border-gold);
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.66rem;font-weight:700;color:var(--gold);
  letter-spacing:0.14em;text-transform:uppercase;
}
.nav-pill::before{content:'◆';font-size:0.45rem}
.nav-actions{display:flex;gap:10px;align-items:center}
.btn-nav-ghost{
  display:flex;align-items:center;gap:6px;
  border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.65);
  padding:7px 15px;border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.74rem;font-weight:600;letter-spacing:0.06em;
  transition:all 0.2s;
}
.btn-nav-ghost:hover{border-color:var(--gold);color:var(--gold)}
.btn-nav-apply{
  background:var(--gold);color:var(--void);
  padding:8px 20px;border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.74rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  transition:background 0.2s,box-shadow 0.2s;
}
.btn-nav-apply:hover{background:var(--gold-lt);box-shadow:var(--glow-gold)}

/* ─── HERO ───────────────────────────────────────────────── */
.hero{
  min-height:100vh;padding:118px 0 88px;
  background:var(--void);position:relative;overflow:hidden;
}
/* deep forest radial glows */
.hero-atmosphere{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse 55% 55% at 68% 30%, rgba(30,64,56,0.55) 0%, transparent 60%),
    radial-gradient(ellipse 40% 45% at 10% 75%, rgba(200,168,74,0.08) 0%, transparent 55%),
    radial-gradient(ellipse 35% 40% at 85% 85%, rgba(140,48,48,0.06) 0%, transparent 50%);
}
/* filigree-style grid */
.hero-filigree{
  position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(200,168,74,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(200,168,74,0.04) 1px, transparent 1px);
  background-size:50px 50px;
  mask-image:radial-gradient(ellipse 75% 75% at 50% 50%, black 0%, transparent 75%);
}
/* diagonal gold accent line */
.hero-accent-line{
  position:absolute;top:60px;right:436px;
  width:1px;height:85%;
  background:linear-gradient(180deg,transparent 0%,var(--gold-dk) 20%,var(--gold-dk) 80%,transparent 100%);
  opacity:0.18;pointer-events:none;
}

.hero-layout{
  display:grid;grid-template-columns:1fr 400px;
  gap:58px;align-items:center;position:relative;z-index:1;
}

/* EYEBROW */
.hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:22px}
.gem-chip{
  display:flex;align-items:center;gap:7px;
  padding:5px 13px;border-radius:1px;
  background:rgba(200,168,74,0.08);
  border:1px solid var(--border-gold);
}
.gem-spin{
  width:8px;height:8px;
  background:var(--gold);
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  animation:gemspin 3s linear infinite;
}
@keyframes gemspin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.gem-chip span{
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.65rem;font-weight:700;
  color:var(--gold);letter-spacing:0.14em;text-transform:uppercase;
}

/* H1 */
.hero h1{
  font-size:clamp(2.8rem,5.5vw,5.2rem);
  font-weight:400;color:var(--white);
  line-height:1.0;margin-bottom:10px;
  letter-spacing:0.02em;
}
.hero h1 .h1-script{
  display:block;
  font-family: 'Neue Haas Grotesk Display Pro';
  font-style:italic;font-weight:300;
  color:var(--gold);font-size:0.78em;
  letter-spacing:0.03em;margin-top:5px;
}
.hero h1 .h1-tag{
  display:block;
   font-family: 'Neue Haas Grotesk Display Pro';
  font-weight:300;font-size:0.23em;
  letter-spacing:0.28em;text-transform:uppercase;
  color:rgba(255,255,255,0.3);margin-bottom:8px;
}

/* Philosophy */
.hero-philosophy{
   font-family: 'Neue Haas Grotesk Display Pro';
  font-style:italic;font-size:1.18rem;font-weight:300;
  color:rgba(255,255,255,0.42);
  line-height:1.65;max-width:490px;
  margin-bottom:22px;
  border-left:1px solid var(--gold-dk);
  padding-left:18px;
}
.hero-philosophy strong{font-style:normal;color:rgba(255,255,255,0.82); font-family: 'Neue Haas Grotesk Display Pro';font-weight:600;font-size:0.88em}

/* Badges */
.hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 26px}
.hbg{
  padding:5px 13px;border-radius:1px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.68rem;font-weight:700;
  letter-spacing:0.08em;text-transform:uppercase;
}
.hbg-fill{background:var(--gold);color:var(--void)}
.hbg-green{background:rgba(30,64,56,0.6);border:1px solid rgba(74,138,116,0.4);color:var(--mist)}
.hbg-outline{border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.55)}

/* 3 pillars preview */
.pillars-hero{display:flex;flex-direction:column;gap:7px;margin-bottom:28px}
.pillars-hero .icon{stroke: #fff;}
.ph-row{
  display:flex;align-items:center;gap:12px;
  padding:9px 15px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.055);
  border-radius:2px;
  transition:background 0.2s,border-color 0.2s;
}
.ph-row:hover{background:rgba(200,168,74,0.07);border-color:rgba(200,168,74,0.22)}
.ph-icon{font-size:1.05rem;width:22px;text-align:center}
.ph-name{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.98rem;color:rgba(255,255,255,0.78);font-weight: 300;}
.ph-tag{margin-left:auto;font-size:0.62rem;font-weight:600;color:rgba(255,255,255,0.2);letter-spacing:0.06em;text-transform:uppercase}

/* Stats */
.hero-stats{display:flex;gap:22px;padding-top:20px;border-top:1px solid rgba(200,168,74,0.1)}
.hs-n{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.75rem;color:var(--gold);line-height:1}
.hs-l{ font-family: 'Neue Haas Grotesk Display Pro';font-size:14px;font-weight:300;color:#fff;margin-top:3px;letter-spacing:0.08em;text-transform:uppercase}

/* ─── FORM CARD ──────────────────────────────────────────── */
.hero-form{
  background:rgba(6,14,12,0.96);
  border-radius:3px;padding:36px 30px;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--border-gold);
  position:relative;
}
/* corner gems */
.hero-form::before,.hero-form::after{
  content:'◆';position:absolute;
  font-size:0.6rem;color:var(--gold-dk);
}
.hero-form::before{top:8px;left:10px}
.hero-form::after{bottom:8px;right:10px}

.hf-eyebrow{
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.6rem;font-weight:700;
  letter-spacing:0.2em;text-transform:uppercase;
  color:var(--gold-dk);margin-bottom:7px;
}
.hf-title{
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:1.4rem;font-weight:400;color:var(--white);margin-bottom:4px;
}
.hf-sub{font-size:16px;color:var(--stone);margin-bottom:22px;font-family:'Raleway',sans-serif}
.fg{margin-bottom:13px}
.fg label{
  display:block; font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.64rem;font-weight:700;
  color:var(--silver);margin-bottom:5px;
  letter-spacing:0.08em;text-transform:uppercase;
}
.fg input,.fg select{
  width:100%;padding:11px 14px;
  border:1px solid rgba(255,255,255,0.1);border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.88rem;
  color:var(--white);background:rgba(255,255,255,0.04);
  transition:border-color 0.2s,background 0.2s;appearance:none;
}
.fg input:focus,.fg select:focus{
  outline:none;border-color:var(--gold);background:rgba(200,168,74,0.06);
}
.fg input::placeholder{color:var(--stone)}
.fg select option{background:var(--forest);color:var(--white)}
.btn-form-cta{
  width:100%;padding:14px;
  background:var(--gold);color:var(--void);
  border:none;border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.78rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  cursor:pointer;margin-top:4px;
  transition:background 0.2s,transform 0.15s,box-shadow 0.2s;
}
.btn-form-cta:hover{background:var(--gold-lt);transform:translateY(-1px);box-shadow:var(--glow-gold)}
.form-trust{display:flex;gap:10px;flex-wrap:wrap;margin-top:13px;justify-content:center}
.ft{
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.64rem;font-weight:600;
  color:var(--stone);display:flex;align-items:center;gap:4px;letter-spacing:0.04em;
}
.ft::before{content:'◆';color:var(--gold-dk);font-size:0.45rem}

/* ─── TRUST STRIP ────────────────────────────────────────── */
.trust-strip{
  background:var(--forest);padding:40px 0;
  border-top:1px solid var(--border-gold);
  border-bottom:1px solid var(--border-gold);
}
.ts-row{display:flex;align-items:center;justify-content:space-around;flex-wrap:wrap;gap:12px}
.ts-item{
  display:flex;align-items:center;gap:10px;padding:0 18px;
  border-right:1px solid rgba(200,168,74,0.1);
  color: #fff;
}
.ts-item:last-child{border-right:none}
.ts-icon{font-size:1.2rem}
.ts-strong{display:block; font-family: 'Neue Haas Grotesk Display Pro';font-size:0.78rem;;
color: #fff;
    font-weight: 400;
}
.ts-sub{    color: #fff;
    font-weight: 300;}

/* ─── SHARED ────────────────────────────────────────────── */
.sec-lbl{
   font-family: 'Neue Haas Grotesk Display Pro';display:inline-block;
  font-size:0.62rem;font-weight:700;
  letter-spacing:0.22em;text-transform:uppercase;
  color:var(--gold);margin-bottom:12px;
}
.sec-lbl::before{content:'◆ ';font-size:0.5rem}
.sec-title{
  font-size:clamp(1.9rem,3.5vw,2.9rem);
  font-weight:400;color:var(--pine);margin-bottom:14px;
}
.sec-title em{font-style:italic;color:var(--gold-dk); font-family: 'Neue Haas Grotesk Display Pro';display:inline-block;font-weight: 300;}
.gem-rule{
  width:36px;height:1px;
  background:linear-gradient(90deg,var(--gold),transparent);
  margin:15px 0;
}
.pad{padding:90px 0}

/* ─── COURSE FIT ─────────────────────────────────────────── */
.fit-wrap{background:var(--ivory)}
.fit-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.fit-list{list-style:none;display:flex;flex-direction:column;gap:15px;margin:24px 0 32px}
.fi{display:flex;align-items:flex-start;gap:13px}
.fi-gem{
  width:26px;height:26px;min-width:26px;
  background:var(--fern);
  clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%);
  display:flex;align-items:center;justify-content:center;
  font-size:0.6rem;color:var(--gold-pale);font-weight:800;
  margin-top:2px;flex-shrink:0;
}
.fi-text strong{font-size:0.9rem;font-weight:700;color:var(--pine);display:block;margin-bottom:2px}
.fi-text span{font-size:0.8rem;color:#000000;line-height:1.5;font-weight: 300;}
.btn-fit{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 28px;background:var(--forest);color:var(--gold);
  border:1px solid var(--border-gold);border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.74rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;
  transition:all 0.2s;
}
.btn-fit:hover{background:var(--gold);color:var(--void)}

.elig-card{
  background:var(--forest);border-radius:3px;
  padding:36px 30px;border:1px solid var(--border-gold);
  position:relative;
}
.elig-card::after{
  content:'◆';position:absolute;bottom:10px;right:12px;
  font-size:0.6rem;color:var(--gold-dk);
}
.elig-card h3{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.3rem;color:var(--white);margin-bottom:6px}
.elig-card p{font-size:0.82rem;color:#fff;font-weight: 300; margin-bottom:20px;line-height:1.6}
.er{
  display:flex;align-items:start;gap:11px;
  padding:10px 13px;background:rgba(255,255,255,0.04);
  border-radius:2px;margin-bottom:9px;
  border:1px solid rgba(255,255,255,0.07);
}
.er:last-of-type{margin-bottom:22px}
.er-icon{
  width: 20px;
  text-align: center;
  color: #fff;
  font-size: 22px;
}
.er span:last-child{
  font-size: 16px;
  color: #fff;
  font-weight: 300;
}
.btn-elig{
  display:block;width:100%;padding:12px;
  background:var(--gold);color:var(--void);border-radius:2px;
  text-align:center; font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.76rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;
  transition:background 0.2s,box-shadow 0.2s;
}
.btn-elig:hover{background:var(--gold-lt);box-shadow:var(--glow-gold)}

/* ─── THREE PILLARS ──────────────────────────────────────── */
.three-pillars{background:var(--void)}
.tp-header{text-align:center;max-width:620px;margin:0 auto 52px}
.tp-header .sec-title{color:var(--white)}
.tp-header .sec-title em{color:var(--gold-lt)}
.tp-header p{color:rgba(255,255,255,0.38);font-size:0.92rem;line-height:1.75;margin-top:10px}
.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.tp-card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(200,168,74,0.12);
  border-radius:3px;overflow:hidden;
  transition:background 0.25s,border-color 0.25s,transform 0.25s;
}
.tp-card:hover{background:rgba(30,64,56,0.35);border-color:rgba(200,168,74,0.35);transform:translateY(-4px)}
.tp-card-top{
  padding:28px 26px 20px;
  border-bottom:1px solid rgba(200,168,74,0.1);
}
.tp-pillar-num{
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:3.5rem;font-weight:400;
  color: #e84c02;
  line-height:1;margin-bottom:4px;
}
.tp-icon{font-size:2rem;margin-bottom:12px;display:block;color: #fff;}
.tp-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.3rem;font-weight:400;color:var(--white);margin-bottom:6px}
.tp-subtitle{font-size:0.73rem;font-weight:600;color:var(--gold-dk);letter-spacing:0.08em;text-transform:uppercase;margin-bottom:10px}
.tp-desc{font-size:0.8rem;color:rgba(255,255,255,0.42);line-height:1.65}
.tp-card-body{padding:20px 26px}
.tp-skills{display:flex;flex-direction:column;gap:8px}
.tp-skill{
  display:flex;align-items:center;gap:9px;
  font-size:0.78rem;color:#fff;
  font-weight: 300;
}
.tp-skill::before{content:'◆';color:var(--gold-dk);font-size:0.42rem;flex-shrink:0}

/* ─── DESIGN PILLAR (manual + CAD) ──────────────────────── */
.design-section{background:var(--cream)}
.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start;margin-top:48px}
.design-manual,.design-cad{
  background:var(--white);border-radius:3px;
  padding:30px 28px;border:1.5px solid var(--border-lt);
  transition:border-color 0.2s,box-shadow 0.2s;
}
.design-manual:hover,.design-cad:hover{border-color:var(--gold-dk);box-shadow:0 4px 24px rgba(3,6,6,0.08)}
.dcard-icon{font-size:2rem;margin-bottom:12px}
.dcard-label{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.62rem;font-weight:700;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:6px}
.dcard-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.25rem;color:var(--pine);margin-bottom:10px}
.dcard-desc{font-size:0.82rem;color:#5a5040;line-height:1.65;margin-bottom:18px}
.dcard-list{list-style:none;display:flex;flex-direction:column;gap:8px}
.dcard-list li{
  display:flex;align-items:flex-start;gap:9px;
  font-size:0.8rem;color:var(--pine);line-height:1.45;
}
.dcard-list li::before{content:'◆';color:var(--gold);font-size:0.42rem;margin-top:4px;flex-shrink:0}

.design-tools-row{
  display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;
}
.design-tools-row .tool-chip{
  color: #fff;
  background: #e84c02;
  border-color:#e84c02;
}
.tool-chip{
  padding:4px 11px;border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.67rem;font-weight:700;letter-spacing:0.06em;
  background:rgba(30,64,56,0.1);color:var(--fern);
  border:1px solid rgba(30,64,56,0.2);
}

/* ─── GEMOLOGY SECTION ───────────────────────────────────── */
.gemology{background:var(--pine)}
.gem-layout{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center;margin-top:48px}
.gem-content .sec-title{color:var(--white);font-size:2.4rem}
.gem-content .sec-title em{color:var(--gold-lt)}
.gem-content p{color:rgba(255,255,255,0.5);font-size:0.9rem;line-height:1.75;margin:14px 0 24px}
.gem-facts{display:flex;flex-direction:column;gap:14px}
.gem-fact{
  display:flex;gap:14px;align-items:flex-start;
  padding:14px 16px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(200,168,74,0.1);
  border-radius:2px;
  transition:border-color 0.2s;
}
.gem-fact:hover{border-color:rgba(200,168,74,0.3)}
.gf-icon{font-size:1.3rem;margin-top:1px}
.gf-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.84rem;font-weight:700;color:var(--gold-lt);margin-bottom:3px}
.gf-desc{font-size:0.77rem;color:#fff;line-height:1.5}

.gem-lab-card{
  background:rgba(200,168,74,0.06);
  border:1px solid var(--border-gold);
  border-radius:3px;padding:36px 32px;
  position:relative;
}
.gem-lab-card::before{
  content:'';position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.glc-headline{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.4rem;color:var(--white);margin-bottom:6px}
.glc-sub{font-size:16px;color:#fff;margin-bottom:20px;line-height:1.6;font-weight: 300;}
.gem-equipment{display:flex;flex-direction:column;gap:10px}
.gem-equip-item{
  display:flex;align-items:center;gap:11px;
  padding:10px 14px;background:rgba(255,255,255,0.04);
  border-radius:2px;border:1px solid rgba(255,255,255,0.06);
  font-size:0.8rem;color:#fff;
}
.gem-equip-item::before{content:'◆';color:var(--gold-dk);font-size:0.42rem;flex-shrink:0}

/* ─── TECHNOLOGY SECTION (manufacturing) ────────────────── */
.technology{background:var(--ivory)}
.tech-header{text-align:center;max-width:580px;margin:0 auto 48px}
.tech-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tech-card{
  background:var(--white);border-radius:3px;
  padding:26px 22px;border:1.5px solid var(--border-lt);
  transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;
}
.tech-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--gold-dk)}
.tc-top{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:12px;
}
.tc-icon{font-size:1.6rem}
.tc-num{
   font-family: 'Neue Haas Grotesk Display Pro';
  font-size:2.5rem;font-weight:400;
  color:rgba(3,6,6,0.05);line-height:1;
}
.tc-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.02rem;color:var(--pine);margin-bottom:7px}
.tc-desc{font-size:0.78rem;color:#5a5040;line-height:1.6;margin-bottom:12px}
.tc-chips{display:flex;flex-wrap:wrap;gap:5px}
.tc-chip{
  padding:3px 9px;border-radius:1px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.62rem;font-weight:700;letter-spacing:0.06em;
  background:#e84c02;color:#fff;
  border:1px solid rgba(30,64,56,0.18);
}

/* ─── BUSINESS / ENTERPRISE ──────────────────────────────── */
.business{background:var(--forest)}
.biz-header{text-align:center;max-width:580px;margin:0 auto 48px}
.biz-header .sec-title{color:var(--white)}
.biz-header .sec-title em{color:var(--gold-lt)}
.biz-header p{color:rgba(255,255,255,0.38);font-size:0.9rem;line-height:1.75;margin-top:10px}
.biz-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.biz-card{
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(200,168,74,0.1);
  border-radius:3px;padding:28px 22px;
  transition:background 0.2s,border-color 0.2s,transform 0.2s;
}
.biz-card:hover{background:rgba(200,168,74,0.07);border-color:rgba(200,168,74,0.28);transform:translateY(-3px)}
.biz-icon{font-size:1.7rem;margin-bottom:12px;display:block;color: #fff;}
.biz-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.02rem;color:var(--white);margin-bottom:7px}
.biz-desc{font-size:0.78rem;color:rgba(255,255,255,0.4);line-height:1.6}
.biz-tag{
  display:inline-block;margin-top:10px;
  padding:3px 9px;border-radius:1px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.6rem;font-weight:700;letter-spacing:0.1em;
  background:rgba(200,168,74,0.1);color:var(--gold-dk);
  border:1px solid rgba(200,168,74,0.2);text-transform:uppercase;
}

/* ─── SPECIALISATIONS ────────────────────────────────────── */
.specs{background:var(--cream)}
.specs-header{text-align:center;max-width:580px;margin:0 auto 48px}
.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.spec-card{
  background:var(--white);border-radius:3px;overflow:hidden;
  border:1px solid var(--border-lt);
  transition:transform 0.25s,box-shadow 0.25s,border-color 0.25s;
}
.spec-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:var(--gold-dk)}
.spec-top{
  height:120px;display:flex;align-items:center;justify-content:center;
  font-size:2.8rem;position:relative;overflow:hidden;
}
.spec-top::before{content:'';position:absolute;inset:0;opacity:0.9}
.sc-fine .spec-top::before{background:linear-gradient(135deg,#080c08,#142014)}
.sc-access .spec-top::before{background:linear-gradient(135deg,#0a0806,#1c1408)}
.sc-heritage .spec-top::before{background:linear-gradient(135deg,#0a0810,#14101c)}
.sc-body .spec-top::before{background:linear-gradient(135deg,#08100a,#10201a)}
.sc-bridal .spec-top::before{background:linear-gradient(135deg,#0c0806,#201408)}
.sc-sustainable .spec-top::before{background:linear-gradient(135deg,#060a08,#0c1a12)}
.spec-emoji{position:relative;z-index:1}
.spec-body{padding:20px 18px}
.spec-badge{
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.58rem;font-weight:700;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--gold-dk);display:block;margin-bottom:5px;
}
.spec-name{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.08rem;color:var(--pine);margin-bottom:6px}
.spec-desc{font-size:0.76rem;color:#5a5040;line-height:1.55;margin-bottom:10px}
.spec-tags{display:flex;flex-wrap:wrap;gap:5px}
.spec-tag{
  padding:3px 8px;border-radius:1px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.6rem;font-weight:700;letter-spacing:0.06em;
  background:rgba(200,168,74,0.08);color:var(--gold-dk);
  border:1px solid rgba(200,168,74,0.18);
}
#specialisations .icon{
  stroke: #fff;
}

/* ─── CAREER OUTCOMES ────────────────────────────────────── */
.careers{background:var(--white)}
.careers-layout{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start;margin-top:48px}
.roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-bottom:24px}
.role-card{
  background:var(--cream);border:1.5px solid var(--border-lt);
  border-radius:2px;padding:18px 16px;
  transition:border-color 0.2s,transform 0.2s;
}
.role-card:hover{border-color:var(--gold-dk);transform:translateY(-2px)}
.rc-icon{font-size:1.3rem;margin-bottom:6px}
.rc-name{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.95rem;color:var(--pine);margin-bottom:2px}
.rc-detail{font-size:0.72rem;color:#6a6050;line-height:1.4}
.btn-careers{
  display:inline-flex;align-items:center;gap:8px;
  padding:11px 26px;background:var(--forest);color:var(--gold);
  border:1px solid var(--border-gold);border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.74rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;transition:all 0.2s;
}
.btn-careers:hover{background:var(--gold);color:var(--void);box-shadow:var(--glow-gold)}
.market-panel{
  background:#283ff1;border-radius:3px;
  padding:32px 28px;border:1px solid var(--border-gold);position:relative;
}
.market-panel::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.mp-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.2rem;color:var(--white);margin-bottom:18px}
.mp-row{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-bottom:1px solid rgba(200,168,74,0.07)}
.mp-row:last-child{border-bottom:none}
.mp-icon{font-size:1rem;margin-top:1px}
.mp-head{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.78rem;font-weight:400;color:#fff;margin-bottom:2px}
.mp-body{font-size:0.74rem;color:#fff;line-height:1.5}
.market-panel .icon{stroke: #fff;}
/* ─── 4-YEAR JOURNEY ─────────────────────────────────────── */
.journey{background:var(--void)}
.jrn-header{text-align:center;max-width:560px;margin:0 auto 52px}
.jrn-header .sec-title{color:var(--white)}
.jrn-header .sec-title em{color:var(--gold-lt)}
.jrn-header p{color:rgba(255,255,255,0.36);font-size:0.9rem;line-height:1.75;margin-top:10px}
.jrn-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.jy-card{
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(200,168,74,0.1);
  border-radius:3px;overflow:hidden;
  transition:border-color 0.2s,background 0.2s;
}
.jy-card:hover{border-color:rgba(200,168,74,0.3);background:rgba(30,64,56,0.2)}
.jy-header{padding:18px 20px 14px;background:rgba(200,168,74,0.06);border-bottom:1px solid rgba(200,168,74,0.08)}
.jy-yr{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.6rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold-dk);margin-bottom:3px}
.jy-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.95rem;color:var(--white)}
.jy-body{padding:16px 20px}
.jy-items{list-style:none;display:flex;flex-direction:column;gap:6px}
.jy-item{font-size:0.74rem;color:#fff;padding-left:12px;position:relative;line-height:1.4}
.jy-item::before{content:'◆';position:absolute;left:0;color:var(--gold-dk);font-size:0.4rem;top:4px}
.jrn-cta{text-align:center;margin-top:48px}

/* ─── WHY DIA ─────────────────────────────────────────────── */
.why{background:var(--forest)}
.why-header{text-align:center;max-width:560px;margin:0 auto 48px}
.why-header .sec-title{color:var(--white)}

.why-header p{color:rgba(255,255,255,0.36);font-size:0.9rem;line-height:1.75;margin-top:10px}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.why-grid .icon{
  stroke: #e84c02;
  font-size: 30px;
}
.wc{
  background:rgba(255,255,255,0.04);border:1px solid rgba(200,168,74,0.1);
  border-radius:3px;padding:26px 22px;
  transition:background 0.2s,border-color 0.2s,transform 0.2s;
}
.wc:hover{background:rgba(200,168,74,0.07);border-color:rgba(200,168,74,0.28);transform:translateY(-3px)}
.wc-icon{
  width:44px;height:44px;border-radius:2px;
  background:#ffffff;border:1px solid #ffffff;
  display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:13px;
}
.wc-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.95rem;color:var(--white);margin-bottom:6px}
.wc-desc{font-size:0.76rem;color:#fff;line-height:1.6}
.wc-pill{
  display:inline-block;margin-top:9px;padding:3px 9px;border-radius:1px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.58rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;
  background:#000000;color:#fff;border:1px solid #000000;
}

/* ─── ADMISSION ──────────────────────────────────────────── */
.admission{background:var(--cream)}
.adm-header{text-align:center;max-width:520px;margin:0 auto 50px}
.steps-row{display:flex;align-items:flex-start;gap:0;position:relative}
.steps-row::before{
  content:'';position:absolute;top:33px;left:7%;right:7%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold-dk),var(--gold),var(--gold-dk),transparent);
  z-index:0;opacity:0.3;
}
.sc{flex:1;text-align:center;padding:0 13px;position:relative;z-index:1}
.sc-orb{
  width:66px;height:66px;border-radius:50%;
  background:var(--cream);border:1px solid #d8ccaa;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px; font-family: 'Neue Haas Grotesk Display Pro';
  font-size:1.35rem;font-weight:400;color:var(--gold-dk);
  box-shadow:0 0 0 6px var(--cream);transition:all 0.2s;
}
.sc:hover .sc-orb{background:var(--gold);color:var(--void);border-color:var(--gold);box-shadow:0 0 0 6px rgba(200,168,74,0.1),var(--glow-gold)}
.sc-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.95rem;color:var(--pine);margin-bottom:4px}
.sc-desc{font-size:0.75rem;color:#6a6050;line-height:1.5}
.adm-cta{text-align:center;margin-top:48px}
.btn-adm{
  display:inline-flex;align-items:center;gap:9px;
  padding:14px 42px;background:var(--gold);color:var(--void);
  border-radius:2px; font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.78rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;
  transition:background 0.2s,transform 0.15s,box-shadow 0.2s;
}
.btn-adm:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:var(--glow-gold)}

/* ─── TESTIMONIALS ───────────────────────────────────────── */
.testi{background:var(--void)}
.testi-header{text-align:center;max-width:520px;margin:0 auto 46px}
.testi-header .sec-title{color:var(--white)}
.testi-header .sec-title em{color:var(--gold-lt)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.tc{
  background:rgba(255,255,255,0.03);border:1px solid rgba(200,168,74,0.1);
  border-radius:3px;padding:28px 24px;
  transition:border-color 0.2s,transform 0.2s;
}
.tc:hover{border-color:rgba(200,168,74,0.3);transform:translateY(-3px)}
.tc-gem{
  font-size:0.55rem;color:rgba(200,168,74,0.2);
  letter-spacing:4px;margin-bottom:14px;display:block;
}
.tc-text{
   font-family: 'Neue Haas Grotesk Display Pro';font-style:italic;font-size:0.98rem;font-weight:400;
  color:#fff;line-height:1.75;margin-bottom:20px;
}
.tc-author{display:flex;align-items:center;gap:11px}
.tc-avatar{
  width:38px;height:38px;border-radius:50%;
  background:linear-gradient(135deg,var(--fern),var(--gold-dk));
  display:flex;align-items:center;justify-content:center;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:1rem;color:var(--gold-pale);
}
.tc-name{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.76rem;font-weight:700;color:var(--white);letter-spacing:0.04em}
.tc-detail{font-size:0.68rem;color:#fff;font-weight: 300; margin-top:1px}
.tc-tag{
  display:inline-block;margin-top:4px;padding:2px 7px;border-radius:1px;
  background:rgba(200,168,74,0.1); font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.6rem;font-weight:700;color:var(--gold-dk);border:1px solid rgba(200,168,74,0.15);
}

/* ─── FINAL CTA ──────────────────────────────────────────── */
.final{
  padding:108px 0;background:var(--deep);
  text-align:center;overflow:hidden;position:relative;
}
/* decorative diamond grid */
.final::before{
  content:'◆';position:absolute;
  font-size:280px;color:rgba(200,168,74,0.03);
  left:50%;top:50%;transform:translate(-50%,-50%);
  pointer-events:none;
}
.final-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  padding:6px 18px;border-radius:1px;
  background:rgba(200,168,74,0.08);border:1px solid var(--border-gold);
  color:var(--gold); font-family: 'Neue Haas Grotesk Display Pro';
  font-size:0.65rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;
  margin-bottom:22px;position:relative;z-index:1;
}
.blink{animation:blink 1.2s steps(1) infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}
.final h2{
  font-size:clamp(2.4rem,5vw,4.4rem);font-weight:400;
  color:var(--white);margin-bottom:10px;
  position:relative;z-index:1;
}
.final-sub{
  font-family: 'Neue Haas Grotesk Display Pro';font-style:italic;
  font-size:1.2rem;color:#fff;
  margin-bottom:38px;position:relative;z-index:1;
}
.final-btns{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;position:relative;z-index:1}
.btn-fin-gold{
  padding:15px 42px;background:var(--gold);color:var(--void);border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.78rem;font-weight:700;
  letter-spacing:0.14em;text-transform:uppercase;
  transition:background 0.2s,transform 0.15s,box-shadow 0.2s;
}
.btn-fin-gold:hover{background:var(--gold-lt);transform:translateY(-2px);box-shadow:var(--glow-gold)}
.btn-fin-outline{
  padding:15px 42px;border:1px solid #fff;
  color:#fff;border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.78rem;font-weight:600;
  letter-spacing:0.1em;text-transform:uppercase;transition:all 0.2s;
}
.btn-fin-outline:hover{border-color:var(--gold);color:var(--gold)}
.final-contacts{
  display:flex;align-items:center;justify-content:center;
  gap:24px;margin-top:28px;flex-wrap:wrap;position:relative;z-index:1;
}
.fci{display:flex;align-items:center;gap:7px;font-size:0.8rem;color:rgba(255,255,255,0.3)}
.fci a{color:#fff;font-weight:600;transition:color 0.2s}
.fci a:hover{color:var(--gold)}
.urgency-note{
  margin-top:24px;display:inline-block;padding:9px 20px;
  background:rgba(200,168,74,0.07);border:1px solid rgba(200,168,74,0.18);
  border-radius:2px;font-size:0.76rem;color:#fff;
  position:relative;z-index:1;
}
.final-contacts .icon{
      stroke: #fff;
}
.urgency-note strong{color:var(--gold)}

/* bottom form */
.final-form-wrap{
  max-width:480px;margin:58px auto 0;
  background:rgba(255,255,255,0.03);border:1px solid #fff;
  border-radius:3px;padding:34px 28px;position:relative;z-index:1;
}
.ffw-title{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.15rem;color:var(--white);margin-bottom:4px}
.ffw-sub{
    font-family: 'Neue Haas Grotesk Display Pro';
    font-size: 14px;
    color: #fff;
    margin-bottom: 20px;
    letter-spacing: 0.06em;
    font-weight: 300;
  }

/* ─── STICKY BAR ─────────────────────────────────────────── */
.sticky-bar{
  position:fixed;bottom:0;left:0;right:0;z-index:800;
  background:rgba(3,6,6,0.97);backdrop-filter:blur(20px);
  padding:11px 28px;display:flex;align-items:center;justify-content:center;
  gap:11px;flex-wrap:wrap;border-top:1px solid rgba(200,168,74,0.3);
  transform:translateY(100%);transition:transform 0.4s cubic-bezier(0.2,0.8,0.3,1);
}
.sticky-bar.vis{transform:translateY(0)}
.sb-label{color:rgba(255,255,255,0.35); font-family: 'Neue Haas Grotesk Display Pro';font-size:0.72rem;letter-spacing:0.04em}
.sb-label strong{color:var(--white)}
.btn-sb-gold{
  padding:8px 20px;background:var(--gold);color:var(--void);border-radius:2px;
   font-family: 'Neue Haas Grotesk Display Pro';font-size:0.72rem;font-weight:700;
  letter-spacing:0.1em;text-transform:uppercase;transition:background 0.2s;
}
.btn-sb-gold:hover{background:var(--gold-lt)}
.btn-sb-call{
  display:flex;align-items:center;gap:5px;padding:8px 15px;
  border:1px solid rgba(255,255,255,0.15);color:rgba(255,255,255,0.62);
  border-radius:2px;font-size:0.76rem;font-weight:500;transition:all 0.2s;
}
.btn-sb-call:hover{border-color:var(--gold);color:var(--gold)}
.btn-sb-wa{
  display:flex;align-items:center;gap:5px;padding:8px 15px;
  background:#25D366;color:var(--white);border-radius:2px;
  font-size:0.76rem;font-weight:600;transition:background 0.2s;
}
.btn-sb-wa:hover{background:#1dba5a}

/* ─── FOOTER ─────────────────────────────────────────────── */
footer{
  background:var(--void);padding:34px 0 20px;
  color:rgba(255,255,255,0.28);border-top:1px solid var(--border-gold);
}
.footer-top{
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:16px;padding-bottom:20px;margin-bottom:16px;
  border-bottom:1px solid rgba(200,168,74,0.07);
}
.footer-logo{ font-family: 'Neue Haas Grotesk Display Pro';font-size:1.1rem;color:var(--white)}
.footer-logo span{color:var(--gold)}
.footer-nav{display:flex;gap:16px;flex-wrap:wrap}
.footer-nav a{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.68rem;color:rgba(255,255,255,0.28);letter-spacing:0.05em;transition:color 0.2s}
.footer-nav a:hover{color:var(--gold)}
.footer-socials{display:flex;gap:7px}
.soc{
  width:30px;height:30px;border-radius:2px;
  background:rgba(200,168,74,0.06);border:1px solid rgba(200,168,74,0.1);
  display:flex;align-items:center;justify-content:center;
  font-size:0.72rem;color:rgba(255,255,255,0.28);transition:background 0.2s,color 0.2s;
}
.soc:hover{background:var(--gold);color:var(--void)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.footer-bottom p,.footer-addr{ font-family: 'Neue Haas Grotesk Display Pro';font-size:0.64rem;letter-spacing:0.04em}

/* ─── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:1020px){
  .hero-layout{grid-template-columns:1fr;gap:48px}
  .fit-grid{grid-template-columns:1fr}
  .tp-grid{grid-template-columns:1fr}
  .design-grid{grid-template-columns:1fr}
  .gem-layout{grid-template-columns:1fr}
  .tech-grid{grid-template-columns:repeat(2,1fr)}
  .biz-grid{grid-template-columns:repeat(2,1fr)}
  .specs-grid{grid-template-columns:repeat(2,1fr)}
  .careers-layout{grid-template-columns:1fr}
  .jrn-grid{grid-template-columns:repeat(2,1fr)}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .testi-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hero h1{font-size:2.7rem}
  .tech-grid{grid-template-columns:1fr}
  .biz-grid{grid-template-columns:1fr}
  .specs-grid{grid-template-columns:1fr}
  .roles-grid{grid-template-columns:1fr}
  .jrn-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
  .steps-row{flex-direction:column;gap:22px}
  .steps-row::before{display:none}
  .nav-actions .btn-nav-ghost{display:none}
  .final-btns{flex-direction:column;align-items:center}
  .ts-row{flex-direction:column;gap:10px}
  .ts-item{border-right:none;border-bottom:1px solid rgba(200,168,74,0.08);padding:10px 0;width:100%}
  .ts-item:last-child{border-bottom:none}
}

/* ─── ANIMATIONS ─────────────────────────────────────────── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.hero-eyebrow{animation:fadeUp 0.55s ease both}
.hero h1{animation:fadeUp 0.6s 0.1s ease both}
.hero-philosophy{animation:fadeUp 0.6s 0.17s ease both}
.hero-badges{animation:fadeUp 0.6s 0.23s ease both}
.pillars-hero{animation:fadeUp 0.6s 0.29s ease both}
.hero-stats{animation:fadeUp 0.6s 0.35s ease both}
.hero-form{animation:fadeUp 0.68s 0.18s ease both}
.reveal{opacity:0;transform:translateY(22px);transition:opacity 0.62s ease,transform 0.62s ease}
.reveal.in{opacity:1;transform:translateY(0)}
.rd1{transition-delay:0.1s}.rd2{transition-delay:0.2s}
.rd3{transition-delay:0.3s}.rd4{transition-delay:0.4s}.rd5{transition-delay:0.5s}

/* ═══ INJECTED OVERRIDES — new brand, bigger type, flat icons, bg imagery ═══ */

/* ─ Flat SVG icon system ─ */
.icon{
  width:1em;height:1em;display:inline-block;vertical-align:-0.15em;
  flex-shrink:0;stroke-width:1.6;
  stroke:currentColor;fill:none;
  stroke-linecap:round;stroke-linejoin:round;
}
.icon-fill{fill:currentColor;stroke:none}
.icon-2x{width:1.5em;height:1.5em}
.icon-3x{width:2em;height:2em}

/* sized icon-wells (replacing emoji blocks) */
.icon-well{
  width:48px;height:48px;border-radius:6px;
  background:rgba(232,76,2,0.10);
  border:1px solid rgba(232,76,2,0.28);
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--brand-primary);
  margin-bottom:14px;
}
.icon-well .icon{width:24px;height:24px;stroke-width:1.6}
.icon-well.iw-blue{
  background:rgba(40,63,241,0.10);
  border-color:rgba(40,63,241,0.32);
  color:var(--brand-secondary);
}
.icon-well.iw-cream{
  background:rgba(245,239,216,0.92);
  border-color:rgba(232,76,2,0.30);
  color:var(--brand-primary);
}
.icon-well.iw-dark{
  background:rgba(232,76,2,0.14);
  border-color:rgba(232,76,2,0.34);
  color:var(--brand-primary-lt);
}

/* small inline icons inside list rows */
.icon-sm{width:1.05em;height:1.05em;stroke-width:1.7;vertical-align:-0.18em}

/* ─ Bigger paragraph & description type for readability ─ */
html{font-size:17px}
body{line-height:1.72}
.hero-philosophy{font-size:1.18rem!important;line-height:1.7!important;max-width:540px}
.hf-sub{font-size:1.02rem!important}
.hs-l{font-size:0.78rem!important}
.hs-n{font-size:2rem!important}
.tp-desc,.dcard-desc,.tc-desc,.biz-desc,.spec-desc,.rc-detail,
.gem-content p,.tp-header p,.biz-header p,.jrn-header p,
.why-header p,.testi-header p,.specs-header p,.tech-header p,
.adm-header p,.gf-desc,.mp-body,.elig-card p,.fi-text span,
.gem-equip-item,.tp-skill,.dcard-list li,.jy-item,.wc-desc,
.sc-desc,.tc-text,.final-sub,.fci,.ts-strong,.ts-sub,
.spec-tag,.tc-chip,.tool-chip,.biz-tag,.wc-pill{
  font-size:1rem;
  font-weight: 300;
}
/* slightly trimmed for chips/tags so they stay compact */
.spec-tag,.tc-chip,.tool-chip,.wc-pill,.hbg{font-size:0.78rem!important}
.biz-tag{
  font-size: 14px;
  background: #e84c02;
  color: #fff;
}
.ph-name{font-size:1.08rem!important}
.fi-text strong,.gf-title,.tp-title,.dcard-title,.tc-title,
.biz-title,.spec-name,.rc-name,.mp-head,.jy-title,.wc-title,
.sc-title,.tc-name,.glc-headline,.ffw-title,.hf-title,.elig-card h3{
  font-size:1.18rem;
}
.sec-title{font-size:clamp(2.1rem,3.8vw,3.1rem)!important}
.sec-lbl{font-size:0.74rem!important;letter-spacing:0.2em}
.tc-text{font-size:1.06rem!important;line-height:1.78!important}
.hero-philosophy strong{font-size:1em!important}

/* ─ Replace italic em accents w/ orange (primary) ─ */
.sec-title em{color:var(--brand-primary)!important;font-style:italic}
.tp-header .sec-title em,.gem-content .sec-title em,
.biz-header .sec-title em,.testi-header .sec-title em,
.jrn-header .sec-title em,.why-header .sec-title em{
  color:var(--brand-primary-lt)!important;
}

/* ─ Dark sections: rich photographic backgrounds w/ overlay ─ */
.hero{
  background-color:#0a0a12;
  background-image:url('../images/jewellery-banner.webp');
  background-size:cover;
  background-position:center;
  background-attachment:fixed;
}
.three-pillars{
  background-color:#0a0a12;
  background-image:
    linear-gradient(180deg, rgba(10,10,18,0.8) 0%, rgba(14,14,24,0.97) 100%),
    url('../images/bg3.jpg');
  background-size:cover;
  background-position:center;
}
.gemology{
  background-color:#1a1a2a;
  background-image:linear-gradient(180deg, rgba(10,10,18,0.95) 0%, rgba(19,19,32,0.67) 100%),url('../images/bg1.jpg');
  background-size:cover;
  background-position:center;
}
.business{
  background-color:#131320;
  background-image:
    linear-gradient(180deg, rgba(19,19,32,0.8) 0%, rgba(10,10,18,0.97) 100%),
    url('../images/bg4.jpg');
  background-size:cover;
  background-position:center;
}
.journey{
  background-color:#0a0a12;
  background-image:
    linear-gradient(180deg, rgba(10,10,18,0.95) 0%, rgba(19,19,32,0.97) 100%),
    url('https://images.unsplash.com/photo-1515562141207-7a88fb7ce338?auto=format&fit=crop&w=2400&q=80');
  background-size:cover;
  background-position:center;
}
.why{
  background-color:#e84c02;
}
.testi{
  background-color:#0a0a12;
  background-image:
    linear-gradient(180deg, rgba(10,10,18,0.8) 0%, rgba(14,14,24,0.97) 100%),
    url('../images/bg3.jpg');
  background-size:cover;
  background-position:center;
}
.final{
  background-color:#283ff1;
  background-size:cover;
  background-position:center;
}

/* ─ Recolor the form & buttons to new palette ─ */
.btn-form-cta,.btn-elig,.btn-adm,.btn-fin-gold,.btn-sb-gold,.btn-nav-apply{
  background:var(--brand-primary)!important;color:var(--brand-white)!important;
}
.btn-form-cta:hover,.btn-elig:hover,.btn-adm:hover,
.btn-fin-gold:hover,.btn-sb-gold:hover,.btn-nav-apply:hover{
  background:var(--brand-primary-lt)!important;
}
.btn-fit,.btn-careers{
  background:var(--brand-secondary)!important;color:var(--brand-white)!important;
  border-color:var(--brand-secondary)!important;
}
.btn-fit:hover,.btn-careers:hover{
  background:var(--brand-secondary-dk)!important;color:var(--brand-white)!important;
}

/* ─ Brand color for select inline accent text ─ */
.hero h1 .h1-script{color:var(--brand-primary-lt)!important}
.nav-logo span{color:var(--brand-primary)!important}
.footer-logo span{color:var(--brand-primary)!important}

/* ─ Trust strip refresh ─ */
.trust-strip{
  background:#E84C02;
}
.ts-strong{color: #fff;font-weight: 400;}

/* ─ Cream sections use brand cream tone ─ */
.fit-wrap,.technology,.specs,.admission{
  background:var(--brand-cream)!important;
}
.careers{background:var(--brand-white)!important}
.design-section{background:var(--brand-cream)!important}

/* ─ Fine card surfaces ─ */
.design-manual,.design-cad,.tech-card,.spec-card,.role-card{
  background:var(--brand-white)!important;
  border-color:rgba(232,76,2,0.18)!important;
}
.design-manual:hover,.design-cad:hover,.tech-card:hover,
.spec-card:hover,.role-card:hover{
  border-color:var(--brand-primary)!important;
}

/* ─ Spec-card top gradients refreshed ─ */
.sc-fine .spec-top::before{background:linear-gradient(135deg,#0a0a12,#1a1a2a)!important}
.sc-access .spec-top::before{background:linear-gradient(135deg,#1a1a2a,#283ff1)!important;opacity:0.7}
.sc-heritage .spec-top::before{background:linear-gradient(135deg,#0a0a12,#b03700)!important;opacity:0.8}
.sc-body .spec-top::before{background:linear-gradient(135deg,#131320,#283ff1)!important;opacity:0.7}
.sc-bridal .spec-top::before{background:linear-gradient(135deg,#0a0a12,#e84c02)!important;opacity:0.75}
.sc-sustainable .spec-top::before{background:linear-gradient(135deg,#131320,#1827b8)!important;opacity:0.75}

/* ─ Sticky bar refresh ─ */
.btn-sb-call:hover{border-color:var(--brand-primary)!important;color:var(--brand-primary)!important}
.btn-nav-ghost:hover{border-color:var(--brand-primary)!important;color:var(--brand-primary)!important}

/* ─ Hero atmosphere overrides for new color ─ */
.hero-atmosphere{
  background:
    radial-gradient(ellipse 55% 55% at 68% 30%, rgba(232,76,2,0.18) 0%, transparent 60%),
    radial-gradient(ellipse 40% 45% at 10% 75%, rgba(40,63,241,0.12) 0%, transparent 55%),
    radial-gradient(ellipse 35% 40% at 85% 85%, rgba(232,76,2,0.10) 0%, transparent 50%)!important;
}

/* ─ Make light-section paragraph text a touch darker for contrast ─ */
.tc-desc,.spec-desc,.dcard-desc{color:#000000}
.biz-desc{
  color: #fff;
}
.gem-content p,.tp-header p,.biz-header p,.jrn-header p,
.why-header p,.testi-header p{color:rgba(255,255,255,1)!important}
.tp-desc{
  color: #fff;
  font-weight: 300;
}
.why-header .sec-title em{color:#000 !important;}

.btn-send-otp {
  white-space: nowrap;
  padding: 6px 17px;
  background: #062bff;
  color: #fff;
  border: none;
  border-radius: 36px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s, opacity 0.2s;
  margin-top: 10px;
  }

  .btn-send-otp:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }

  .btn-send-otp.sent {
    background: #00b894;
  }

  /* OTP section (hidden until phone submitted) */
  .otp-section {
    display: none;
    margin-top: -0.3rem;
    margin-bottom: 1.1rem;
    animation: fadeIn 0.25s ease;
  }

  .otp-section.active { display: block; }

  .otp-row {
    display: flex;
    gap: 8px;
  }

  .otp-row input {
    flex: 1;
    letter-spacing: 0.2em;
    font-size: 1.1rem;
    text-align: center;
  }

  .btn-verify-otp {
    white-space: nowrap;
    padding: 0 1rem;
    background: #0984e3;
    color: #fff;
    border: none;
    border-radius: 9px;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s, opacity 0.2s;
  }

  .btn-verify-otp:disabled { opacity: 0.6; cursor: not-allowed; }
  .btn-verify-otp.verified { background: #00b894; }

  .otp-hint {
    font-size: 0.78rem;
    color: #fff;
    margin-top: 0.4rem;
  }

  .verified-badge {
    display: none;
    align-items: center;
    gap: 6px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #00b894;
    margin-top: 0.5rem;
  }

  .verified-badge.show { display: flex; }
/* Messages */
  .msg {
    font-size: 0.82rem;
    margin-top: 0.4rem;
    padding: 0.45rem 0.7rem;
    border-radius: 7px;
    display: none;
  }

  .msg.error { background: #fff0f0; color: #c0392b; display: block; }
  .msg.success { background: #f0fff8; color: #00804a; display: block; }
  .msg.info { background: #f0f4ff; color: #3d5afe; display: block; }

  /* Success screen */
  .success-screen {
    display: none;
    text-align: center;
    padding: 1.5rem 0;
  }

  .success-screen.show { display: block; }
  .success-screen .tick { font-size: 3rem; margin-bottom: 1rem; }
  .success-screen h3 { font-size: 1.2rem; font-weight: 700; color: #1a1a2e; margin-bottom: 0.5rem; }
  .success-screen p { font-size: 0.9rem; color: #666; }

  .form-card{
  background:var(--white);
  border-radius:12px;
  padding:38px 32px;
  box-shadow:var(--shadow-lg);
  border:1px solid var(--border);
  position:sticky;top:100px;
}
.form-card-header{margin-bottom:24px}
.form-card-header h3{
  font-size:32px;font-weight:400;
  color:var(--black);margin-bottom:4px;
}
.form-card-header p{font-size:0.82rem;color:var(--stone)}
.form-group{margin-bottom:14px}
.form-group label{
display: block;
    font-size: 0.76rem;
    font-weight: 300;
    color: #fff;
    margin-bottom: 5px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.form-group input{
  width:100%;padding:12px 15px;
  border:1.5px solid #424242;border-radius:5px;
  font-family:'Outfit',sans-serif;font-size:0.9rem;
  background:#211e1c;color:#fff;
  transition:border-color 0.2s,background 0.2s;
}
.form-group input:focus{
  outline:none;border-color:var(--brand-primary);
  background:#211e1c;
}
.form-group input::placeholder{color:var(--stone)}
.btn-form-apply{
  width:100%;padding:15px;
  background:var(--brand-primary);color:var(--white);
  border:none;border-radius:5px;
  font-family:'Outfit',sans-serif;
  font-size:0.95rem;font-weight:700;
  letter-spacing:0.06em;text-transform:uppercase;
  cursor:pointer;margin-top:4px;
  transition:background 0.2s,transform 0.15s;
  position:relative;overflow:hidden;
}
.btn-form-apply:hover{background:var(--brand-primary);transform:translateY(-1px)}
.btn-form-apply::after{
  content:'→';margin-left:8px;
  transition:transform 0.2s;display:inline-block;
}
.btn-form-apply:hover::after{transform:translateX(4px)}
.form-micro-trust{
  display:flex;gap:12px;flex-wrap:wrap;
  margin-top:14px;justify-content:center;
}
.micro-badge{
  display:flex;align-items:center;gap:5px;
  font-size:0.71rem;font-weight:600;color:var(--ash);
}
.micro-badge::before{content:'✓';color:var(--gold);font-weight:700}
.final-form-wrap .dat-form{
  text-align: left;
}
.final-form-wrap .dat-form .form-group input{
    background: #fff;
    color: #000;
}
.final-form-wrap .dat-form .btn-send-otp{
background: var(--brand-primary);
}
/* responsive: bump body up a bit on big screens, smaller on mobile */
@media(max-width:640px){
  html{font-size:16px}
}
