/* ── PrismWork ── taste-skill v2 ────────────────────────────
   DESIGN_VARIANCE: 8   MOTION_INTENSITY: 6   VISUAL_DENSITY: 4
   Fonts: Cormorant Garamond (serif) + IBM Plex Sans (sans)
──────────────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,600;1,400;1,600&family=IBM+Plex+Sans:wght@300;400;600&display=swap');

:root {
  --purple:#4B3FA0; --purple-mid:#7C6FD4; --purple-light:#EDE9FA; --purple-deep:#12103c;
  --dark:#0F0E1A; --ink:#1A1A2E; --text:#2C2C2C; --muted:#6B6B80; --ghost:#888899; --dim:#444466;
  --white:#FFFFFF; --off:#F9F8FF; --line:#E4E2F0;
  --teal:#1D9E75; --teal-light:#E1F5EE; --teal-dim:#5DCAA5;
  --amber:#BA7517; --amber-light:#FAEEDA; --amber-bright:#EF9F27;
  --coral:#D85A30; --coral-light:#FAECE7;
  --r:8px; --r-sm:4px; --r-lg:12px;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --shadow-sm:0 2px 8px rgba(75,63,160,.07);
  --shadow-md:0 8px 32px rgba(75,63,160,.11);
  --shadow-lg:0 20px 60px rgba(75,63,160,.16);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'IBM Plex Sans',system-ui,sans-serif;font-size:16px;line-height:1.68;color:var(--text);background:var(--white);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--purple);text-decoration:none}
a:hover{text-decoration:underline}

/* ── TYPOGRAPHY ───────────────────────────────────────────── */
h1,h2,h3{font-family:'Cormorant Garamond',Georgia,serif;line-height:1.1;color:var(--ink);font-weight:600}
h1{font-size:clamp(2.8rem,6.5vw,5rem)}
h2{font-size:clamp(1.75rem,3.5vw,2.8rem)}
h3{font-size:clamp(1.05rem,1.8vw,1.35rem)}
p{margin-bottom:1rem}p:last-child{margin-bottom:0}
.lead{font-size:1.1rem;color:var(--muted);line-height:1.75}
em{font-style:italic}

/* ── KICKER LINES ─────────────────────────────────────────── */
.kicker{display:flex;align-items:center;gap:.6rem;font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.85rem}
.kicker::before{content:'';flex-shrink:0;width:24px;height:1px;background:currentColor}
.kicker--teal{color:var(--teal-dim)}
.kicker--purple{color:var(--purple-mid)}
.kicker--white{color:rgba(255,255,255,.45)}
.kicker--amber{color:var(--amber-bright)}

/* ── LAYOUT ──────────────────────────────────────────────── */
.container{max-width:1140px;margin:0 auto;padding:0 1.75rem}
.container--narrow{max-width:720px;margin:0 auto;padding:0 1.75rem}
section{padding:5.5rem 0}

/* ── SCROLL PROGRESS ─────────────────────────────────────── */
.scroll-progress{position:fixed;top:0;left:0;width:0%;height:2px;background:linear-gradient(90deg,var(--purple),var(--teal));z-index:300;transition:width .08s linear;pointer-events:none}

/* ── NAV ─────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:200;background:rgba(255,255,255,.95);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.05)}
.nav__inner{display:flex;align-items:center;justify-content:space-between;height:64px}
.nav__logo img{height:32px}
.nav__logo-text{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:600;color:var(--white)}
.nav__links{display:flex;align-items:center;gap:2rem;list-style:none}
.nav__links a{font-size:.78rem;font-weight:600;color:var(--ghost);transition:color .15s;letter-spacing:.06em;text-transform:uppercase}
.nav__links a:hover{color:var(--white);text-decoration:none}
.nav__cta{background:rgba(75,63,160,.25)!important;border:1px solid rgba(75,63,160,.45)!important;color:#b8b0f0!important;padding:.45rem 1rem;border-radius:var(--r-sm);font-weight:600;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;transition:all .2s}
.nav__cta:hover{background:rgba(75,63,160,.5)!important;color:var(--white)!important;text-decoration:none}
.nav__hamburger{display:none;cursor:pointer;border:none;background:none;padding:.5rem}
.nav__hamburger span{display:block;width:20px;height:1px;background:var(--ghost);margin:5px 0}

/* ── HERO — full-bleed editorial type ───────────────────── */
.hero{background:var(--dark);padding:5.5rem 0 4.5rem;position:relative;overflow:hidden}
.hero::after{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(75,63,160,.22) 0%,transparent 70%);pointer-events:none}
.hero__inner{position:relative;z-index:1;max-width:800px}
.hero__badge{display:inline-flex;align-items:center;gap:.45rem;background:rgba(75,63,160,.18);border:1px solid rgba(75,63,160,.3);border-radius:var(--r-sm);padding:.3rem .9rem;margin-bottom:1.4rem}
.hero__badge-dot{width:5px;height:5px;border-radius:50%;background:#9990e8;flex-shrink:0}
.hero__badge-text{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#9990e8}
.hero h1{color:var(--white);margin-bottom:1.2rem}
.hero h1 em{color:#9990e8}
.hero__sub{font-size:1rem;color:var(--ghost);max-width:520px;line-height:1.72;margin-bottom:.6rem}
.hero__data{font-size:.78rem;color:var(--dim);margin-bottom:1.75rem}
.hero__btns{display:flex;gap:.85rem;flex-wrap:wrap}

/* ── ENTRY STRIP ─────────────────────────────────────────── */
.entry-strip{background:#080717;border-bottom:1px solid rgba(255,255,255,.05)}
.entry-strip__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.entry-tile{padding:1.25rem 1.6rem;cursor:pointer;border-right:1px solid rgba(255,255,255,.05);transition:background .2s;text-decoration:none;display:block}
.entry-tile:last-child{border-right:none}
.entry-tile:hover{background:rgba(75,63,160,.14);text-decoration:none}
.entry-tile__tag{font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:.3rem}
.entry-tile__title{font-size:.9rem;font-weight:600;color:var(--white);line-height:1.35}

/* ── BUTTONS ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:.4rem;font-family:'IBM Plex Sans',sans-serif;font-weight:600;font-size:.9rem;padding:.78rem 1.7rem;border-radius:var(--r-sm);border:2px solid transparent;cursor:pointer;transition:all .2s var(--ease-out);text-decoration:none;letter-spacing:.02em}
.btn--primary{background:var(--purple);color:var(--white);border-color:var(--purple)}
.btn--primary:hover{background:#3a3090;transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none}
.btn--teal{background:var(--teal);color:var(--white);border-color:var(--teal)}
.btn--teal:hover{background:#178a64;transform:translateY(-2px);box-shadow:0 8px 24px rgba(29,158,117,.25);text-decoration:none}
.btn--ghost{background:transparent;color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.22)}
.btn--ghost:hover{background:rgba(255,255,255,.07);text-decoration:none}
.btn--outline{background:transparent;color:var(--purple);border-color:var(--purple)}
.btn--outline:hover{background:var(--purple-light);transform:translateY(-1px);text-decoration:none}
.btn--lg{font-size:1rem;padding:.88rem 2rem}
.btn--full{width:100%;justify-content:center;display:flex}

/* ── RESEARCH / PROBLEM SECTION ─────────────────────────── */
.problem{background:var(--purple-light)}
.problem__stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(75,63,160,.15);margin-top:2rem}
.problem__stat{background:var(--purple-light);padding:1.75rem;transition:background .2s}
.problem__stat:hover{background:#e5e0ff}
.problem__num{font-family:'Cormorant Garamond',serif;font-size:2.8rem;color:var(--purple);display:block;line-height:1;margin-bottom:.45rem}
.problem__desc{font-size:.9rem;color:var(--text);line-height:1.58}
.problem__callout{background:var(--dark);border-radius:var(--r-lg);padding:1.5rem 2rem;margin-top:1.5rem;font-family:'Cormorant Garamond',serif;font-size:1.35rem;color:var(--ghost);line-height:1.55}

/* ── SERVICES — bento grid ──────────────────────────────── */
.services{background:var(--white)}
.services__grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2.25rem}
.service-card{border-radius:var(--r-lg);padding:1.85rem;transition:all .22s var(--ease-out);cursor:pointer}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}
.service-card--diagnose{background:var(--purple-light)}
.service-card--develop{background:var(--teal-light)}
.service-card--deploy{background:var(--amber-light)}
.service-card--design{background:var(--coral-light)}
.service-card__tag{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;display:block;margin-bottom:.65rem}
.service-card--diagnose .service-card__tag{color:var(--purple)}
.service-card--develop .service-card__tag{color:var(--teal)}
.service-card--deploy .service-card__tag{color:var(--amber)}
.service-card--design .service-card__tag{color:var(--coral)}
.service-card h3{font-size:1.15rem;margin-bottom:.65rem}
.service-card p{font-size:.88rem;color:var(--muted)}
.service-card__link{font-size:.82rem;font-weight:600;color:var(--purple);display:inline-block;margin-top:.85rem}

/* ── LOGOS ──────────────────────────────────────────────── */
.client-logos{background:var(--off);padding:2.75rem 0;border-top:.5px solid var(--line)}
.logos-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem 2.75rem;margin-top:1.5rem}
.logos-grid img{height:26px;opacity:.4;filter:grayscale(100%);transition:all .25s var(--ease-out)}
.logos-grid img:hover{opacity:1;filter:grayscale(0%);transform:scale(1.06)}

/* ── PROOF ──────────────────────────────────────────────── */
.proof{background:var(--white)}
.proof__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-top:2rem}
.proof-card{background:var(--off);border-radius:var(--r-lg);padding:1.85rem;border:.5px solid var(--line);transition:all .22s}
.proof-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.proof-card__client{font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.65rem}
.proof-card__result{font-family:'Cormorant Garamond',serif;font-size:1.2rem;color:var(--ink);margin-bottom:.65rem;line-height:1.38}
.proof-card__detail{font-size:.85rem;color:var(--muted);line-height:1.58}
.proof__credentials{text-align:center;margin-top:2rem;padding:1.25rem;background:var(--purple-light);border-radius:var(--r-lg);font-size:.88rem;color:var(--muted)}

/* ── ABOUT COREY ────────────────────────────────────────── */
.about-corey{background:var(--white)}
.about-corey__grid{display:grid;grid-template-columns:360px 1fr;gap:5rem;align-items:start}
.about-corey__photo img{width:100%;border-radius:var(--r-lg);aspect-ratio:4/5;object-fit:cover}

/* ── PAGE HERO (inner pages) ────────────────────────────── */
.page-hero{background:var(--dark);padding:5rem 0 4rem;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;top:-120px;right:-120px;width:400px;height:400px;border-radius:50%;background:radial-gradient(circle,rgba(75,63,160,.2) 0%,transparent 70%);pointer-events:none}
.page-hero h1{color:var(--white);max-width:760px;position:relative}
.page-hero p{color:var(--ghost);font-size:1.05rem;margin-top:1rem;max-width:580px;position:relative}
.page-content{padding:4.5rem 0}

/* ── BOTTOM CTA ─────────────────────────────────────────── */
.bottom-cta{background:linear-gradient(135deg,var(--dark) 0%,var(--purple-deep) 100%);color:var(--white);text-align:center;padding:6.5rem 0;position:relative;overflow:hidden}
.bottom-cta::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:350px;background:radial-gradient(ellipse,rgba(75,63,160,.2) 0%,transparent 70%);pointer-events:none}
.bottom-cta .kicker{justify-content:center;position:relative}
.bottom-cta h2{color:var(--white);max-width:620px;margin:.75rem auto 1rem;position:relative}
.bottom-cta p{color:rgba(255,255,255,.6);margin-bottom:2rem;position:relative}

/* ── CONTACT FORM ────────────────────────────────────────── */
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-size:.82rem;font-weight:600;color:var(--text);margin-bottom:.45rem}
.form-input,.form-textarea,.form-select{width:100%;padding:.72rem 1rem;border:1.5px solid var(--line);border-radius:var(--r-sm);font-family:'IBM Plex Sans',sans-serif;font-size:.92rem;color:var(--text);background:var(--white);transition:border-color .15s;outline:none;-webkit-appearance:none}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--purple)}
.form-textarea{resize:vertical;min-height:96px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}

/* ── FOOTER ─────────────────────────────────────────────── */
.footer{background:#06060F;color:var(--ghost);padding:4.5rem 0 2rem}
.footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:3rem;margin-bottom:3.5rem}
.footer__tagline{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--white);margin-top:.5rem}
.footer__brand p{font-size:.85rem;margin-top:.75rem;max-width:270px;line-height:1.7;color:#555577}
.footer__logo img{height:28px;filter:brightness(0) invert(1);opacity:.5}
.footer__links h4{font-size:.68rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--white);margin-bottom:1rem}
.footer__links ul{list-style:none}
.footer__links li{margin-bottom:.55rem}
.footer__links a{font-size:.85rem;color:#555577;transition:color .15s}
.footer__links a:hover{color:var(--white);text-decoration:none}
.footer__bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:1.75rem;display:flex;justify-content:space-between;font-size:.78rem;flex-wrap:wrap;gap:.75rem;color:#333355}

/* ── SCROLL ANIMATIONS ──────────────────────────────────── */
.fade-up{opacity:0;transform:translateY(24px);transition:opacity .58s var(--ease-out),transform .58s var(--ease-out)}
.fade-up.visible{opacity:1;transform:translateY(0)}
.fade-up-d1{transition-delay:.1s}.fade-up-d2{transition-delay:.2s}.fade-up-d3{transition-delay:.3s}.fade-up-d4{transition-delay:.4s}

/* ── UTILS ──────────────────────────────────────────────── */
.text-center{text-align:text-center}
.callout{background:var(--purple-light);border-left:3px solid var(--purple);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:1.25rem 1.5rem;line-height:1.65;color:var(--text)}
.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}

/* ── RESPONSIVE ─────────────────────────────────────────── */
@media(max-width:960px){
  .services__grid,.proof__grid,.about-corey__grid{grid-template-columns:1fr}
  .problem__stat-grid{grid-template-columns:1fr;gap:0}
  .problem__stat{border-bottom:1px solid rgba(75,63,160,.12)}
  .about-corey__photo{max-width:340px}
  .footer__grid{grid-template-columns:1fr 1fr}
  .entry-strip__grid{grid-template-columns:1fr}
  .entry-tile{border-right:none;border-bottom:1px solid rgba(255,255,255,.05)}
}
@media(max-width:640px){
  section{padding:3.75rem 0}
  .hero{padding:4rem 0 3.5rem}
  h1{font-size:2.6rem}
  .hero__btns{flex-direction:column}
  .footer__grid{grid-template-columns:1fr;gap:2rem}
  .footer__bottom{flex-direction:column;text-align:center}
  .logos-grid{gap:1.25rem 2rem}.logos-grid img{height:20px}
  .form-grid{grid-template-columns:1fr}
  .nav__links{display:none;position:absolute;top:64px;left:0;right:0;background:rgba(15,14,26,.98);flex-direction:column;gap:0;border-bottom:1px solid rgba(255,255,255,.08);padding:1rem 1.75rem;z-index:100}
  .nav__links.open{display:flex}
  .nav__hamburger{display:block}
}
