:root{
  --ink:#0F1B24;          /* deep slate-ink */
  --paper:#F5F7F6;        /* cool paper */
  --card:#FFFFFF;
  --rank:#0E7A56;         /* ranking green */
  --rank-soft:#E3F2EB;
  --cite:#1A56DB;         /* SERP link blue */
  --amber:#B7791F;        /* AI-citation amber */
  --amber-soft:#FBF3E4;
  --line:#DDE4E1;
  --muted:#5A6B75;
  --display:'Archivo',sans-serif;
  --body:'Inter',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.65;font-size:16px}
img{max-width:100%}
a{color:var(--cite);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
section{padding:72px 0}
.eyebrow{font-family:var(--mono);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--rank);display:block;margin-bottom:12px}
h1,h2,h3{font-family:var(--display);line-height:1.15;letter-spacing:-.01em}
h2{font-size:clamp(1.6rem,3.2vw,2.2rem);font-weight:800;margin-bottom:16px}
h3{font-size:1.05rem;font-weight:700}
.lead{font-size:1.05rem;color:var(--muted);max-width:62ch}
strong{color:var(--ink)}

/* NAV */
nav{position:sticky;top:0;z-index:50;background:rgba(245,247,246,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{font-family:var(--display);font-weight:800;font-size:1.05rem;color:var(--ink)}
.logo span{color:var(--rank)}
.nav-links{display:flex;gap:26px;font-size:.86rem;font-weight:500}
.nav-links a{color:var(--ink)}
.nav-links a:hover{color:var(--rank);text-decoration:none}
.nav-cta{background:var(--ink);color:#fff !important;padding:9px 18px;border-radius:8px;font-weight:600}
.nav-cta:hover{background:var(--rank);text-decoration:none !important}
@media(max-width:760px){.nav-links a:not(.nav-cta){display:none}}

/* HERO — the SERP */
.hero{padding:64px 0 80px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
@media(max-width:880px){.hero-grid{grid-template-columns:1fr}}
.hero h1{font-size:clamp(2rem,4.6vw,3rem);font-weight:800;margin:14px 0 18px}
.hero h1 em{font-style:normal;color:var(--rank)}
.hero p{color:var(--muted);max-width:56ch;margin-bottom:26px}
.btn-row{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 24px;border-radius:10px;font-weight:600;font-size:.94rem}
.btn-dark{background:var(--ink);color:#fff}
.btn-dark:hover{background:var(--rank);text-decoration:none}
.btn-ghost{border:1.5px solid var(--ink);color:var(--ink)}
.btn-ghost:hover{border-color:var(--rank);color:var(--rank);text-decoration:none}

/* the signature: simulated search */
.serp{background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 50px -22px rgba(15,27,36,.25);overflow:hidden}
.serp-bar{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--line)}
.serp-dot{width:9px;height:9px;border-radius:50%;background:var(--line)}
.serp-input{flex:1;display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:9px 16px;font-family:var(--mono);font-size:.8rem;color:var(--ink)}
.serp-input svg{flex:none}
#typed::after{content:"|";animation:blink 1s step-end infinite;color:var(--rank)}
@keyframes blink{50%{opacity:0}}
.serp-body{padding:20px 22px 24px}
.ai-tag{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);background:var(--amber-soft);border-radius:6px;padding:4px 9px;margin-bottom:12px}
.ai-tag::before{content:"✦"}
.serp-ai{font-size:.88rem;color:var(--ink);border-left:3px solid var(--amber);padding-left:14px;margin-bottom:22px}
.serp-result .url{font-family:var(--mono);font-size:.72rem;color:var(--rank)}
.serp-result .title{color:var(--cite);font-weight:600;font-size:1rem;margin:3px 0 4px}
.serp-result .snip{font-size:.84rem;color:var(--muted)}
.serp-pos{display:inline-block;font-family:var(--mono);font-size:.68rem;color:#fff;background:var(--rank);border-radius:5px;padding:2px 8px;margin-bottom:8px}

/* STATS */
.stats{background:var(--ink);color:#fff;padding:44px 0}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
@media(max-width:760px){.stat-grid{grid-template-columns:repeat(2,1fr)}}
.stat b{display:block;font-family:var(--display);font-size:2.1rem;font-weight:800;color:#7BD3AE}
.stat span{font-size:.82rem;color:#B8C4CC}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:820px){.about-grid{grid-template-columns:1fr}}
.about p{margin-bottom:16px;color:#33434D}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.chip{font-family:var(--mono);font-size:.72rem;background:var(--rank-soft);color:var(--rank);border-radius:6px;padding:5px 10px}

/* SERVICES */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
@media(max-width:860px){.card-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.card-grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 22px;transition:transform .18s,box-shadow .18s}
.card:hover{transform:translateY(-3px);box-shadow:0 14px 32px -18px rgba(15,27,36,.25)}
.card .kw{font-family:var(--mono);font-size:.68rem;color:var(--rank);letter-spacing:.08em;text-transform:uppercase;display:block;margin-bottom:10px}
.card h3{margin-bottom:8px}
.card p{font-size:.87rem;color:var(--muted)}

/* FRAMEWORK */
.steps{counter-reset:step;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 22px;position:relative}
.step::before{counter-increment:step;content:"0" counter(step);font-family:var(--mono);font-size:.75rem;color:var(--amber);display:block;margin-bottom:10px}
.step p{font-size:.87rem;color:var(--muted);margin-top:6px}

/* TIMELINE */
.tl{margin-top:36px;border-left:2px solid var(--line);padding-left:28px}
.tl-item{position:relative;padding-bottom:34px}
.tl-item:last-child{padding-bottom:0}
.tl-item::before{content:"";position:absolute;left:-35px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--card);border:3px solid var(--rank)}
.tl-item.past::before{border-color:var(--line)}
.tl-date{font-family:var(--mono);font-size:.72rem;color:var(--muted)}
.tl-item h3{margin:4px 0 2px}
.tl-item .org{font-size:.88rem;color:var(--rank);font-weight:600}
.tl-item p{font-size:.88rem;color:var(--muted);margin-top:8px;max-width:64ch}

/* CLIENTS */
.clients{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.client-cloud{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:30px}
.client-cloud span{font-family:var(--display);font-weight:700;font-size:.92rem;color:#33434D;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:9px 16px}

/* CASE STUDIES */
.cs{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:0;margin-top:36px;overflow:hidden}
.cs + .cs{margin-top:24px}
.cs-head{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:26px 28px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#FBFCFC,#F5F7F6)}
@media(max-width:700px){.cs-head{grid-template-columns:1fr}}
.cs-tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--amber);display:block;margin-bottom:8px}
.cs-head h3{font-size:1.2rem;font-weight:800;max-width:34ch}
.cs-metric{text-align:right}
@media(max-width:700px){.cs-metric{text-align:left}}
.cs-metric b{display:block;font-family:var(--display);font-size:2.6rem;font-weight:800;color:var(--rank);line-height:1}
.cs-metric span{font-size:.78rem;color:var(--muted)}
.cs-body{padding:24px 28px 28px}
.cs-intro{font-size:.92rem;color:#33434D;max-width:78ch;margin-bottom:22px}
.cs-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;counter-reset:cstep}
@media(max-width:760px){.cs-steps{grid-template-columns:1fr}}
.cs-step{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 18px}
.cs-step::before{counter-increment:cstep;content:counter(cstep,decimal-leading-zero);font-family:var(--mono);font-size:.72rem;color:var(--amber);display:block;margin-bottom:8px}
.cs-step h4{font-family:var(--display);font-size:.92rem;font-weight:700;margin-bottom:6px}
.cs-step p{font-size:.84rem;color:var(--muted)}

/* GLANCE */
.glance{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
@media(max-width:860px){.glance{grid-template-columns:1fr}}
.g-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px}
.g-card h3{font-size:.8rem;font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--rank);margin-bottom:14px;font-weight:500}
.g-row{display:flex;justify-content:space-between;gap:12px;font-size:.86rem;padding:7px 0;border-bottom:1px dashed var(--line)}
.g-row:last-child{border-bottom:none}
.g-row b{font-weight:600;text-align:right}
.g-row span{color:var(--muted)}

/* FAQ */
.faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.faq-item summary{cursor:pointer;padding:18px 22px;font-weight:600;font-size:.95rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";font-family:var(--mono);color:var(--rank);font-size:1.1rem;flex:none}
.faq-item[open] summary::after{content:"–"}
.faq-item .a{padding:0 22px 20px;font-size:.9rem;color:var(--muted)}

/* CONTACT */
.contact{background:var(--ink);color:#fff;border-radius:0}
.contact h2{color:#fff}
.contact .lead{color:#B8C4CC}
.contact-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.contact-row a{display:inline-flex;align-items:center;gap:8px;background:#1B2B37;border:1px solid #2C4152;color:#fff;border-radius:10px;padding:13px 22px;font-weight:600;font-size:.92rem}
.contact-row a:hover{background:var(--rank);border-color:var(--rank);text-decoration:none}

footer{padding:28px 0;font-size:.8rem;color:var(--muted);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
@media (prefers-reduced-motion: reduce){
  #typed::after{animation:none}
  .card:hover,.step:hover{transform:none}
}

/* PORTRAIT */
.portrait{margin-top:28px;max-width:340px}
.portrait img{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--line);box-shadow:0 18px 44px -20px rgba(15,27,36,.3)}
.portrait figcaption{font-family:var(--mono);font-size:.7rem;color:var(--muted);margin-top:10px;letter-spacing:.06em}
