:root{
  --primary:#FA1239;
  --accent-green:#1CB098;
  --neutral-600:#595959;
  --bg-pink-1:#FFE7EB;
  --bg-pink-2:#FFBFCA;
  --black:#000;
  --white:#fff;
  --max-w:1440px;
}

/* reset */
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{
  font-family:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,Arial;
  color:var(--black);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  line-height:1.35;
}

/* ---------------------------
   NAV (desktop) - icon-only
   --------------------------- */
.nav{
  width:100%;
  background:#fff;
  position:sticky;
  top:0;
  z-index:40;
  border-bottom:1px solid rgba(0,0,0,0.03);
}
.nav-inner{
  max-width:var(--max-w);
  height:100px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 100px;
  gap:70px;
}
.logo-img{width:231px;height:58px;object-fit:contain;display:block}

/* nav links container */
.nav-links{display:flex;gap:24px;align-items:center}

/* nav-item is icon-only. Use CSS background SVGs so no external image required */
.nav-item{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:56px;
  height:42px;
  border-radius:8px;
  text-decoration:none;
  background-repeat:no-repeat;
  background-position:center;
  background-size:28px 28px;
  position:relative;
  transition:background-color .12s;
  outline: none;
  /* hide any accidental text */
  color: transparent;
  font-size: 0;
}
.nav-item:focus, .nav-item:hover{background-color: rgba(0,0,0,0.04);}

/* Desktop CSS icons (data-URI SVGs) */
/* Home (house) */
.nav-item.icon-home{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23282828' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M3 11.5L12 4l9 7.5'/><path d='M5 21V12h14v9'/></svg>");
}

/* About (info) */
.nav-item.icon-about{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23282828' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><line x1='12' y1='8' x2='12' y2='8.01'/><path d='M11 12h1v4h1'/></svg>");
}

/* Services (gear) */
.nav-item.icon-services{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23282828' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='3.5'/><path d='M19.4 15a1.65 1.65 0 0 0 .33 1.82l0 .01a2 2 0 1 1-2.83 2.83l0-.01a1.65 1.65 0 0 0-1.82.33 1.65 1.65 0 0 0-.5 1.63 2 2 0 1 1-3.9 0 1.65 1.65 0 0 0-.5-1.63 1.65 1.65 0 0 0-1.82-.33l0 .01A2 2 0 1 1 4.27 16l0-.01a1.65 1.65 0 0 0 .33-1.82l0-.01A1.65 1.65 0 0 0 3.9 11.5a2 2 0 1 1 3.9 0 1.65 1.65 0 0 0 1.82.33l.12-.08a1.65 1.65 0 0 0 .5-1.63 2 2 0 1 1 3.9 0 1.65 1.65 0 0 0 .5 1.63l.12.08a1.65 1.65 0 0 0 1.82-.33 2 2 0 1 1 2.83 2.83z'/></svg>");
}

/* Pricing (tag) */
.nav-item.icon-pricing{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23282828' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M20.59 13.41L10.59 3.41a2 2 0 0 0-2.83 0L3.41 8.76a2 2 0 0 0 0 2.83l10 10a2 2 0 0 0 2.83 0l4.34-4.34a2 2 0 0 0 0-2.83z'/><circle cx='7.5' cy='7.5' r='1'/></svg>");
}

/* FAQ (question mark) */
.nav-item.icon-faq{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23282828' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'><path d='M9.09 9a3 3 0 1 1 5.82 1c0 1.5-1 2.2-1.9 2.9C11.5 13.9 11 14.5 11 16'/><circle cx='12' cy='19' r='1'/></svg>");
}

/* CTA button */
.btn-quote{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--primary);
  color:#fff;
  height:46px;
  width:147px;
  border-radius:30px;
  box-shadow:0 0 12px rgba(250,18,57,0.58);
  text-decoration:none;
  font-weight:500;
  font-size:18px;
  padding:0 18px;
}

/* ---------------------------
   MOBILE NAV
   --------------------------- */
.mobile-nav{
  display:none;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,0.04);
}
.mobile-logo{height:40px}
.hamburger{font-size:24px;background:none;border:0;cursor:pointer}
.mobile-menu{
  display:none;
  flex-direction:column;
  gap:50px;
  padding:50px;
  background: #FFE3E8;
  border-bottom:1px solid rgba(0,0,0,0.06);
  
}
.mobile-menu a{display:flex;align-items:center;gap:12px;color:#282828;text-decoration:none;font-size:18px}
.mobile-menu .btn-primary{text-align:center;margin-top:8px;padding:12px 16px;width: 80%;border-radius:30px;display:inline-block;background:var(--primary);color:#fff;text-decoration:none}

/* ---------------------------
   HERO
   --------------------------- */
.hero-section{
  max-width:var(--max-w);
  height:909px;
  margin:0 auto;
  position:relative;
  background:linear-gradient(261.18deg,var(--bg-pink-1) -0.46%,var(--bg-pink-2) 100.67%);
  overflow:visible;
}

/* left column */
.hero-left{
  position:absolute;left:100px;top:228px;width:620px;height:auto;z-index:2;
  display:flex;flex-direction:column;gap:18px;
}
.hero-title{font-weight:700;font-size:64px;line-height:78px;color:#000;text-transform:capitalize}
.underline-wrap{display:inline-block;position:relative;padding-left:8px;padding-right:8px}
.highlight{color:var(--primary);position:relative;z-index:2}
.title-underline{position:absolute;left:0;bottom:-6px;height:17px;width:363px;object-fit:contain;pointer-events:none}
.hero-sub{width:485px;font-weight:400;font-size:16px;line-height:34px;color:#000}
.hero-ctas{display:flex;gap:24px;margin-top:8px}
.btn-outline,.btn-primary{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:30px;height:46px;text-transform:uppercase;font-weight:500;font-size:18px;text-decoration:none}
.btn-outline{background:#fff;color:var(--primary);border:1px solid var(--primary);box-shadow:0 0 12px rgba(250,18,57,0.58);width:222px}
.btn-primary{background:var(--primary);color:#fff;width:157px}

/* right column composition */
.hero-right{position:absolute;left:726px;top:170px;width:633.87px;height:727.37px;z-index:1}
.ellipse{position:absolute;border-radius:50%}
.ellipse-6{width:633.87px;height:633.88px;left:0;top:93.49px;background:radial-gradient(circle at 50% 44.74%,#FFE4E9 0%,#FFCBD4 100%)}
.ellipse-5{width:476.45px;height:476.45px;left:78.23px;top:179.68px;background:radial-gradient(circle at 50% 50%,#FECDD5 0%,#FFE2E7 100%)}
.portrait {
  position: relative;
  width: 100%;
  max-width: 506px;
  margin: 0 auto;
  z-index: 2;
}

.portrait img {
  width: 120%;
  height: auto;
  object-fit: contain;
  display: block;
  border-radius: 12px;
}


/* stats cards */
.stat-card{position:absolute;background:rgba(255,255,255,0.79);backdrop-filter:blur(20px);border-radius:10px;display:flex;align-items:center;gap:20px;padding:20px 15px}
.stat-rating{left:-37px;top:395px;width:350px;height:117px;z-index:4}
.rating-score{font-family:Inter, sans-serif;font-weight:600;font-size:64px;color:var(--accent-green);width:101px;height:77px}
.rating-meta{display:flex;flex-direction:column;gap:8px}
.stars{color:#FFAB00}
.rating-label{font-weight:600;font-size:24px}
.stat-count{left:363px;top:544px;width:270.66px;height:133.43px;padding:30px;align-items:center}
.mortarboard{width:80px;height:80px;background:#FC4E6A;border-radius:8px}
.count-text{display:flex;flex-direction:column}
.count-number{font-weight:800;font-size:30px}
.count-label{font-weight:500;color:#666;font-size:17px}

/* FEATURES */
.features{max-width:var(--max-w);margin:40px auto;padding:50px 100px}
.features-inner{max-width:1255px;margin:0 auto;display:flex;flex-direction:column;gap:30px;align-items:center}
.badge{width:154px;height:42px;background:rgba(253,146,164,0.3);border-radius:6px;display:flex;align-items:center;justify-content:center;font-weight:600}
.features-title{text-align:center;font-weight:600;font-size:44px;line-height:55px;max-width:1000px;margin:0 auto}
.features-inner .badge{margin:0 auto}
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:10px}
.feature-card{width:298.75px;height:450px;background:#fff;border-radius:20px;box-shadow:0 4px 16px rgba(0,0,0,0.08);padding:20px;display:flex;flex-direction:column;align-items:center;gap:16px}
.feature-card img{width:258.75px;height:200px;object-fit:contain}
.feature-heading{font-weight:500;font-size:20px;text-align:center}
.feature-desc{font-size:18px;color:var(--neutral-600);text-align:center}

/* responsiveness */
@media (max-width:1200px){
  .nav-inner{padding:0 40px}
  .hero-left{left:40px;top:160px;width:520px}
  .hero-title{font-size:48px;line-height:58px}
  .feature-grid{grid-template-columns:repeat(2,1fr);justify-items:center}
  .feature-card{width:320px}
}
@media (max-width:768px){
  .nav-inner{display:none}
  .mobile-nav{display:flex}
  .nav{display:none}
  .mobile-menu{display:none}
  .hero-section{height:auto;padding-bottom:40px}
  .hero-sub{width:100%}
  .hero-left{position:relative;left:auto;top:24px;width:auto;padding:0 24px}
  .hero-title{font-size:34px;line-height:40px}
  .title-underline{width:220px;bottom:-6px}
  .hero-ctas {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
  width: 100%;
  max-width: 320px;
  margin: 0 auto;
}

/* Outline button (top) */
.btn-outline {
  background: #fff;
  color: var(--primary);
  border: 2px solid var(--primary);
  box-shadow: 0 0 12px rgba(250, 18, 57, 0.58);
  padding: 14px 20px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 30px;
  text-align: center;
  text-decoration: none;
}

/* Filled button (bottom) */
.btn-primary {
  background: var(--primary);
  color: #fff;
  border: none;
  padding: 14px 20px;
  font-size: 16px;
  font-weight: 600;
  border-radius: 30px;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(250, 18, 57, 0.3);
}
  .portrait img{width:320px;height:auto}
  .hero-right{position:relative;left:auto;top:50px;width:100%;justify-content:center;margin-top:8px}
  .stat-card{position:relative;left:auto;top:auto;margin:12px 8px;width:auto}
  .features{padding:30px 20px}
  .feature-grid{grid-template-columns:1fr;gap:18px}
  .feature-card{width:100%;max-width:420px;margin:0 auto}
  .feature-heading,
.feature-card h3 {
  font-weight: 400; /* use 400 for regular, 500 for medium if preferred */
  font-style: normal;
  margin: 0; /* keep layout consistent */
}

}
/* Emphasize specific phrase inside the features title */
.features-title { 
  text-align: center;
  font-weight: 600;
  font-size: 44px;
  line-height: 55px;
  max-width: 1000px;
  margin: 0 auto;
  color: #000;               /* default title color */
}

/* Phrase highlight (applies on desktop and mobile) */
.features-title .features-emph {
  color: var(--primary);     /* red highlight */
  display: inline-block;     /* keeps spacing predictable */
  margin: 0 6px;             /* small breathing room */
}

/* If you want a slightly stronger emphasis on small screens, optional */
@media (max-width: 768px) {
  .features-title { font-size: 34px; line-height:40px; }
  .features-title .features-emph { /* keep same color, optionally slightly bolder */
    font-weight: 700;
  }
}

@media (max-width:420px){
  .hero-title{font-size:28px;line-height:34px}
  .hero-sub{font-size:14px;line-height:22px}
  .mobile-logo{height:36px}
}
.nav-links{display:flex;gap:24px;align-items:center}
.nav-link{
  font-family:"Figtree",system-ui;
  font-weight:500;
  font-size:18px;
  line-height:22px;
  color:#282828;
  text-decoration:none;
  text-transform:capitalize;
  padding:10px 8px;
  border-radius:6px;
}
.nav-link:hover, .nav-link:focus{background:rgba(0,0,0,0.04);outline:none}
