*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:var(--font-body);font-size:16px;line-height:var(--lh-body);color:var(--text-on-cream);background-color:var(--cream);scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{min-height:100vh;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}.skip-link{position:absolute;top:-100px;left:1rem;background-color:var(--ink);color:var(--cream);padding:.75rem 1.25rem;font-family:var(--font-body);font-weight:700;font-size:1rem;text-decoration:none;z-index:9999;border:2px solid var(--cream);transition:top var(--duration-short) ease}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid currentColor;outline-offset:4px}.surface-green :focus-visible{outline-color:var(--cream)}.surface-cream :focus-visible{outline-color:var(--ink)}.surface-green{background-color:var(--green);color:var(--text-on-green)}.surface-cream{background-color:var(--cream);color:var(--text-on-cream)}.container{width:100%;max-width:1240px;margin-left:auto;margin-right:auto;padding-left:var(--gutter);padding-right:var(--gutter)}.section-padding{padding-top:var(--space-section);padding-bottom:var(--space-section)}h1,h2,h3,.font-title{font-family:var(--font-title);text-transform:uppercase;font-weight:900;line-height:var(--lh-display);letter-spacing:-.02em}p,li,dl{font-family:var(--font-body);line-height:var(--lh-body);font-size:var(--fs-body);max-width:var(--measure)}a{color:inherit;text-decoration-thickness:1.5px;text-underline-offset:4px;transition:opacity var(--duration-short) ease}a:hover{opacity:.85}.sr-only,.sr-only *{position:absolute!important;width:1px!important;height:1px!important;max-width:1px!important;max-height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;display:block!important}.print-only{display:none}.sunburst-corner{position:absolute;width:clamp(80px,12vw,130px);height:clamp(80px,12vw,130px);pointer-events:none;z-index:1}.sunburst-corner-tl{top:0;left:0}.sunburst-corner-br{bottom:0;right:0;transform:rotate(180deg)}.sunburst-corner-bl{bottom:0;left:0;transform:rotate(270deg)}.sunburst-large{position:absolute;top:50%;right:-5%;transform:translateY(-50%);width:clamp(260px,38vw,480px);height:clamp(420px,60vw,750px);pointer-events:none;z-index:1;color:var(--cream);opacity:.95}@media(max-width:900px){.sunburst-large{right:-25%;opacity:.25}}.hero{position:relative;overflow:hidden;min-height:clamp(520px,92vh,900px);display:flex;align-items:center;padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(3rem,6vw,5rem)}.hero-content{position:relative;z-index:2;max-width:860px}.hero-title{font-size:var(--fs-hero);color:var(--cream);margin-bottom:1.25rem;letter-spacing:-.03em;line-height:var(--lh-display)}.hero-title-line{display:block}.scribble-target{position:relative;display:inline-block;white-space:nowrap}.scribble-svg{position:absolute;top:-24%;left:-14%;width:128%;height:148%;pointer-events:none;color:var(--ink);transform:rotate(-2.5deg);stroke-dasharray:1;stroke-dashoffset:1;animation:draw-scribble .9s cubic-bezier(.25,1,.5,1) .2s forwards}@keyframes draw-scribble{to{stroke-dashoffset:0}}@media(prefers-reduced-motion:reduce){.scribble-svg{animation:none;stroke-dashoffset:0}}.legend-bar{display:inline-flex;align-items:center;flex-wrap:wrap;gap:.5rem;background-color:var(--ink);color:var(--cream);padding:.65rem 1.25rem;font-family:var(--font-body);font-weight:700;font-size:var(--fs-badge);letter-spacing:.04em;margin-bottom:2rem;border-radius:var(--radius-none)}.legend-bar-center{margin-left:auto;margin-right:auto}.section-header-block{display:inline-block;background-color:var(--green);color:var(--cream);padding:.75rem 1.75rem;font-family:var(--font-title);font-size:clamp(1.25rem,2.2vw + .5rem,2rem);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:2.5rem;border-radius:var(--radius-none)}.btn-group{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.25rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:48px;padding:.75rem 1.75rem;font-family:var(--font-body);font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;border-radius:var(--radius-none);border:2px solid transparent;transition:transform var(--duration-short) ease,background-color var(--duration-short) ease}.btn:active{transform:translateY(1px)}@media(max-width:600px){.btn-group{flex-direction:column;width:100%;gap:.75rem}.btn{width:100%}}.btn-cream{background-color:var(--cream);color:var(--ink)}.btn-cream:hover{background-color:#fff;color:#000}.btn-outline-cream{background-color:transparent;color:var(--cream);border-color:var(--cream)}.btn-outline-cream:hover{background-color:#f7ede11f}.btn-intelligence{background-color:#d97706;color:#202125;border-color:#202125;font-weight:800;letter-spacing:.02em;box-shadow:3px 3px #202125;position:relative;transition:all .2s cubic-bezier(.16,1,.3,1)}.btn-intelligence:hover{background-color:#f59e0b;color:#000;transform:translate(-2px,-2px);box-shadow:5px 5px #202125}.btn-intelligence:active{transform:translate(0);box-shadow:2px 2px #202125}.btn-green{background-color:var(--green);color:var(--cream)}.btn-green:hover{background-color:#345837}.btn-outline-ink{background-color:transparent;color:var(--ink);border-color:var(--ink)}.btn-outline-ink:hover{background-color:#20212514}.case-study-divider{position:relative;overflow:hidden;text-align:center;padding-top:clamp(5rem,9vw,9rem);padding-bottom:clamp(5rem,9vw,9rem)}.case-study-divider .font-title{font-size:clamp(2.5rem,6.5vw,5rem);color:var(--cream);line-height:.95;margin-bottom:1.25rem}.thin-arrow{display:block;margin:2rem auto 0;width:44px;height:44px;color:var(--cream)}.chart-container{max-width:960px;margin-top:2rem;background-color:transparent}.chart-row{display:grid;grid-template-columns:280px 1fr;align-items:center;margin-bottom:1.25rem;gap:1.5rem}@media(max-width:768px){.chart-row{grid-template-columns:1fr;gap:.4rem}}.chart-label{font-family:var(--font-body);font-weight:600;font-size:var(--fs-small);color:var(--ink);text-align:right;line-height:1.3}@media(max-width:768px){.chart-label{text-align:left}}.chart-bar-track{position:relative;display:flex;align-items:center;height:52px;border-left:2px solid var(--grid)}.chart-bar-fill{background-color:var(--green-light);height:100%;border-radius:0 var(--radius-bar) var(--radius-bar) 0;display:flex;align-items:center;justify-content:flex-end;padding-right:1rem}.chart-value{font-family:var(--font-body);font-weight:700;font-size:1.125rem;color:var(--ink);margin-left:.75rem;white-space:nowrap}.chart-grid-scale{display:grid;grid-template-columns:280px 1fr;margin-top:1rem;gap:1.5rem}@media(max-width:768px){.chart-grid-scale{grid-template-columns:1fr}}.chart-scale-ticks{display:flex;justify-content:space-between;border-top:1px solid var(--grid);padding-top:.5rem;font-size:.875rem;color:var(--ink);font-weight:600}.pillars-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem;margin-top:1.5rem}.pillar-item{border-left:4px solid var(--green);padding-left:1.25rem}.pillar-item h3{font-size:1.25rem;color:var(--ink);margin-bottom:.6rem}.pillar-item p{font-size:var(--fs-small);color:#3e3f42}.project-card{margin-bottom:3.5rem;padding-bottom:3rem;border-bottom:1px solid var(--grid)}.project-card:last-child{border-bottom:none;padding-bottom:0;margin-bottom:0}.project-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.project-title{font-size:clamp(1.25rem,1.8vw,1.625rem);color:var(--ink)}.project-badge{display:inline-block;background-color:var(--ink);color:var(--cream);padding:.25rem .6rem;font-size:.8125rem;font-weight:700}.project-media{margin-top:1.5rem;max-width:780px;border:1px solid var(--grid)}.project-media img{width:100%;height:auto;display:block}.contact-section{position:relative;overflow:hidden}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.75rem;margin-top:2.5rem;position:relative;z-index:2}.contact-card{background-color:var(--ink);color:var(--cream);padding:1.5rem;border-radius:var(--radius-none);display:flex;flex-direction:column;justify-content:space-between;min-height:140px}.contact-card-label{font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;opacity:.75}.contact-card-value{font-family:var(--font-title);font-size:1.25rem;color:var(--cream);text-decoration:none;word-break:break-word}.contact-card-value:hover{text-decoration:underline}
