 :root{--blue:#4A7BD1; --blue-900:#0A2342; --gold:#C4B079; --gold-700:#A8965D; --ink:#E8EEF6; --muted:#B7C3D6; --bg:#0F1722; --card:#141B26; --ring:#3B82F6;}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; color:var(--ink); background:var(--bg); line-height:1.7}
img{max-width:100%; height:auto; display:block}
.container{width:min(1120px,92%); margin-inline:auto}
.skip-link{position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden}
.skip-link:focus{left:1rem; top:1rem; width:auto; height:auto; background:#fff; color:#000; padding:.5rem .75rem; border:2px solid var(--blue); z-index:9999}
.site-header{position:sticky; top:0; z-index:100; background:#0F1722; border-bottom:1px solid #1E2937}
.nav-wrap{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.5rem 0}
.brand{display:flex; align-items:center; gap:.75rem}
.brand img{height:160px; width:auto}
.brand-name{color:var(--ink); font-weight:700; letter-spacing:.2px; font-size:1.1rem; white-space:nowrap}
.nav ul{list-style:none; display:flex; gap:1rem; margin:0; padding:0}
.nav a{display:block; padding:.5rem .75rem; color:var(--ink); text-decoration:none; border-radius:.4rem; font-weight:500}
.nav a:hover{background:#1A2432; color:var(--gold)}
.nav a.active{color:#0F1722; background:var(--gold)}
.nav-toggle{display:none; background:none; border:none; font-size:1.5rem}
.hero{color:#fff; background:#0F1722; padding:6rem 0 4rem}
.hero-eyebrow{text-transform:uppercase; letter-spacing:.2em; font-size:.85rem; color:var(--gold); margin:0 0 .75rem; font-weight:600}
.hero h1{font-family:Merriweather, Georgia, serif; font-size:clamp(2.25rem,5vw,3.5rem); line-height:1.15; margin:0 0 1.25rem; max-width:16ch}
.lede{font-size:1.1rem; color:#EAF2FF; max-width:70ch}
.cta{margin-top:1.5rem; display:flex; gap:1rem; flex-wrap:wrap}
.btn{border-radius:.6rem; padding:.75rem 1rem; text-decoration:none; font-weight:600}
.btn-primary{background:var(--gold); color:#0E0A00}
.btn-primary:hover{background:var(--gold-700); color:#fff}
.btn-outline{border:2px solid var(--ink); color:var(--ink)}
.btn-outline:hover{background:var(--ink); color:#0F1722}
.cards{padding:3rem 0 4rem}
.grid{display:grid; gap:1.25rem; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr))}
.card{background:var(--card); border:1px solid #1E2937; border-radius:.9rem; padding:1.25rem; box-shadow:0 6px 20px rgba(0,0,0,.2)}
.card p{color:var(--muted)}
.card-link{font-weight:700; color:var(--gold); text-decoration:none}
.card-link:hover{text-decoration:underline}
.page-hero.small{background:linear-gradient(135deg,#101826,#0B1320); padding:3rem 0 2rem; border-bottom:1px solid #1E2937}
.page-hero .lede{color:#cfd7e6}
.about{padding:2rem 0 4rem}
.about-grid{display:grid; gap:2rem; grid-template-columns: 1fr 2fr}
.portrait img{border-radius:1rem; border:1px solid #223046; box-shadow:0 10px 30px rgba(0,0,0,.35)}
.about-content h2{margin-top:0}
.about-content ul{padding-left:1rem}
.about-content li{margin:.35rem 0}
.services{padding:2rem 0 4rem}
.svc{background:var(--card); border:1px solid #1E2937; border-radius:1rem; padding:1.5rem; margin:1rem 0}
.svc .tagline{color:var(--muted); margin-top:.5rem}
.svc h2 a{color:var(--ink); text-decoration:none}
.svc h2 a:hover{color:var(--gold)}
.site-footer{border-top:1px solid #1E2937; background:#0F1722; color:#B7C3D6}
.footer-grid{display:grid; gap:1.5rem; grid-template-columns: 1.2fr .8fr 1fr; align-items:center; padding:1.25rem 0}
.footer-mark{width:100px; height:100px}
.footer-links{display:flex; gap:1rem}
.footer-links a{text-decoration:none; color:var(--ink)}
.footer-links a:hover{color:var(--gold)}
.footer-note{justify-self:end}
/* Case Studies */
.cs-list{padding:2rem 0 4rem; display:grid; gap:1.25rem}
.cs-item{background:var(--card); border:1px solid #1E2937; border-radius:1rem; padding:1.25rem; box-shadow:0 6px 20px rgba(0,0,0,.25)}
.cs-item h2{margin-top:.25rem; font-size:1.25rem}
.cs-item .result{color:#E3D8B8; margin:.5rem 0 0}
/* Contact */
.contact-grid{display:grid; grid-template-columns:2fr 1fr; gap:1.5rem; padding:2rem 0 4rem}
.contact-info{display:flex; flex-direction:column; gap:1rem}
.contact-info h2{margin:0 0 .5rem}
.contact-info p{color:var(--muted); margin:0}
.contact-info .contact-email{margin-top:1rem}
.form .row{display:flex; flex-direction:column; gap:.4rem; margin:.75rem 0}
.form input,.form textarea{background:#0F1722; color:#E8EEF6; border:1px solid #223046; border-radius:.6rem; padding:.75rem}
.form input:focus,.form textarea:focus{outline:3px solid var(--ring); border-color:var(--ring)}
.panel{background:#0F1722; border:1px solid #223046; border-radius:1rem; padding:1rem}
.muted{color:#B7C3D6; font-size:.95rem}
/* Responsive */
@media (max-width:820px){.nav-toggle{display:block}.nav{display:none}.nav.open{display:block}.nav ul{flex-direction:column; background:#0F1722; padding:.5rem; border:1px solid #1E2937; border-radius:.6rem; position:absolute; right:4%; top:72px}.brand-name{display:none}.about-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-note{justify-self:start}.contact-grid{grid-template-columns:1fr}}
:focus{outline:3px solid var(--ring); outline-offset:2px}

@media (max-width:820px){.brand img{height:110px}}

.brand img{filter:brightness(1.08) contrast(1.05) saturate(1.12);}

.card{background:#111722;border:1px solid rgba(255,255,255,0.06);border-radius:1rem;padding:1.75rem 1.5rem;transition:all .25s ease;box-shadow:0 4px 14px rgba(0,0,0,.15)} .card:hover{border-color:var(--gold);transform:translateY(-4px);box-shadow:0 10px 30px rgba(0,0,0,.28)} .card h3,.svc h2 a{font-weight:700;color:#fff;margin-bottom:.75rem} .card p{color:var(--muted);font-size:1rem} .card-link{font-weight:600;color:var(--gold);text-decoration:none} .card-link:hover{text-decoration:underline}
