@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500;600&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --teal:#2F5D73;
  --sage:#6E9F7A;
  --sage-dk:#5F8A6A;
  --sage-lt:#8FB79A;
  --blue:#9FB4C3;
  --bg:#E6ECEF;
  --blue-lt:#B8C9D4;
  --white:#FFFFFF;
  --font-d:'Cormorant Garamond',serif;
  --font-b:'DM Sans',sans-serif;
  --nav-h:68px;
  --r:12px;
  --shadow:0 2px 18px rgba(47,93,115,0.09);
}

html{scroll-behavior:smooth}
body{font-family:var(--font-b);background:var(--bg);color:var(--teal);line-height:1.65;min-height:100vh}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* NAV */
.nav{position:sticky;top:0;z-index:100;background:rgba(230,236,239,0.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(47,93,115,0.1);height:var(--nav-h)}
.nav-inner{max-width:1200px;margin:0 auto;padding:0 32px;height:100%;display:flex;align-items:center;gap:36px}
.nav-logo{display:flex;align-items:center;flex-shrink:0}
.nav-logo-img{height:44px;width:44px;object-fit:contain;border-radius:50%;transition:transform .18s}
.nav-logo:hover .nav-logo-img{transform:scale(1.05)}
.footer-logo-img{height:72px;width:72px;object-fit:contain;border-radius:50%;margin-bottom:10px;opacity:.92}
.nav-links{display:flex;align-items:center;gap:28px;flex:1}
.nav-links a{font-size:13px;font-weight:400;color:var(--teal);opacity:0.65;transition:opacity .15s;letter-spacing:.02em}
.nav-links a:hover,.nav-links a.active{opacity:1}
.nav-links a.active{font-weight:500}
.btn-nav{background:var(--teal);color:var(--white);padding:9px 22px;border-radius:50px;font-size:12.5px;font-weight:500;letter-spacing:.04em;white-space:nowrap;transition:transform .15s,box-shadow .15s;flex-shrink:0}
.btn-nav:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(47,93,115,0.26)}
.nav-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--teal);margin-left:auto;padding:4px}

/* BUTTONS */
.btn{display:inline-block;padding:12px 30px;border-radius:50px;font-family:var(--font-b);font-size:13px;font-weight:500;letter-spacing:.05em;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s;text-align:center}
.btn-primary{background:var(--teal);color:var(--white)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,93,115,0.3)}
.btn-secondary{background:var(--sage);color:var(--white)}
.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(110,159,122,0.32)}
.btn-ghost{background:transparent;color:var(--teal);border:1.5px solid rgba(47,93,115,0.3)}
.btn-ghost:hover{border-color:var(--teal);background:rgba(47,93,115,0.05)}
.btn-white{background:var(--white);color:var(--teal);font-weight:600}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(47,93,115,0.2)}

/* LAYOUT */
.section{max-width:1200px;margin:0 auto;padding:80px 32px}
.section-sm{max-width:1200px;margin:0 auto;padding:48px 32px}
.section-title{font-family:var(--font-d);font-size:clamp(30px,3.5vw,46px);font-weight:500;line-height:1.08;margin-bottom:10px}
.section-title em{font-style:italic;font-weight:400;color:var(--sage-dk)}
.section-sub{font-size:15px;font-weight:300;opacity:.75;max-width:520px;line-height:1.75;margin-bottom:40px}
.rule{width:48px;height:2px;background:linear-gradient(to right,var(--sage),transparent);margin:14px 0 22px}
.label{font-size:10.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;opacity:.55;margin-bottom:14px}

/* CARDS */
.card{background:var(--white);border-radius:var(--r);border:1px solid rgba(47,93,115,0.08);padding:28px;box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(47,93,115,0.13)}

/* PHASE BADGE */
.phase-badge{display:inline-block;padding:3px 12px;border-radius:30px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.phase-1{background:#E1F5EE;color:#0F6E56}
.phase-2{background:#E6F1FB;color:#185FA5}
.phase-3{background:#FAEEDA;color:#854F0B}
.phase-4{background:#FBEAF0;color:#993556}
.phase-5{background:#EEEDFE;color:#534AB7}

/* FOOTER */
.footer{background:var(--teal);color:var(--white);padding:60px 32px 0}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:48px;padding-bottom:48px;border-bottom:1px solid rgba(255,255,255,0.1)}

.footer-tagline{font-size:12px;font-style:italic;opacity:.6;margin-bottom:20px;font-family:var(--font-d)}
.footer-socials{display:flex;gap:8px;flex-wrap:wrap}
.social-pill{background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);border-radius:30px;padding:5px 14px;font-size:11.5px;font-weight:500;color:rgba(255,255,255,0.85);transition:background .15s;letter-spacing:.03em}
.social-pill:hover{background:rgba(255,255,255,0.2)}
.footer-col h4{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;opacity:.45;margin-bottom:16px}
.footer-col a{display:block;font-size:13.5px;font-weight:300;opacity:.72;margin-bottom:10px;transition:opacity .12s}
.footer-col a:hover{opacity:1}
.footer-bottom{max-width:1200px;margin:0 auto;padding:20px 0;display:flex;justify-content:space-between;align-items:center;font-size:11.5px;opacity:.4;flex-wrap:wrap;gap:8px}

/* RESPONSIVE */
@media(max-width:900px){
  .footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .nav-links{display:none;flex-direction:column;position:absolute;top:var(--nav-h);left:0;right:0;background:var(--bg);padding:20px 28px;border-bottom:1px solid rgba(47,93,115,0.1);gap:14px;z-index:99}
  .nav-links.open{display:flex}
  .nav-toggle{display:block}
  .btn-nav{display:none}
  .nav{position:relative}
  .section{padding:56px 20px}
  .footer-inner{grid-template-columns:1fr}
  .footer{padding:48px 20px 0}
}
