/* Project imagery and demo discovery. Extends the existing Clear Anvil palette. */
.visual-hero{background:#f6f6f3;color:#1c231a;padding:clamp(36px,5vw,70px) 0 0}
.visual-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(30px,6vw,84px);align-items:center}
.visual-hero .label{font-size:.75rem;color:#536050;letter-spacing:.1em}
.visual-hero h1{font-size:clamp(44px,5.5vw,78px);line-height:1.04;letter-spacing:-.045em;margin:24px 0;max-width:12ch}
.visual-hero h1 .accent{color:#38762d}
.visual-hero-copy>p{max-width:34ch;color:#586052;font-size:clamp(17px,1.6vw,21px);line-height:1.55}
.visual-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px}
.visual-hero-actions .button{margin:0;background:#1c231a;color:#fff;padding:16px 22px}
.visual-hero-actions .button:hover{background:#365530}
.text-link{font-size:1rem;font-weight:500;text-decoration:underline;text-underline-offset:5px;line-height:1.5}
.hero-signature{border-top:1px solid #d6d9d2;margin-top:32px;padding-top:20px;max-width:36ch;font-size:.9375rem;color:#60675b}
.project-showcase{min-width:0;border:1px solid #d5dbd1;background:#fff;box-shadow:0 18px 48px #16231a09}
.showcase-top{display:flex;justify-content:space-between;gap:20px;padding:14px 20px;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #d5dbd1;color:#475141}
.showcase-slide[hidden]{display:none}
.showcase-image{display:block;overflow:hidden;background:#e1e7df;aspect-ratio:16/9}
.showcase-image img{display:block;width:100%;height:100%;object-fit:cover}
.showcase-caption{padding:22px 24px 16px;min-height:205px}
.project-kind{display:block;color:#397031;font-size:.75rem;font-weight:500;letter-spacing:.08em;line-height:1.5;text-transform:uppercase}
.showcase-caption h2{font-size:clamp(24px,2.5vw,32px);line-height:1.14;letter-spacing:-.025em;margin:9px 0 10px}
.showcase-caption p{font-size:1rem;line-height:1.5;color:#596153;max-width:48ch}
.project-open{display:inline-flex;align-items:center;gap:22px;margin-top:17px;font-size:1rem;font-weight:500;color:#234e1d;border-bottom:1px solid #5c8b50;padding-bottom:3px;line-height:1.4}
.project-open:hover{color:#0c2708;border-color:currentColor}
.showcase-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:2px 18px 12px}
.showcase-controls[hidden]{display:none}
.showcase-dots,.showcase-playback{display:flex;align-items:center;gap:5px}
.showcase-controls button{appearance:none;font:inherit;background:transparent;color:#46513f;border:1px solid transparent;cursor:pointer;min-width:44px;min-height:44px;padding:8px;font-size:.875rem}
.showcase-controls button:hover{background:#eef4eb}
.showcase-controls button:focus-visible{outline:3px solid #22599f;outline-offset:2px}
.showcase-controls .showcase-dot{border-radius:50%;position:relative;display:grid;place-items:center;width:48px;height:48px;border-color:#d8dfd3}
.showcase-dot svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none}
.showcase-dot circle{fill:none;stroke:#467f37;stroke-width:2;stroke-dasharray:132;stroke-dashoffset:132}
.showcase-dot[aria-pressed="true"]{background:#e7f2e1;color:#244d1c;border-color:#a9c69d}
.project-showcase[data-running="true"] .showcase-dot[aria-pressed="true"] circle{animation:project-progress 2s linear forwards}
.showcase-playback [data-pause]{min-width:65px}
.showcase-note{padding:0 24px 17px;font-size:.75rem!important;color:#72786c!important;line-height:1.5}
@keyframes project-progress{from{stroke-dashoffset:132}to{stroke-dashoffset:0}}
.quick-projects{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 26px;margin-top:44px;border-top:1px solid #d2d8cd;padding:22px 0}
.quick-projects>span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#6b7365}
.quick-projects a{font-size:.9375rem;padding:6px 0;color:#244d1c;border-bottom:1px solid #acbda3}
.visual-hero :focus-visible,.project-card :focus-visible,.text-link:focus-visible{outline:3px solid #22599f;outline-offset:5px}
.gallery-heading{display:flex;align-items:end;justify-content:space-between;gap:28px}
.gallery-heading h2{font-size:clamp(30px,4.5vw,58px);line-height:1.08;letter-spacing:-.035em;margin-top:15px;max-width:18ch}
.gallery-heading .label{font-size:.75rem}
.gallery-heading>p{font-size:1rem;color:#586052;max-width:32ch}
.project-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;margin-top:36px}
.project-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #d3dacd}
.project-card-image{display:block;overflow:hidden;aspect-ratio:16/9;background:#e9eee5}
.project-card-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .35s}
.project-card:hover .project-card-image img{transform:scale(1.035)}
.project-card-copy{padding:24px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.project-card h3{font-size:clamp(22px,2.5vw,30px);letter-spacing:-.025em;line-height:1.13;margin:11px 0 14px}
.project-card p{color:#596153;font-size:1rem;line-height:1.55}
.project-try{font-size:.875rem;line-height:1.5;color:#73796e;border-top:1px solid #e0e5dc;margin-top:20px;padding:14px 0 6px;width:100%}
.project-card .project-open{margin-top:auto;padding-top:14px}
.gallery-footnote{margin-top:26px!important;max-width:90ch;font-size:.875rem;color:#656d5e}
.related-service{margin-top:42px;padding:28px;background:#eaf3e5;border:1px solid #c9d9c0}
.related-service h3{font-size:28px;line-height:1.2;margin:12px 0}
.related-service p{font-size:1rem;color:#596153;margin-bottom:20px}
.service-cover{position:relative;margin:36px 0 28px;overflow:hidden;background:#19231d;height:260px}
.service-cover img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 60%}
.service-cover figcaption{position:absolute;bottom:0;left:0;right:0;padding:48px 24px 20px;color:white;background:linear-gradient(transparent,#0d1514d9);font-size:1rem;line-height:1.5}
.evidence-visual{margin-top:42px;padding:clamp(22px,3.5vw,42px);background:#f0f5ed;border:1px solid #c9d8c0}
.evidence-intro h3{font-size:clamp(25px,3.2vw,38px);line-height:1.14;letter-spacing:-.025em;margin:14px 0}
.evidence-intro p{font-size:1rem;color:#596153;max-width:58ch}
.evidence-intro .label{font-size:.75rem}
.evidence-options{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0}
.evidence-options button{font:inherit;font-size:.9375rem;line-height:1.4;padding:12px 16px;min-height:44px;border:1px solid #b7c6ae;background:#fff;color:#294923;cursor:pointer}
.evidence-options button[aria-pressed="true"]{background:#244d1c;color:#fff;border-color:#244d1c}
.evidence-options button:focus-visible{outline:3px solid #22599f;outline-offset:3px}
.evidence-lane{display:grid;grid-template-columns:1fr 28px 1fr 28px 1.35fr;align-items:stretch;gap:8px}
.evidence-record,.evidence-finding{padding:22px;background:#fff;border:1px solid #cfd9c9;min-width:0}
.evidence-record>span,.evidence-finding>span{font-size:.75rem;color:#68725f;text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:18px}
.evidence-record strong{font-size:clamp(20px,2.3vw,28px);font-weight:500;display:block;line-height:1.2}
.evidence-record p{font-size:1rem;margin:10px 0;color:#5c6654}
.evidence-record b{display:block;font-weight:500;border-top:1px solid #dfe5da;padding-top:12px;color:#294b20}
.evidence-connector{display:grid;place-items:center;font-size:24px;color:#557347}
.evidence-finding strong{font-size:21px;line-height:1.2;font-weight:500;display:block;margin-bottom:12px}
.evidence-finding p{font-size:.9375rem;line-height:1.5;color:#655c4d;margin-bottom:15px}
.evidence-finding b{font-size:.8125rem;font-weight:500;display:inline-block;padding:5px 10px;background:#f5dfba;color:#784917}
.evidence-finding[data-state="attention"]{border-color:#c7a364;background:#fffbf3}
.evidence-finding[data-state="matched"]{border-color:#9bbb8b;background:#f6fbf3}
.evidence-finding[data-state="matched"] b{background:#daecd1;color:#2f5f24}
.evidence-caption{margin-top:20px!important;color:#626c59;font-size:.875rem;max-width:90ch}
.customer-path-section{padding:58px 0;background:#eef4ea;border-bottom:1px solid #cddbc3}
.customer-path{display:grid;grid-template-columns:repeat(3,1fr);margin-top:32px;border:1px solid #bdcfb1;background:#fff}
.customer-path li{padding:30px;position:relative}
.customer-path li+li{border-left:1px solid #bdcfb1}
.customer-path li+li:before{content:'→';position:absolute;left:-17px;top:27px;background:#244d1c;color:white;border-radius:50%;width:32px;height:32px;display:grid;place-items:center}
.customer-path li>span{font-size:.75rem;color:#3a6b2b;text-transform:uppercase;letter-spacing:.08em}
.customer-path h3{font-size:25px;line-height:1.17;margin:22px 0 12px}
.customer-path p{font-size:1rem;color:#596153}
@media(min-width:1000px){.related-gallery .project-card-copy{padding:22px}.related-gallery .project-card h3{font-size:27px}}
@media(max-width:980px){.visual-hero-grid{gap:30px}.visual-hero h1{font-size:52px}.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.evidence-lane{grid-template-columns:1fr 24px 1fr}.evidence-finding{grid-column:1/-1}.evidence-connector:nth-of-type(2){display:none}.gallery-heading{align-items:start}.showcase-caption{min-height:230px;padding:20px}.showcase-caption h2{font-size:26px}}
@media(max-width:700px){.visual-hero-grid{grid-template-columns:1fr}.visual-hero h1{font-size:clamp(44px,10vw,64px);max-width:none}.visual-hero-copy>p{max-width:43ch}.hero-signature{display:none}.visual-hero-actions{margin-bottom:2px}.visual-hero{padding-top:32px}.showcase-caption{min-height:205px}.quick-projects{justify-content:flex-start;margin-top:26px;gap:8px 20px}.quick-projects>span{flex-basis:100%}.project-gallery{grid-template-columns:1fr;gap:24px}.gallery-heading{display:block}.gallery-heading>p,.gallery-heading>.text-link{display:block;margin-top:20px}.project-card h3{font-size:28px}.evidence-lane{grid-template-columns:1fr}.evidence-connector{display:none}.evidence-record{padding:18px}.evidence-finding{grid-column:auto}.service-cover{height:230px}.customer-path{grid-template-columns:1fr}.customer-path li+li{border-left:0;border-top:1px solid #bdcfb1}.customer-path li+li:before{left:auto;right:24px;top:-16px;transform:rotate(90deg)}.customer-path li{padding:26px}.customer-path h3{margin-top:14px}}
@media(prefers-reduced-motion:reduce){.showcase-dot circle{animation:none!important}.project-card-image img{transition:none}.project-card:hover .project-card-image img{transform:none}}
@media(forced-colors:active){.showcase-dot[aria-pressed="true"],.evidence-options button[aria-pressed="true"]{outline:2px solid Highlight}.project-kind,.project-open{color:LinkText}}
.project-card-image img[src$=".svg"]{object-fit:contain;padding:20px}
.showcase-controls{flex-wrap:wrap}
@media(min-width:701px) and (max-width:980px){.showcase-caption{min-height:290px}}
