/* Felix Keuya site-wide layout, personal brand and portrait system */
:root{
  --site-max:1220px;
  --site-gutter:clamp(20px,4vw,48px);
  --section-space:clamp(72px,8vw,108px);
  --card-radius:2px;
  --navy:#071f35;
  --navy-2:#0b2a47;
  --navy-3:#123c5a;
  --ink:#102331;
  --muted:#5b6f79;
  --paper:#f7faf8;
  --paper-2:#eaf3f0;
  --white:#ffffff;
  --line:#d4e3de;
  --line-dark:rgba(255,255,255,.13);
  --amber:#149a72;
  --amber-light:#55c8a6;
  --amber-deep:#0b755b;
  --success:#17855f;
  --brand-blue:#1e5f91;
  --brand-green:#149a72;
  --brand-mint:#55c8a6;
  --shadow:0 20px 54px rgba(7,31,53,.12);
}

.container,.nav-inner{width:min(calc(100% - (var(--site-gutter) * 2)),var(--site-max));margin-inline:auto}
.section{padding-block:var(--section-space)}
.page-hero>.container,.client-hero>.container,.energy-band>.container,.cta-band>.container{width:min(calc(100% - (var(--site-gutter) * 2)),var(--site-max))}
body{background:var(--paper)}
::selection{background:var(--brand-mint);color:var(--navy)}

.client-section-heading,.section-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:clamp(28px,5vw,64px);align-items:end;margin-bottom:clamp(30px,4vw,48px)}
.client-section-heading h2,.section-heading h2{margin-bottom:0;max-width:820px;text-wrap:balance}
.client-section-heading>p,.section-heading>p{margin:0;max-width:420px;justify-self:end}

#nav{background:color-mix(in srgb,var(--paper) 94%,transparent);border-bottom-color:var(--line)}
.nav-logo,.footer-logo{display:inline-flex;align-items:center;gap:0;font-family:var(--serif);font-size:1.18rem;font-weight:560;line-height:1;letter-spacing:-.025em;white-space:nowrap;text-decoration:none}
.nav-logo{color:var(--ink)}
.footer-logo{color:#fff}
.nav-logo::before,.nav-logo::after,.footer-logo::before,.footer-logo::after{content:none!important;display:none!important}
.logo-dot{display:none!important}
.nav-cta{border-color:var(--brand-blue);color:var(--brand-blue)!important}
.nav-cta:hover{background:var(--brand-blue);color:#fff!important}

.hero,.page-hero,.client-hero,.case-hero-authentic{background-color:var(--navy)}
.client-hero::after,.page-hero::after{background:linear-gradient(90deg,rgba(7,31,53,.98) 0%,rgba(7,31,53,.86) 48%,rgba(7,31,53,.52) 100%)}
.case-hero-authentic h1{color:#fff}
.case-hero-authentic .case-deck{color:#b8c7d2}
.case-hero-authentic .case-label{color:var(--brand-mint)}
.case-meta-line span{color:#fff;border-color:rgba(255,255,255,.22);background:rgba(255,255,255,.06)}
.kicker,.section-dark .index{color:var(--brand-mint)}
.index,.card-tag,.text-link,.step-num{color:var(--amber-deep)}
h1 em,h2 em{color:var(--brand-mint)}
.btn-primary{background:var(--brand-green);color:#fff}
.btn-primary:hover{background:#1eaa80;color:#fff;box-shadow:0 12px 30px rgba(20,154,114,.25)}
.btn-ghost:hover{border-color:var(--brand-mint);color:var(--brand-mint)}
.btn-dark{background:var(--brand-blue);color:#fff}
.btn-dark:hover{background:var(--navy-3)}
.trust-line span::before,.check-list li::before{color:var(--brand-green)}
.featured-card,.pricing-card.featured,.engagement-card.featured{border-color:var(--brand-green)}
.pricing-badge,.energy-case-label{background:var(--brand-green);color:#fff}

.client-hero-grid{grid-template-columns:minmax(0,760px) minmax(300px,380px);justify-content:space-between;align-items:center}
.hero-analyst-card{position:relative;z-index:3;justify-self:end;width:min(100%,370px);padding:14px;overflow:hidden;border:1px solid rgba(85,200,166,.32);background:rgba(7,31,53,.93);box-shadow:0 30px 76px rgba(3,18,31,.42);backdrop-filter:blur(14px)}
.hero-analyst-card::before{content:"";position:absolute;z-index:4;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-green))}
.hero-analyst-photo{position:relative;overflow:hidden;aspect-ratio:4/5;background:linear-gradient(145deg,var(--navy-2),var(--navy-3));border:1px solid rgba(255,255,255,.10)}
.hero-analyst-photo img,.portrait img{width:100%;height:100%;display:block;image-rendering:auto;object-fit:cover;object-position:center 18%;filter:contrast(1.06) saturate(1.08);transform:translateZ(0)}
.hero-analyst-photo::after{content:"";position:absolute;inset:auto 0 0;height:22%;pointer-events:none;background:linear-gradient(to top,rgba(7,31,53,.26),transparent)}
.hero-analyst-card figcaption{padding:18px 8px 8px}
.hero-analyst-card h2{margin:0;color:#fff;font-size:1.7rem}
.hero-analyst-role{margin:5px 0 0;color:#c7d5df;font-size:.82rem;line-height:1.5}
.hero-analyst-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.hero-analyst-meta span{padding:7px 9px;border:1px solid rgba(85,200,166,.22);color:#d7e1e8;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em}
.hero-analyst-links{display:flex;gap:10px;margin-top:16px}
.hero-analyst-links a{flex:1;min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:.76rem;font-weight:700}
.hero-analyst-links a:first-child{background:var(--brand-green);border-color:var(--brand-green);color:#fff}
.portrait::after{border-color:var(--brand-green)}

.energy-case-grid,.pricing-grid,.engagement-grid,.client-problem-grid,.sample-grid,.case-index-grid,.process-short,.standards-grid{align-items:stretch}
.energy-case-card,.pricing-card,.engagement-card,.client-problem,.sample-card,.case-index-card,.process-short article,.standards-grid article{height:100%;border-radius:var(--card-radius);border-color:var(--line)}
.energy-case-body,.sample-card,.case-index-card,.engagement-card,.pricing-card{display:flex;flex-direction:column}
.energy-case-body .project-link,.sample-card .project-link,.sample-card .btn,.case-index-card .project-link,.engagement-card .btn,.pricing-card .btn{margin-top:auto}
.energy-band::after{background:linear-gradient(90deg,rgba(7,31,53,.96),rgba(11,42,71,.84),rgba(20,154,114,.20))}
.cta-band{background:linear-gradient(135deg,var(--navy-3),var(--navy))}
footer{background:#051726}
.footer-grid a:hover{color:var(--brand-mint)}

/* Keep direct contact details private until a visitor chooses an action. */
a[href^="mailto:"],a[href^="tel:"]{font-size:0!important;text-decoration:none}
a[href^="mailto:"]::after,a[href^="tel:"]::after{display:inline-flex;align-items:center;gap:.45rem;font-size:.86rem;font-weight:650;line-height:1.4;letter-spacing:0}
a[href^="mailto:"]::after{content:"Email Felix ↗"}
a[href^="tel:"]::after{content:"Call Felix ↗"}

@media(max-width:1000px){.client-section-heading,.section-heading{grid-template-columns:1fr;gap:16px;align-items:start}.client-section-heading>p,.section-heading>p{justify-self:start;max-width:720px}.client-hero-grid{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:36px;align-items:start}}
@media(max-width:820px){.client-hero-grid{grid-template-columns:1fr}.hero-analyst-card{justify-self:start;width:min(100%,340px)}}
@media(max-width:760px){:root{--site-gutter:20px;--section-space:64px}.nav-logo,.footer-logo{font-size:1.05rem}.hero-actions,.cta-actions{width:100%}.hero-actions .btn,.cta-actions .btn{width:100%}.hero-analyst-card{width:100%}.hero-analyst-links{flex-direction:column}.hero-analyst-photo{aspect-ratio:4/5}}
