
/* HADVEN enhancement layer - projects + case studies + team */
:root { --hadven-gold-soft:#efe5c4; --hadven-ink:#122640; }
.project-v3-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.project-v3-card { background:#fff; border:1px solid var(--gray-200); border-radius:14px; overflow:hidden; display:flex; flex-direction:column; min-width:0; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
.project-v3-card:hover { transform:translateY(-4px); box-shadow:0 16px 44px rgba(11,31,58,.11); border-color:rgba(201,168,76,.42); }
.project-v3-card--documented { box-shadow:0 8px 30px rgba(11,31,58,.06); }
.project-v3-media { height:220px; position:relative; overflow:hidden; background:#0b1f3a; }
.project-v3-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.project-v3-card:hover .project-v3-media img { transform:scale(1.025); }
.project-v3-media-label { position:absolute; left:14px; bottom:14px; background:rgba(7,21,41,.78); color:#fff; border:1px solid rgba(255,255,255,.16); border-radius:999px; padding:6px 10px; font:700 .66rem/1 Montserrat,sans-serif; text-transform:uppercase; letter-spacing:.07em; }
.project-v3-media--blueprint { background:linear-gradient(135deg,#071529,#18314f); display:flex; align-items:center; justify-content:center; }
.blueprint-lines,.blueprint-lines::before,.blueprint-lines::after { position:absolute; inset:22px; border:1px solid rgba(201,168,76,.16); content:""; }
.blueprint-lines::before { inset:18px; border-left:0; border-right:0; }
.blueprint-lines::after { inset:56px 20px; border-top:0; border-bottom:0; }
.blueprint-code { position:relative; z-index:1; color:rgba(255,255,255,.72); font:800 .78rem/1 Montserrat,sans-serif; letter-spacing:.16em; text-transform:uppercase; }
.project-v3-content { padding:22px 22px 20px; display:flex; flex-direction:column; flex:1; }
.project-v3-tags { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:14px; }
.project-v3-tag { padding:5px 9px; border-radius:999px; background:var(--navy); color:#fff; font:700 .62rem/1.1 Montserrat,sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.project-v3-tag--light { background:#f4f5f7; color:var(--navy); border:1px solid var(--gray-200); }
.project-v3-content h3 { font-size:1.05rem; line-height:1.34; color:var(--navy); margin-bottom:8px; }
.project-v3-client { font-size:.74rem; font-weight:700; color:var(--text-muted); margin-bottom:8px; }
.project-v3-location { font-size:.76rem; color:var(--gold-dark); font-weight:700; letter-spacing:.02em; margin-bottom:10px; }
.project-v3-description { font-size:.86rem; line-height:1.65; color:var(--text-muted); margin:0 0 18px; }
.project-v3-action { margin-top:auto; padding-top:16px; border-top:1px solid var(--gray-200); }
.project-v3-link { display:inline-flex; align-items:center; gap:6px; font:700 .76rem/1.2 Montserrat,sans-serif; color:var(--navy); text-transform:uppercase; letter-spacing:.06em; }
.project-v3-link:hover { color:var(--gold-dark); }
.projects-v3-intro { display:grid; grid-template-columns:minmax(0,1fr) 180px; gap:28px; align-items:end; margin-bottom:32px; }
.projects-v3-proof { border-left:3px solid var(--gold); padding:14px 0 14px 18px; display:flex; flex-direction:column; gap:4px; }
.projects-v3-proof strong { font:800 2.7rem/1 Montserrat,sans-serif; color:var(--navy); }
.projects-v3-proof span { font-size:.76rem; color:var(--text-muted); }
.projects-v3-filter-panel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)) auto; gap:12px; padding:18px; background:#f8f8f6; border:1px solid var(--gray-200); border-radius:12px; margin-bottom:10px; }
.filter-field { display:flex; flex-direction:column; gap:7px; }
.filter-field label { font:700 .66rem/1 Montserrat,sans-serif; color:var(--navy); text-transform:uppercase; letter-spacing:.08em; }
.filter-field select,.filter-reset { min-height:44px; border:1px solid #d9dde4; border-radius:8px; background:#fff; padding:0 12px; font:500 .84rem/1.2 Inter,sans-serif; color:var(--navy); }
.filter-reset { align-self:end; cursor:pointer; font-weight:700; }
.filter-reset:hover { border-color:var(--navy); }
.projects-v3-count { color:var(--text-muted); font-size:.78rem; margin:0 0 24px; }
.project-v3-card.hidden { display:none; }
.project-trust-band { background:var(--navy-deep); }
.project-trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.1); }
.project-trust-grid > div { background:var(--navy-deep); padding:24px; }
.project-trust-grid strong { display:block; color:var(--gold-light); font:800 .82rem/1.2 Montserrat,sans-serif; text-transform:uppercase; letter-spacing:.08em; margin-bottom:8px; }
.project-trust-grid span { display:block; color:rgba(255,255,255,.66); font-size:.82rem; line-height:1.6; }
/* case study */
.case-hero { background:var(--navy); color:#fff; padding:56px 0 64px; position:relative; overflow:hidden; }
.case-hero::after { content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,var(--gold),transparent 75%); }
.case-hero .breadcrumb { display:flex; flex-wrap:wrap; gap:8px; color:rgba(255,255,255,.56); font-size:.78rem; margin-bottom:28px; }
.case-hero .breadcrumb a:hover { color:var(--gold-light); }
.case-hero-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px, .92fr); gap:48px; align-items:center; }
.case-hero h1 { color:#fff; font-size:clamp(2rem,4vw,3.7rem); max-width:760px; margin:12px 0 18px; }
.case-hero .section-label { color:var(--gold-light); }
.case-hero-lead { color:rgba(255,255,255,.74); max-width:680px; font-size:1.03rem; line-height:1.75; }
.case-meta-row { margin-top:28px; display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.case-meta-row div { border-top:1px solid rgba(255,255,255,.13); padding-top:12px; }
.case-meta-row span,.case-facts span { display:block; color:rgba(255,255,255,.46); font:700 .62rem/1 Montserrat,sans-serif; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px; }
.case-meta-row strong { display:block; color:#fff; font-size:.8rem; line-height:1.4; }
.case-hero-art { position:relative; border:1px solid rgba(255,255,255,.14); border-radius:14px; overflow:hidden; box-shadow:0 18px 52px rgba(0,0,0,.24); }
.case-hero-art img { display:block; width:100%; height:auto; background:#fff; }
.image-caption { position:absolute; left:0; right:0; bottom:0; padding:11px 14px; background:linear-gradient(transparent,rgba(7,21,41,.9)); color:rgba(255,255,255,.78); font-size:.7rem; line-height:1.4; padding-top:30px; }
.case-layout { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:48px; }
.case-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; background:var(--gray-200); margin:26px 0 26px; border:1px solid var(--gray-200); }
.case-facts div { background:#fff; padding:18px 20px; }
.case-facts span { color:var(--text-muted); }
.case-facts strong { display:block; color:var(--navy); font-size:.9rem; line-height:1.45; }
.case-copy { color:var(--text-muted); line-height:1.85; font-size:.95rem; }
.case-callout { margin-top:28px; padding:20px 22px; border:1px solid rgba(201,168,76,.36); background:#fbf8ef; border-radius:10px; }
.case-callout .section-label { color:var(--gold-dark); }
.case-callout p { margin:10px 0 0; color:#5a6478; font-size:.82rem; line-height:1.7; }
.sidebar-card { background:var(--navy); padding:24px; border-radius:12px; box-shadow:0 16px 36px rgba(11,31,58,.14); position:sticky; top:96px; }
.sidebar-card .section-label { color:var(--gold-light); }
.sidebar-card h3 { color:#fff; font-size:1.28rem; margin:10px 0; }
.sidebar-card p { color:rgba(255,255,255,.68); font-size:.82rem; line-height:1.7; margin-bottom:18px; }
.case-scope { border:1px solid var(--gray-200); border-radius:12px; background:#fff; }
.case-scope ul { list-style:none; margin:0; padding:0; }
.case-scope li { position:relative; padding:16px 18px 16px 42px; border-bottom:1px solid var(--gray-200); color:var(--text-muted); font-size:.9rem; line-height:1.65; }
.case-scope li:last-child { border-bottom:0; }
.case-scope li::before { content:""; position:absolute; left:18px; top:23px; width:10px; height:10px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(201,168,76,.12); }
.case-evidence { margin-top:14px; color:var(--text-muted); font-size:.76rem; }
.timeline { border-top:1px solid var(--gray-200); }
.timeline-row { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:30px; padding:17px 0; border-bottom:1px solid var(--gray-200); align-items:center; }
.timeline-row strong { color:var(--navy); display:block; font-size:.9rem; margin-bottom:4px; }
.timeline-row span,.timeline-row em { color:var(--text-muted); font-size:.8rem; line-height:1.5; font-style:normal; }
.timeline-row em { text-align:right; }
.schedule-figure { margin:0; border:1px solid var(--gray-200); border-radius:12px; background:#fff; overflow:hidden; }
.schedule-figure img { width:100%; height:auto; display:block; }
.schedule-figure figcaption { padding:13px 15px; color:var(--text-muted); font-size:.74rem; line-height:1.55; border-top:1px solid var(--gray-200); }
.related-case { display:grid; grid-template-columns:1fr; gap:20px; }
.related-links { display:flex; flex-wrap:wrap; gap:8px; }
.mini-link { padding:9px 12px; border:1px solid var(--gray-200); border-radius:999px; font-size:.72rem; font-weight:700; color:var(--navy); }
.mini-link:hover { border-color:var(--gold); }
.team-v3 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.team-v3-card { display:grid; grid-template-columns:72px 1fr; gap:18px; padding:24px; border:1px solid var(--gray-200); border-radius:12px; background:#fff; }
.team-v3-monogram { width:72px; height:72px; border-radius:50%; background:var(--navy); color:var(--gold-light); display:flex; align-items:center; justify-content:center; font:800 1.15rem/1 Montserrat,sans-serif; }
.team-v3-card h3 { color:var(--navy); font-size:1.12rem; margin-bottom:4px; }
.team-v3-role { color:var(--gold-dark); font:700 .68rem/1.2 Montserrat,sans-serif; text-transform:uppercase; letter-spacing:.08em; margin-bottom:9px; }
.team-v3-card p { color:var(--text-muted); font-size:.84rem; line-height:1.7; }
.answer-briefs .faq-lite { border-top:1px solid var(--gray-200); }
.faq-lite details { border-bottom:1px solid var(--gray-200); }
.faq-lite summary { cursor:pointer; padding:16px 0; font-weight:700; color:var(--navy); list-style:none; }
.faq-lite summary::-webkit-details-marker { display:none; }
.faq-lite summary::after { content:'+'; float:right; color:var(--gold-dark); font-size:1.1rem; }
.faq-lite details[open] summary::after { content:'−'; }
.faq-lite p { padding:0 34px 18px 0; margin:0; color:var(--text-muted); font-size:.86rem; line-height:1.7; }
.california-resource-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.california-resource-card { display:flex; flex-direction:column; gap:9px; padding:22px; background:#fff; border:1px solid var(--gray-200); border-radius:12px; }
.california-resource-card h3 { font-size:.98rem; color:var(--navy); }
.california-resource-card p { font-size:.8rem; line-height:1.6; color:var(--text-muted); }
.california-resource-card a { margin-top:auto; font:700 .7rem/1.2 Montserrat,sans-serif; color:var(--gold-dark); text-transform:uppercase; letter-spacing:.06em; }
@media (max-width: 1024px) { .project-v3-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.case-hero-grid{grid-template-columns:1fr;}.case-hero-art{max-width:850px;}.case-layout{grid-template-columns:1fr;}.sidebar-card{position:static;}.california-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width: 720px) { .projects-v3-intro{grid-template-columns:1fr;}.projects-v3-proof{max-width:190px;}.projects-v3-filter-panel{grid-template-columns:1fr;}.project-v3-grid{grid-template-columns:1fr;}.project-trust-grid{grid-template-columns:1fr;}.case-meta-row{grid-template-columns:1fr;}.case-facts{grid-template-columns:1fr;}.timeline-row{grid-template-columns:1fr;gap:6px;}.timeline-row em{text-align:left;}.team-v3{grid-template-columns:1fr;}.california-resource-grid{grid-template-columns:1fr;}}
@media (prefers-reduced-motion: reduce) { .project-v3-card,.project-v3-media img{transition:none;}.project-v3-card:hover{transform:none;}.project-v3-card:hover .project-v3-media img{transform:none;} }

.seo-two-col { display:grid; grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:56px; align-items:start; }
.seo-page-copy { color:var(--text-muted); font-size:1rem; line-height:1.85; margin:0 0 18px; }
.seo-signal-list { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.seo-signal-list li { padding:11px 14px 11px 34px; position:relative; border:1px solid var(--gray-200); border-radius:9px; background:#fff; color:var(--text-muted); font-size:.82rem; }
.seo-signal-list li::before { content:'+'; position:absolute; left:12px; top:10px; color:var(--gold-dark); font-weight:800; }
@media (max-width:720px){.seo-two-col{grid-template-columns:1fr;gap:22px}.seo-signal-list{grid-template-columns:1fr}}

/* Portfolio filters */
.projects-v3-filter-panel{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end;margin:28px 0 10px;padding:18px;border:1px solid #dfe4e9;background:#fff;border-radius:14px;box-shadow:0 8px 24px rgba(16,40,68,.05)}
.projects-v3-filter-panel .filter-field{min-width:0}
.projects-v3-filter-panel label{display:block;margin:0 0 7px;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#526174}
.projects-v3-filter-panel select{width:100%;min-height:44px;padding:0 36px 0 12px;border:1px solid #cbd3dc;border-radius:8px;background:#fff;color:#14263c;font:inherit;font-size:.9rem}
.projects-v3-filter-panel .filter-reset{min-height:44px;border:1px solid #14263c;border-radius:8px;background:#14263c;color:#fff;padding:0 14px;font:inherit;font-size:.82rem;font-weight:800;cursor:pointer}
.projects-v3-filter-panel .filter-reset:hover{background:#1b3555}
.projects-v3-count{margin:10px 0 24px;font-size:.82rem;font-weight:700;color:#657387}
@media(max-width:1050px){.projects-v3-filter-panel{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.projects-v3-filter-panel{grid-template-columns:1fr;padding:14px;}}

/* Projects: accessible zero-results state */
.project-filter-empty{margin-top:32px;padding:48px 28px;text-align:center;border:1px solid #dfe4e9;border-radius:18px;background:#fff;}
.project-filter-empty[hidden]{display:none;}
.project-filter-empty h3{margin:0 0 8px;color:var(--navy,#102844);font-size:1.25rem;}
.project-filter-empty p{margin:0 auto 20px;max-width:520px;color:var(--text-muted,#5f6b7a);line-height:1.7;}
