/* ============================================
   PANGEA RESEARCH — Original Design System
   Roboto / Navy / Lime / Teal / Purple
   ============================================ */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Roboto',sans-serif;color:#1A202C;background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}

:root{
  --navy:#0D1B2A;--navy-light:#1B2D45;--navy-mid:#243B55;--navy-surface:#152238;
  --lime:#7ACC2E;--lime-light:#8FDB45;--lime-muted:rgba(122,204,46,0.1);--lime-glow:rgba(122,204,46,0.15);
  --teal:#00D4C8;--teal-light:#33E0D6;--teal-muted:rgba(0,212,200,0.08);
  --purple:#5B2D8E;--purple-light:#7B4DAE;--purple-muted:rgba(91,45,142,0.08);
  --blue:#1976D2;
  --white:#FFFFFF;--off-white:#F7F8FA;--gray50:#F0F2F5;--gray100:#E4E7EC;--gray200:#C9CED6;--gray400:#8B95A5;
  --text:#1A202C;--text-light:#4A5568;--text-muted:#8B95A5;--text-on-dark:#CBD5E0;--text-bright:#E2E8F0;
  --section-pad:88px;
}

.container{max-width:1100px;margin:0 auto;padding:0 28px}
.section{padding:var(--section-pad) 0}
.section-sm{padding:64px 0}
.section--dark{background:var(--navy);color:var(--text-bright)}
.section--light{background:var(--off-white)}
.section--navy-gradient{background:linear-gradient(175deg,var(--navy) 0%,var(--navy-light) 100%);color:var(--text-bright)}

.label{font-family:'Roboto Mono',monospace;font-size:11px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:12px}
.label-lime,.label--lime{color:var(--lime)}.label-teal,.label--teal{color:var(--teal)}.label--purple{color:var(--purple-light)}.label--muted{color:var(--gray400)}

.heading{font-size:clamp(24px,4vw,36px);font-weight:700;line-height:1.2;letter-spacing:-0.01em;margin-bottom:16px}
.heading--xl{font-size:clamp(32px,5vw,48px)}.heading--lg{font-size:clamp(28px,4vw,42px);margin-bottom:20px}.heading--md{font-size:clamp(22px,3vw,32px)}.heading--sm{font-size:clamp(18px,2.5vw,24px);font-weight:600;margin-bottom:12px}
.heading-navy,.heading--navy{color:var(--navy)}.heading-white,.heading--white{color:#fff}

.body-text{font-size:15.5px;line-height:1.75;color:var(--text-light);max-width:640px;margin-bottom:14px}
.body-text--on-dark{color:var(--text-on-dark)}.body-text--centered{margin-left:auto;margin-right:auto;text-align:center}

.accent-line{width:36px;height:3px;background:linear-gradient(90deg,var(--lime),var(--teal));border-radius:2px;margin-bottom:18px}
.accent-line--lime{background:var(--lime)}.accent-line--teal{background:var(--teal)}.accent-line--purple{background:var(--purple-light)}

.btn{font-family:'Roboto',sans-serif;font-size:13.5px;font-weight:600;letter-spacing:0.03em;padding:12px 28px;border-radius:4px;cursor:pointer;transition:all 0.25s ease;border:none;display:inline-flex;align-items:center;gap:8px}
.btn-primary,.btn--primary{background:linear-gradient(135deg,var(--lime),#6ABF22);color:var(--navy)}
.btn-primary:hover,.btn--primary:hover{background:linear-gradient(135deg,var(--lime-light),var(--lime));box-shadow:0 4px 16px rgba(122,204,46,0.3);transform:translateY(-1px)}
.btn-outline,.btn--outline{background:transparent;color:var(--teal);border:1.5px solid rgba(0,212,200,0.35)}
.btn-outline:hover,.btn--outline:hover{border-color:var(--teal);background:rgba(0,212,200,0.08)}
.btn--outline-light{background:transparent;color:var(--teal);border:1.5px solid rgba(0,212,200,0.35)}
.btn--outline-light:hover{border-color:var(--teal);background:var(--teal-muted)}
.btn--ghost{background:transparent;color:var(--text-light);padding:8px 0;border-radius:0}
.btn--ghost:hover{color:var(--lime)}
.btn-arrow::after{content:'→';transition:transform 0.2s ease}.btn-arrow:hover::after{transform:translateX(3px)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:rgba(13,27,42,0.96);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,212,200,0.07);padding:12px 0;transition:all 0.3s}
.nav__inner,.nav-inner{display:flex;align-items:center;justify-content:space-between}
.nav__brand,.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;text-decoration:none}
.nav-globe{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--purple));border:2px solid var(--teal);display:flex;align-items:center;justify-content:center;position:relative}
.nav-globe::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--lime);position:absolute;top:5px;right:6px;box-shadow:0 0 6px var(--lime)}
.nav-globe-inner{width:14px;height:14px;border-radius:50%;border:1.5px solid rgba(0,212,200,0.5)}
.nav-brand{font-size:15px;font-weight:700;color:#fff;letter-spacing:0.04em;text-transform:uppercase}
.nav__links,.nav-links{display:flex;gap:28px;align-items:center;list-style:none}
.nav__link,.nav-link{font-size:12px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:rgba(226,232,240,0.55);cursor:pointer;transition:color 0.2s;padding-bottom:3px;position:relative;text-decoration:none}
.nav__link:hover,.nav-link:hover{color:#fff}
.nav__link--active,.nav-link.active{color:var(--teal)}
.nav__link--active::after,.nav-link.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--teal),var(--lime));border-radius:1px}
.nav__link--cta{color:var(--navy)!important;background:var(--lime);font-weight:600;padding:6px 16px;border-radius:4px;margin-left:8px}
.nav__link--cta:hover{background:var(--lime-light)}.nav__link--cta::after{display:none}
.nav__toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.nav__toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:2px}

@media(max-width:768px){
  .nav__toggle{display:flex}
  .nav__links,.nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:var(--navy);flex-direction:column;padding:16px 28px 24px;border-bottom:1px solid rgba(0,212,200,0.07);gap:4px}
  .nav__links--open,.nav-links.open{display:flex}
  .nav__link,.nav-link{padding:12px 16px;width:100%}
  .nav__link--cta{text-align:center;margin-left:0;margin-top:8px}
}

/* HERO */
.hero{background:var(--navy);min-height:92vh;display:flex;align-items:center;position:relative;overflow:hidden}
.hero-circles{position:absolute;top:10%;right:6%}
.hero-c1{width:360px;height:360px;border-radius:50%;border:1px solid rgba(0,212,200,0.06);position:absolute;top:0;right:0}
.hero-c2{width:260px;height:260px;border-radius:50%;border:1px solid rgba(91,45,142,0.07);position:absolute;top:50px;right:40px}
.hero-c3{width:140px;height:140px;border-radius:50%;border:1px solid rgba(122,204,46,0.05);position:absolute;top:110px;right:90px}
.hero-dot1{width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 10px var(--lime);position:absolute;top:120px;right:0;animation:heroPulse 3s ease infinite}
.hero-dot2{width:5px;height:5px;border-radius:50%;background:var(--teal);box-shadow:0 0 8px var(--teal);position:absolute;top:0;right:180px;animation:heroPulse 3s ease 1s infinite}
.hero-dot3{width:6px;height:6px;border-radius:50%;background:var(--purple-light);box-shadow:0 0 8px var(--purple-light);position:absolute;top:260px;right:120px;animation:heroPulse 3s ease 2s infinite}
@keyframes heroPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.5;transform:scale(0.7)}}

.hero__content,.hero-content{position:relative;z-index:1;max-width:650px;padding-top:80px}
.hero-tag{font-family:'Roboto Mono',monospace;font-size:12px;letter-spacing:0.2em;color:var(--teal);margin-bottom:24px;text-transform:uppercase}
.hero h1,.hero__headline{font-size:clamp(36px,6vw,58px);font-weight:900;line-height:1.08;color:#fff;margin-bottom:24px;letter-spacing:-0.02em}
.hero h1 span{background:linear-gradient(135deg,var(--teal),var(--lime));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero__subheadline,.hero p{font-size:16.5px;line-height:1.75;color:var(--text-on-dark);max-width:540px;margin-bottom:36px}
.hero__ctas,.hero-btns{display:flex;gap:16px;flex-wrap:wrap}

/* PAGE HEADER */
.page-header{padding:clamp(120px,16vw,180px) 0 clamp(48px,6vw,80px);background:var(--navy)}
.page-header__title{font-size:clamp(32px,5vw,48px);font-weight:900;color:#fff;letter-spacing:-0.02em;margin-bottom:16px}
.page-header__subtitle{font-size:17px;color:var(--text-on-dark);max-width:560px;line-height:1.7}

/* SERVICE CARDS */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
@media(max-width:768px){.services-grid{grid-template-columns:1fr}}
.service-card{background:#fff;border:1px solid var(--gray100);border-radius:10px;padding:36px 30px;position:relative;overflow:hidden;transition:all 0.35s ease}
.service-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px}
.service-card--lime::before{background:var(--lime)}.service-card--teal::before{background:var(--teal)}.service-card--purple::before{background:var(--purple-light)}
.service-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(13,27,42,0.08);border-color:var(--gray200)}
.service-card__icon{width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:20px}
.service-card__icon--lime{background:var(--lime-muted);color:var(--lime)}.service-card__icon--teal{background:var(--teal-muted);color:var(--teal)}.service-card__icon--purple{background:var(--purple-muted);color:var(--purple-light)}
.service-card__title{font-size:17px;font-weight:700;color:var(--navy);margin-bottom:10px}
.service-card__text{font-size:14.5px;line-height:1.7;color:var(--text-light)}

/* IFP CARDS */
.ifp-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:36px;margin-bottom:36px}
@media(max-width:768px){.ifp-articles{grid-template-columns:1fr}}
.ifp-card{background:var(--navy-surface);border:1px solid rgba(255,255,255,0.06);border-radius:8px;padding:28px 24px;transition:all 0.3s ease;text-decoration:none;display:block}
.ifp-card:hover{border-color:rgba(122,204,46,0.2);transform:translateY(-2px)}
.ifp-card__title{font-size:16px;font-weight:700;color:#fff;margin-bottom:10px;line-height:1.35}
.ifp-card__summary{font-size:13.5px;line-height:1.65;color:var(--text-on-dark)}

/* FOUNDER */
.founder-section{display:grid;grid-template-columns:280px 1fr;gap:48px;align-items:start}
@media(max-width:768px){.founder-section{grid-template-columns:1fr}}
.founder-image{width:100%;aspect-ratio:3/4;background:var(--gray50);border-radius:8px;border:1px solid var(--gray100);display:flex;align-items:center;justify-content:center;color:var(--gray400);font-size:13px;overflow:hidden}
.founder-image img{width:100%;height:100%;object-fit:cover;border-radius:8px}

/* SECTORS */
.sectors-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-top:32px}
.sector-item{background:var(--navy-surface);border:1px solid rgba(255,255,255,0.06);border-radius:6px;padding:20px 24px;font-size:14.5px;font-weight:500;color:var(--text-bright);transition:all 0.25s ease}
.sector-item:hover{border-color:rgba(0,212,200,0.2)}

/* LAB */
.lab-section{text-align:center;background:linear-gradient(175deg,var(--off-white),#fff);border-top:1px solid var(--gray100);border-bottom:1px solid var(--gray100)}
.lab-badge{display:inline-flex;align-items:center;gap:8px;background:var(--purple-muted);color:var(--purple-light);font-family:'Roboto Mono',monospace;font-size:11px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;padding:8px 16px;border-radius:20px;margin-bottom:20px}
.lab-badge::before{content:'';width:6px;height:6px;background:var(--purple-light);border-radius:50%;animation:pulse 2s ease infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.4}}

/* ARTICLE CARDS */
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px;margin-top:36px}
.article-card{background:#fff;border:1px solid var(--gray100);border-radius:8px;padding:32px 28px;transition:all 0.3s ease;text-decoration:none;display:block}
.article-card:hover{border-color:var(--gray200);transform:translateY(-3px);box-shadow:0 8px 30px rgba(13,27,42,0.06)}
.article-card__date{font-family:'Roboto Mono',monospace;font-size:11px;color:var(--text-muted);letter-spacing:0.08em;margin-bottom:12px}
.article-card__title{font-size:18px;font-weight:700;color:var(--navy);line-height:1.35;margin-bottom:10px}
.article-card__summary{font-size:14.5px;line-height:1.7;color:var(--text-light);margin-bottom:16px}
.article-card__link{font-size:13.5px;font-weight:600;color:var(--lime);display:inline-flex;align-items:center;gap:6px;transition:gap 0.2s ease}
.article-card:hover .article-card__link{gap:10px}

/* FORM */
.form-grid{display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:600px){.form-row{grid-template-columns:1fr}}
.form-label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:6px}
.form-input{width:100%;padding:12px 16px;border:1.5px solid var(--gray100);border-radius:6px;font-family:'Roboto',sans-serif;font-size:15px;color:var(--text);background:#fff;transition:border-color 0.2s ease}
.form-input:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px var(--lime-muted)}
textarea.form-input{resize:vertical;min-height:120px}

/* SERVICE DETAIL */
.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;padding:48px 0;border-bottom:1px solid var(--gray100)}
.service-detail:last-child{border-bottom:none}
@media(max-width:768px){.service-detail{grid-template-columns:1fr;gap:24px}}
.service-detail__deliverables{list-style:none;margin-top:16px}
.service-detail__deliverables li{font-size:14.5px;color:var(--text-light);padding:8px 0 8px 20px;position:relative;border-bottom:1px solid var(--gray50)}
.service-detail__deliverables li::before{content:'—';position:absolute;left:0;color:var(--lime);font-weight:600}

/* ABOUT VALUES */
.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:40px}
@media(max-width:768px){.about-values{grid-template-columns:1fr}}
.about-value{padding:32px 28px;background:var(--navy-surface);border:1px solid rgba(255,255,255,0.06);border-radius:8px}
.about-value__title{font-size:16px;font-weight:700;color:#fff;margin-bottom:10px}
.about-value__text{font-size:14px;line-height:1.7;color:var(--text-on-dark)}

/* FOOTER */
.footer{background:var(--navy);padding:40px 0;border-top:1px solid rgba(255,255,255,0.04)}
.footer__inner,.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px}
.footer__brand,.footer-brand{font-size:16px;font-weight:700;color:#fff;margin-bottom:6px}
.footer__copy,.footer-copy{font-size:13px;color:var(--text-muted)}
.footer__links,.footer-links{display:flex;gap:24px}
.footer__link,.footer-link{font-size:13.5px;color:var(--text-on-dark);transition:color 0.2s;text-decoration:none}
.footer__link:hover,.footer-link:hover{color:#fff}

/* UTILITIES */
.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}
.mt-0{margin-top:0}.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}.mt-5{margin-top:48px}
.mb-0{margin-bottom:0}.mb-3{margin-bottom:24px}

/* ANIMATIONS */
@keyframes fadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.fade-in{animation:fadeIn 0.6s ease both}
.fade-d1{animation-delay:0.1s}.fade-d2{animation-delay:0.2s}.fade-d3{animation-delay:0.3s}

.gradient-divider{height:2px;background:linear-gradient(90deg,var(--teal),var(--lime),var(--purple-light),var(--teal));margin:0}

@media(max-width:768px){.hero-circles{display:none}.hero{min-height:auto;padding:140px 0 80px}}
