/* Light frosted glass over the original spreadsheet film. */
:root { --ink:#202225; --paper:#f5f5f4; --muted:#585d63; --line:#d5d7da; --accent:#282c31; --lime:#e6e8eb; --text-accent:#286b70; }
body { background:var(--paper); color:var(--ink); }
.masthead { position:absolute; inset:22px auto auto 50%; transform:translateX(-50%); z-index:5; min-height:78px; padding:14px 20px 14px 26px; gap:2.5rem; border:1px solid rgba(255,255,255,.42); border-radius:18px; color:#252c32; background:rgba(235,241,245,.14); -webkit-backdrop-filter:blur(8px) saturate(110%); backdrop-filter:blur(8px) saturate(110%); box-shadow:0 10px 32px #20283318,inset 0 1px 0 #ffffff59; }
.brand { color:var(--text-accent); font-size:2rem; letter-spacing:-.075em; gap:.65rem; }
.brand span { color:var(--ink); font-size:.875rem; letter-spacing:.12em; }
.masthead .brand { color:var(--text-accent); }
.masthead nav { gap:1.8rem; font-size:.875rem; }
.masthead nav a { padding:.6rem 0; }
.masthead nav a:hover,.text-link:hover { color:var(--accent); }
.masthead nav a:hover,.hero-copy .text-link:hover { color:#174f54; }
.button { color:white; background:var(--accent); min-height:54px; padding:.9rem 1.5rem; gap:2rem; border-radius:10px; font-weight:600; transition:background .18s,transform .18s; }
.button:hover { background:#080a0d; transform:translateY(-2px); }
.button.small { min-height:46px; padding:.65rem 1rem; gap:1.25rem; font-size:.875rem; }
.masthead .button,.hero-copy .button { background:rgba(255,255,255,.46); color:#20262b; border-color:rgba(255,255,255,.55); box-shadow:0 3px 12px #2028330a; }
.masthead .button:hover,.hero-copy .button:hover { background:white; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px; }
.masthead a:focus-visible,.hero-copy a:focus-visible { outline-color:#286b70; }
.eyebrow { font-size:.875rem; font-weight:650; letter-spacing:.12em; margin-bottom:1.75rem; }
.hero { position:relative; isolation:isolate; overflow:hidden; display:flex; align-items:center; min-height:790px; min-height:min(940px,max(790px,100svh)); background:#cfd2d6; }
.hero-media,.hero-shade { position:absolute; inset:0; pointer-events:none; }
.hero-media { z-index:-2; }
.hero-media video { display:block; width:100%; height:100%; object-fit:cover; object-position:62% center; opacity:.48; filter:grayscale(1) contrast(.92); }
.hero-shade { z-index:-1; background:linear-gradient(0deg,var(--paper),transparent 24%),linear-gradient(90deg,rgba(245,245,244,.3),rgba(245,245,244,.08)); }
.hero-inner { position:relative; padding-block:150px 125px; }
.hero .eyebrow { color:#39474f; }
h1 { font-size:clamp(3rem,5.5vw,5rem); letter-spacing:-.055em; line-height:1.06; font-weight:500; margin-bottom:1.8rem; }
h1 span { display:block; }
h1 span:last-child { color:#286b70; }
@supports (background-clip:text) or (-webkit-background-clip:text) {
  h1 span:last-child { background:linear-gradient(105deg,#286b70 15%,#415b7c 95%); -webkit-background-clip:text; background-clip:text; color:transparent; }
}
.hero .intro { max-width:590px; font-size:1.0625rem; line-height:1.8; color:#39474f; margin:0; }
.actions { gap:2rem; margin-block:2rem 1rem; }
.text-link { font-weight:550; }
.hero-note { font-size:.875rem; color:#39474f; margin-top:1.15rem; }
.hero-foot { position:absolute; bottom:26px; left:50%; transform:translateX(-50%); display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:.875rem; color:#363b42; }
.motion-panel { display:flex; align-items:center; gap:.8rem; padding:.5rem .9rem; border:1px solid rgba(255,255,255,.8); border-radius:10px; background:rgba(247,249,251,.5); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); box-shadow:inset 0 1px 0 #fff; }
.motion-caption { font-size:.8125rem; }
h2 { font-size:clamp(2rem,3.5vw,3rem); letter-spacing:-.05em; font-weight:550; }
h3 { letter-spacing:-.025em; font-weight:600; }
.section { padding-block:5.5rem; }
.section-heading { grid-template-columns:.65fr 1.2fr 1fr; gap:2.5rem; margin-bottom:3rem; }
.section-heading .eyebrow { color:var(--accent); margin-top:.45rem; }
.section-heading > p:last-child { color:var(--muted); }
.services { gap:1.25rem; align-items:start; }
.service { padding:1.8rem; border:1px solid rgba(255,255,255,.95); border-radius:16px; background:linear-gradient(135deg,rgba(255,255,255,.66),rgba(234,237,240,.34)); -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); box-shadow:0 14px 35px #20242b09,inset 0 1px 0 #fff,0 0 0 1px #d3d6db66; }
.service-top { color:#5b6068; font-size:.875rem; margin-bottom:1.75rem; }
.num { color:var(--accent); font-variant-numeric:tabular-nums; font-weight:650; }
.service h3 { font-size:1.5rem; line-height:1.28; margin-bottom:1.1rem; }
.service > p { color:var(--muted); min-height:5.1rem; }
.deliverable { padding-block:1.15rem 1.35rem; }
.label { display:block; font-size:.8125rem; font-weight:700; letter-spacing:.1em; color:var(--accent); margin-bottom:.65rem; }
.deliverable p { margin:0; min-height:5rem; }
.service details { border-top:1px solid var(--line); }
.service summary { padding-top:1rem; font-size:.875rem; font-weight:600; }
.service details p { color:var(--muted); }
.quote-note { margin-top:2rem; border-top:1px solid var(--line); padding-block:1.2rem; }
.quote-note > summary { display:flex; justify-content:space-between; gap:1rem; font-weight:550; }
.quote-note > summary::-webkit-details-marker { display:none; }
.quote-note[open] > summary > span { transform:rotate(45deg); }
.quote-note > div { max-width:740px; padding-top:1.2rem; }
.quote-note .eyebrow { color:var(--accent); margin-bottom:.85rem; }
.quote-note h3 { font-size:1.6rem; line-height:1.2; margin:0; }
.smallprint { color:var(--muted); font-size:.875rem; }
.report-example { border-block:1px solid var(--line); padding-block:1.2rem; }
.report-example > summary { display:flex; justify-content:space-between; gap:1rem; font-weight:550; }
.report-example > summary::-webkit-details-marker { display:none; }
.report-example[open] > summary > span { transform:rotate(45deg); }
.report { border:1px solid var(--line); border-radius:14px; background:white; }
.report-note { font-size:.875rem; color:var(--muted); }
.report > a { color:var(--accent); }
.approach { background:var(--ink); color:white; padding-block:3.5rem; }
.approach > .wrap { border-top:1px solid #50555d; padding-top:3rem; }
.approach .section-heading,.past-work .section-heading { grid-template-columns:1fr 2fr; }
.approach .section-heading .eyebrow { color:var(--lime); }
.approach h2 span { color:#a1ced0; }
.approach .section-heading > p:last-child,.steps p { color:#c4c7cc; }
.steps { gap:2.5rem; }
.steps li > span { display:block; color:var(--lime); font-size:.875rem; border-top:1px solid #656a71; padding-top:1.25rem; margin-bottom:1.8rem; }
.steps h3 { font-size:1.2rem; }
.approach-note { color:#c4c7cc; font-size:.875rem; margin-top:3rem; padding-top:1.5rem; border-top:1px solid #50555d; }
.about { gap:5rem; }
.past-work { background:var(--ink); color:white; padding-bottom:0; }
.past-work .eyebrow { color:#a1ced0; }
.case-study { padding:0; }
.case-heading { padding-bottom:1.6rem; border-bottom:1px solid var(--line); }
.case-heading h3 { font-size:1.7rem; line-height:1.25; margin-bottom:0; }
.case-details { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2.5rem; padding-top:0; }
.case-details h4 { margin:0 0 .8rem; font-size:1rem; font-weight:600; }
.case-details p { color:#c4c7cc; margin:0; }
@media (max-width:760px) { .case-details { grid-template-columns:1fr; gap:1.5rem; } }
.about .eyebrow { color:var(--accent); }
.about-lead { font-size:1.3rem; line-height:1.65; }
.about p { line-height:1.8; }
.about .text-link { color:var(--accent); }
.about .smallprint { margin-top:1.3rem; }
.contact { gap:3rem; padding:3.5rem; margin-bottom:2.5rem; border-radius:20px; background:linear-gradient(120deg,#22262b,#373c43); color:white; border:1px solid #646970; box-shadow:0 20px 45px #20242b14,inset 0 1px 0 #ffffff30; }
.contact .eyebrow { color:#dadddf; }
.contact p { max-width:510px; color:#e2e5e8; }
.contact h2 { font-size:clamp(2rem,3.5vw,3rem); }
.button.light { background:var(--lime); color:var(--ink); }
.button.light:hover { background:#ffffff; }
.contact-actions > span { font-size:.8125rem; color:#e2e5e8; }
.contact a:focus-visible { outline-color:var(--lime); }
footer { font-size:.875rem; color:var(--muted); }
footer .brand { font-size:1.7rem; }
footer .brand span { font-size:.8125rem; }
/* The original film stays behind the content as a subdued decorative layer. */
.hero-copy { width:min(780px,72%); padding:2.7rem; border:1px solid rgba(255,255,255,.45); border-radius:22px; color:#20292f; background:linear-gradient(125deg,rgba(255,255,255,.18),rgba(214,224,231,.08)); -webkit-backdrop-filter:blur(6px) saturate(110%); backdrop-filter:blur(6px) saturate(110%); box-shadow:0 18px 52px #2228331c,inset 0 1px 0 #ffffff66; }
.hero-foot > span { padding:.5rem .85rem; background:#f7f8fa99; border:1px solid #ffffffb3; border-radius:9px; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
#services { background:radial-gradient(ellipse at 80% 40%,#dce0e57d,transparent 58%); }
@media (max-width:1050px) {
  .hero-copy { width:min(760px,88%); padding:2.2rem; }
  .wrap { width:calc(100% - 3rem); }
  .masthead { gap:1.5rem; }
  .section-heading { gap:1.5rem; grid-template-columns:.6fr 1.3fr 1fr; }
  .service { padding:1.4rem; }
  .service h3 { font-size:1.3rem; }
  .service h3 br { display:none; }
  .steps { gap:1.5rem; }
}
@media (max-width:760px) {
  .hero-copy { width:100%; padding:1.6rem; border-radius:18px; }
  .wrap { width:calc(100% - 2.5rem); }
  .masthead { top:14px; padding:14px 16px; min-height:0; gap:14px; flex-wrap:wrap; }
  .masthead nav { order:3; width:100%; margin:0; justify-content:space-between; border-top:1px solid #26343e1a; padding-top:.6rem; }
  .masthead > .button { margin-left:auto; min-height:44px; padding:.5rem .7rem; gap:.6rem; }
  .brand { font-size:1.75rem; gap:.45rem; }
  .brand span { font-size:.8125rem; letter-spacing:.08em; }
  .hero { min-height:790px; }
  .hero-inner { padding-block:190px 150px; }
  h1 { font-size:clamp(2.1rem,6.8vw,3.3rem); letter-spacing:-.045em; line-height:1.1; }
  .hero .eyebrow { font-size:.8125rem; max-width:25rem; }
  .hero .intro { font-size:1rem; max-width:33rem; }
  .actions { gap:1.3rem; }
  .hero-foot { flex-direction:column; align-items:flex-start; gap:.85rem; bottom:22px; }
  .hero-media video { object-position:70% center; }
  .hero-shade { background:linear-gradient(0deg,var(--paper),transparent 18%); }
  .section { padding-block:3.5rem; }
  .past-work { padding-bottom:0; }
  .section-heading { display:block; margin-bottom:2rem; }
  .section-heading .eyebrow { margin-bottom:1rem; }
  .section-heading h2 { margin-bottom:1.3rem; }
  .services { grid-template-columns:1fr; }
  .service { padding:1.6rem; }
  .service h3 { font-size:1.5rem; }
  .service > p,.deliverable p { min-height:0; }
  .deliverable { padding-top:.5rem; }
  .quote-note { padding-block:1.2rem; }
  .quote-note h3 br { display:none; }
  .approach { padding-block:3.5rem 2.5rem; }
  .steps { grid-template-columns:1fr 1fr; gap:2rem 1.5rem; }
  .steps li > span { margin-bottom:1.1rem; }
  .about { grid-template-columns:1fr; gap:1rem; }
  .contact { grid-template-columns:1fr; padding:2rem; gap:2rem; }
  footer { gap:1.2rem; }
  footer p { flex-basis:100%; order:4; }
}
@media (max-width:380px) {
  .hero-copy { padding:1.2rem; }
  .masthead { padding:12px; }
  .brand { font-size:1.5rem; }
  .brand span { font-size:.75rem; }
  .hero .eyebrow { max-width:16rem; }
  h1 { font-size:2rem; }
  .steps { grid-template-columns:1fr; }
  .contact { padding:1.5rem; }
  .report { padding:1.3rem; }
  .report-head,.report-total { flex-wrap:wrap; }
}
@media (prefers-reduced-motion:reduce) { .button { transition:none; } .button:hover { transform:none; } }
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) { .masthead,.hero-copy { background:#f0f3f5; } .motion-panel { background:#f4f5f6; } }
@media print {
  body { background:white; }
  .masthead { position:static; transform:none; background:white; color:var(--ink); box-shadow:none; }
  .masthead .brand,.hero-copy,.hero .eyebrow,.hero .intro,.hero-note { color:var(--ink); }
  h1 span:last-child { background:none; color:var(--ink); }
  .hero { min-height:0; background:white; }
  .hero-inner { padding-block:2rem; }
  .hero-copy { width:100%; padding:0; background:white; box-shadow:none; border:0; }
  .hero-media,.hero-shade,.hero-foot,.masthead nav,.button { display:none; }
  .approach,.contact,.past-work { background:white; color:var(--ink); }
  .past-work .eyebrow,.case-details p { color:var(--ink); }
  .approach p,.approach h2 span,.contact p { color:var(--ink)!important; }
  h1 { font-size:2.5rem; }
  .service { break-inside:avoid; }
}
