@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;1,600&display=swap');
:root{--ink:#101318;--muted:#66707b;--line:#dce2e8;--paper:#f7f8f6;--navy:#071b33;--blue:#155da8;--accent:#a9d2ff;--warm:#f2eee7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}body.no-scroll{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:sticky;top:0;z-index:30;display:flex;justify-content:space-between;align-items:center;padding:18px 5vw;border-bottom:1px solid rgba(16,19,24,.08);background:rgba(247,248,246,.9);backdrop-filter:blur(16px)}.brand{font-weight:800;letter-spacing:.12em}.brand span{color:var(--blue)}.nav{display:flex;gap:28px;font-size:14px}.nav a{position:relative}.nav a.active{color:var(--blue);font-weight:700}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:var(--blue)}.menu-toggle{display:none;border:0;background:none;font-size:24px}
.hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.15fr .85fr;gap:5vw;align-items:center;padding:7vw 8vw}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.16em;color:var(--blue);margin:0 0 20px}.hero h1{font-size:clamp(44px,6.2vw,88px);line-height:1.02;letter-spacing:-.055em;margin:0 0 28px;max-width:900px}.hero h1 em,.contact em{font-family:"Playfair Display",serif;font-weight:600}.hero-sub{font-weight:800;font-size:15px;letter-spacing:.09em}.lead{color:var(--muted);max-width:690px;font-size:17px}.actions{display:flex;gap:12px;margin-top:34px}.btn{padding:13px 22px;border-radius:999px;font-weight:700;font-size:14px}.primary{background:var(--ink);color:white}.ghost{border:1px solid var(--ink)}.hero-visual{position:relative;display:flex;justify-content:center}.portrait-placeholder{width:min(400px,75vw);aspect-ratio:4/5;border-radius:220px 220px 28px 28px;background:linear-gradient(145deg,#dbe8f7,#eef2f4);display:grid;place-items:center;text-align:center;font-size:13px;letter-spacing:.15em;color:#6b7784}.floating-note{position:absolute;bottom:7%;right:0;background:white;border:1px solid var(--line);padding:18px 22px;border-radius:16px;box-shadow:0 20px 50px rgba(0,0,0,.08);font-size:12px;line-height:1.35}.floating-note strong{font-size:17px}
.statement{padding:9vw 8vw;background:#e8eef5}.statement h2{font-size:clamp(34px,5vw,70px);line-height:1.05;letter-spacing:-.04em;margin:0}.statement h2 span{color:var(--navy)}
.section{display:grid;grid-template-columns:18% 82%;padding:9vw 8vw;border-bottom:1px solid var(--line)}.section-label{font-size:12px;font-weight:800;letter-spacing:.14em;color:var(--muted)}.section-content{max-width:1150px}.section h2{font-size:clamp(34px,4.7vw,64px);line-height:1.05;letter-spacing:-.045em;margin:0 0 42px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:5vw;color:var(--muted);font-size:17px}.two-col strong{color:var(--ink)}.dark{background:var(--ink);color:white}.dark .eyebrow,.dark .section-label{color:var(--accent)}.skill-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #34383e}.skill-grid article{padding:28px 25px 30px 0;border-bottom:1px solid #34383e}.skill-grid article:nth-child(even){padding-left:25px;border-left:1px solid #34383e}.skill-grid span{font-size:12px;color:#9299a3}.skill-grid h3{font-size:23px;margin:8px 0}.skill-grid p{color:#aeb4bc;margin:0}
.project-intro{font-size:20px;max-width:900px;color:var(--muted)}.project-feature{margin-top:45px;padding:38px;border:1px solid var(--line);border-radius:24px;background:white}.project-feature.featured{box-shadow:0 25px 70px rgba(7,27,51,.08)}.secondary-project{margin-top:20px;background:#f1f4f7}.project-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px}.project-number{display:block;font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.12em;margin-bottom:8px}.project-heading h3{font-size:clamp(34px,4vw,56px);line-height:1;letter-spacing:-.04em;margin:0}.project-role{font-size:12px;font-weight:700;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:9px 13px;white-space:nowrap}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:38px 0}.metrics div{background:#fafbfc;border:1px solid var(--line);padding:25px;border-radius:18px}.metrics strong{display:block;font-size:34px;color:var(--navy)}.metrics span{color:var(--muted);font-size:13px}.case-flow{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:18px;overflow:hidden}.case-flow div{padding:22px 12px;font-size:12px;border-right:1px solid var(--line)}.case-flow div:last-child{border-right:0}.case-flow b{font-size:13px}.case-box{margin-top:20px;background:var(--navy);color:white;border-radius:22px;padding:35px;display:grid;grid-template-columns:1fr 1fr;gap:50px}.case-box .eyebrow{color:var(--accent)}.case-box h3{font-size:28px;line-height:1.2}.case-box li{margin:8px 0}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.evidence-grid.one{grid-template-columns:1fr}.evidence-placeholder{min-height:240px;border:1px dashed #aeb5bd;border-radius:18px;display:grid;place-content:center;text-align:center;color:#737b85;font-size:13px;letter-spacing:.12em;background:#f5f6f5}.evidence-placeholder small{letter-spacing:0;font-size:11px}.note{font-size:12px;color:#8a919a;margin-top:20px}
.alt{background:#edf1f4}.timeline{display:flex;flex-direction:column}.job{display:grid;grid-template-columns:190px 1fr;gap:30px;padding:28px 0;border-top:1px solid var(--line)}.job h3{font-size:24px;margin:0}.job p{margin:4px 0;font-weight:700}.job span{color:var(--muted)}.date{font-size:12px;color:var(--blue);font-weight:800}.result{display:inline-block;margin-top:16px;padding:9px 12px;background:white;border-radius:10px;font-size:13px;font-weight:700}
.creative{background:var(--warm)}.gallery{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:15px}.gallery-card{min-height:250px;border:0;padding:0;cursor:pointer;background:none;text-align:inherit}.gallery-card.large{grid-row:span 2}.gallery-card.video{grid-column:2 / span 2;cursor:default}.media-placeholder,.video-placeholder{height:100%;min-height:250px;border:1px dashed #aeb5bd;border-radius:18px;display:grid;place-content:center;text-align:center;color:#737b85;font-size:13px;letter-spacing:.12em;background:#faf9f6;transition:.25s}.gallery-card:hover .media-placeholder{transform:translateY(-3px);box-shadow:0 15px 30px rgba(0,0,0,.06)}.media-placeholder small,.video-placeholder small{letter-spacing:0;font-size:11px}.creative-tags{margin-top:25px;color:var(--muted);font-size:13px}
/* ===== AI WORKFLOW ===== */
.ai-section{background:#f7f9fb}.ai-section h2 span{font-family:"Playfair Display",serif;font-weight:600}.ai-workflow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:45px}.ai-step{background:white;padding:28px;min-height:250px}.ai-step span{font-size:12px;font-weight:800;color:var(--blue);letter-spacing:.12em}.ai-step h3{font-size:24px;margin:12px 0 10px}.ai-step p{color:var(--muted);font-size:14px;margin:0 0 20px}.ai-step b{font-size:12px;color:var(--ink)}.ai-highlight{background:var(--navy);color:white}.ai-highlight span,.ai-highlight b{color:var(--accent)}.ai-highlight p{color:#c4ccd6}.ai-proof{margin-top:20px;padding:30px;border-radius:22px;background:var(--navy);color:white;display:grid;grid-template-columns:.8fr 1.2fr;gap:35px;align-items:center}.ai-proof .eyebrow{color:var(--accent);margin-bottom:10px}.ai-proof h3{font-size:25px;line-height:1.2;margin:0}.ai-proof-flow{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.ai-proof-flow span{border:1px solid #465568;border-radius:999px;padding:10px 13px;font-size:12px}.ai-proof-flow i{font-style:normal;color:#8fa4ba}.ai-stack{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-top:25px;color:var(--muted);font-size:12px}.ai-stack strong{color:var(--ink);margin-right:5px}.ai-stack span{border:1px solid var(--line);background:white;border-radius:999px;padding:9px 13px}

.tool-list{display:flex;flex-wrap:wrap;gap:10px}.tool-list span{border:1px solid var(--line);border-radius:999px;padding:10px 15px;font-size:13px;background:white}
.contact{padding:12vw 8vw;background:var(--navy);color:white;text-align:center}.contact .eyebrow{color:var(--accent)}.contact h2{font-size:clamp(45px,7vw,92px);line-height:1;letter-spacing:-.05em;margin:0 auto 25px}.contact p{color:#d0d8e2}.contact-links{display:flex;justify-content:center;gap:30px;margin-top:35px;flex-wrap:wrap}.contact-links a{border-bottom:1px solid #9eb6cf;padding-bottom:5px}footer{text-align:center;padding:25px;font-size:12px;color:#747b84}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:100;display:none;place-items:center;padding:5vw}.modal.open{display:grid}.modal img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:12px}.modal-close{position:absolute;top:20px;right:25px;color:white;background:none;border:0;font-size:42px;cursor:pointer}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.nav{display:none;position:absolute;top:69px;left:0;right:0;background:var(--paper);padding:20px 6vw;flex-direction:column;gap:15px;border-bottom:1px solid var(--line)}.nav.open{display:flex}.menu-toggle{display:block}.hero,.section{grid-template-columns:1fr}.hero{padding:16vw 6vw}.hero-visual{order:-1}.portrait-placeholder{width:65vw}.section{padding:15vw 6vw;gap:25px}.two-col,.skill-grid,.metrics,.case-box{grid-template-columns:1fr}.skill-grid article:nth-child(even){padding-left:0;border-left:0}.case-flow{grid-template-columns:1fr 1fr}.case-flow div{border-bottom:1px solid var(--line)}.job{grid-template-columns:1fr;gap:6px}.project-feature{padding:24px}.project-heading{flex-direction:column}.project-role{white-space:normal}.gallery{grid-template-columns:1fr 1fr}.gallery-card.large{grid-row:auto}.gallery-card.video{grid-column:1 / -1}.contact{padding:18vw 6vw}.contact-links{flex-direction:column;align-items:center}}

.project-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.project-link{font-size:12px;font-weight:700;color:var(--blue);border-bottom:1px solid #b9cde2;padding-bottom:2px}.tool-groups{display:grid;grid-template-columns:1fr;gap:22px}.tool-group{padding:25px 0;border-top:1px solid var(--line)}.tool-group h3{font-size:18px;margin:0 0 15px}.tool-group .tool-list{gap:9px}.tool-group .tool-list span{background:white}
@media(max-width:800px){.project-meta{justify-content:flex-start}.tool-groups{gap:10px}.ai-workflow{grid-template-columns:1fr}.ai-proof{grid-template-columns:1fr}.ai-proof-flow{justify-content:flex-start}}
/* =========================================================
   FINAL COLOR FIX — DARK SURFACES
   Loaded in style.css so no extra <link> is required.
   ========================================================= */

/* G Office implementation block */
.case-box,
.case-box *{
  color:#fff !important;
}
.case-box .eyebrow{
  color:#FF6A1A !important;
}
.case-box li::marker{
  color:#E85A17 !important;
}

/* AI workflow — Human Check */
.ai-highlight,
.ai-highlight *{
  color:#fff !important;
}
.ai-highlight{
  background:#071B33 !important;
  border-color:#071B33 !important;
}
.ai-highlight span,
.ai-highlight b{
  color:#FF7A3D !important;
}
.ai-highlight p{
  color:#D5DDE6 !important;
}

/* AI proof block */
.ai-proof,
.ai-proof *{
  color:#fff !important;
}
.ai-proof .eyebrow{
  color:#FF7A3D !important;
}
.ai-proof-flow span{
  color:#fff !important;
}
.ai-proof-flow i{
  color:#8FA4BA !important;
}

/* Any future navy cards using these existing portfolio classes */
.dark,
.dark *{
  color:#fff;
}
.dark .eyebrow,
.dark .section-label{
  color:#A9D2FF !important;
}
.dark .skill-grid p{
  color:#AEB4BC !important;
}

/* Contact */
.contact,
.contact *{
  color:#fff;
}
.contact .eyebrow{
  color:#FF7A3D !important;
}
.contact p{
  color:#D0D8E2 !important;
}
.contact-links a{
  color:#fff !important;
}
.contact-links a:hover{
  color:#FF8A55 !important;
}

/* Prevent heading overrides from turning dark-card text black */
.case-box h1,
.case-box h2,
.case-box h3,
.case-box h4,
.ai-highlight h1,
.ai-highlight h2,
.ai-highlight h3,
.ai-highlight h4,
.ai-proof h1,
.ai-proof h2,
.ai-proof h3,
.ai-proof h4{
  color:#fff !important;
}

/* FINAL SPECIFICITY LOCK */
html body .case-box,
html body .case-box h1,
html body .case-box h2,
html body .case-box h3,
html body .case-box h4,
html body .case-box p,
html body .case-box li{
  color:#fff !important;
}
html body .case-box .eyebrow{
  color:#FF6A1A !important;
}
html body .ai-highlight,
html body .ai-highlight h1,
html body .ai-highlight h2,
html body .ai-highlight h3,
html body .ai-highlight h4,
html body .ai-highlight p{
  color:#fff !important;
}
html body .ai-highlight p{
  color:#D5DDE6 !important;
}
html body .ai-highlight span,
html body .ai-highlight b{
  color:#FF7A3D !important;
}
html body .ai-proof,
html body .ai-proof h1,
html body .ai-proof h2,
html body .ai-proof h3,
html body .ai-proof p{
  color:#fff !important;
}
html body .ai-proof .eyebrow{
  color:#FF7A3D !important;
}
