.demos-hero .hero-grid{min-height:570px;padding-top:80px;padding-bottom:65px;gap:55px}
.demos-hero .hero-copy{max-width:610px}
.demos-hero h1{max-width:620px}
.demos-hero-visual{height:420px;position:relative;max-width:520px;width:100%;margin:auto}
.demo-hero-image{display:block;width:100%;height:100%;object-fit:contain}
.demo-hero-note{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:10px;color:var(--forest);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.demo-hero-note i{width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 0 4px rgba(47,107,82,.14)}
.demos-gallery{padding:75px max(28px,calc((100vw - var(--max))/2)) 120px;background:var(--cream)}
.demos-gallery-inner{max-width:var(--max);margin:auto}
.demos-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:80px;align-items:end;margin-bottom:58px}
.demos-heading h2,.demos-contact h2{font:800 clamp(2.7rem,4.5vw,4.7rem)/1.05 Manrope,sans-serif;letter-spacing:-.055em;color:var(--forest);margin:0;max-width:700px}
.demos-heading h2 span,.demos-contact h2 span{color:var(--green)}
.demos-heading>p{margin:0 0 5px;color:var(--muted);font-size:1.08rem;max-width:510px}
.demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.demo-card{display:flex;flex-direction:column;background:#fff;border:1px solid rgba(11,41,41,.09);box-shadow:0 18px 45px rgba(11,41,41,.08);min-width:0;transition:transform .22s,box-shadow .22s}
.demo-card:hover{box-shadow:0 25px 55px rgba(11,41,41,.13)}.demo-card.reveal{transition:opacity .65s,transform .65s,box-shadow .22s}
.demo-image{display:block;overflow:hidden;aspect-ratio:16/9;background:#dcebe3;border-bottom:4px solid var(--green)}
.demo-image img{display:block;width:100%;height:100%;object-fit:cover;background:var(--cream);transition:transform .35s}
.demo-image:hover img,.demo-image:focus-visible img{transform:none}
.demo-image:focus-visible,.demo-link:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.demo-card-copy{display:flex;flex:1;flex-direction:column;padding:28px 32px 30px}
.demo-category{display:flex;align-items:center;gap:12px;margin:0 0 13px;color:var(--green);font-size:.68rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.demo-category span{color:#879c92;font-variant-numeric:tabular-nums}
.demo-card h3{font:800 clamp(1.45rem,2.4vw,2rem)/1.2 Manrope,sans-serif;letter-spacing:-.04em;color:var(--forest);margin:0 0 14px}
.demo-card h3 span{color:#a8b8af;font-weight:500}
.demo-card-copy>p:not(.demo-category){font-size:.97rem;line-height:1.65;color:var(--muted);margin:0 0 25px}
.demo-link{display:inline-flex;align-items:center;gap:13px;align-self:flex-start;margin-top:auto;color:var(--forest);font-size:.85rem;font-weight:800;text-decoration:none;border-bottom:1px solid var(--green);padding-bottom:5px;transition:color .2s,gap .2s}
.demo-link span{color:var(--green);font-size:1rem;transition:transform .2s}
.demo-link:hover{color:var(--green);gap:17px}.demo-link:hover span{transform:translate(2px,-2px)}
.demos-contact{padding:105px max(28px,calc((100vw - var(--max))/2));background:var(--forest);color:#fff}
.demos-contact-inner{max-width:var(--max);margin:auto;display:grid;grid-template-columns:.95fr 1.05fr;gap:90px;align-items:center}
.demos-contact h2{color:#fff}.demos-contact h2 span{color:var(--lime)}
.demos-contact-card{padding:38px 42px;background:#fff;border-top:4px solid var(--lime);box-shadow:var(--shadow)}
.demos-contact-card p{font:600 1.15rem/1.6 Manrope,sans-serif;color:var(--forest);margin:0 0 24px}
.demos-contact-card .button{margin-right:20px}.demos-contact-card .email-address{display:inline-block;color:var(--green);font-weight:700;text-underline-offset:4px}
@media(max-width:950px){.demos-hero .hero-grid{grid-template-columns:1fr;gap:20px;padding-top:70px}.demos-hero .hero-copy{max-width:720px}.demos-hero-visual{height:350px;max-width:500px}.demos-heading,.demos-contact-inner{grid-template-columns:1fr;gap:35px}.demo-card-copy{padding:25px}}
@media(max-width:720px){.demos-hero .hero-grid{padding:58px 20px 40px}.demos-hero h1{font-size:3.45rem}.demos-hero-visual{height:300px;width:100%;transform:none}.demo-hero-note{right:8px}.demos-gallery{padding:56px 20px 85px}.demos-heading{gap:22px;margin-bottom:38px}.demos-heading h2,.demos-contact h2{font-size:2.75rem}.demo-grid{grid-template-columns:1fr;gap:22px}.demo-card-copy{padding:24px}.demo-card h3{font-size:1.65rem}.demos-contact{padding:78px 20px}.demos-contact-inner{gap:30px}.demos-contact-card{padding:28px 24px}.demos-contact-card .button{display:flex;margin:0 0 17px}.demos-contact-card .email-address{display:block;text-align:center}}
@media(max-width:430px){.demos-hero h1{font-size:3rem}.demos-hero-visual{height:260px}.demo-hero-note{font-size:.62rem}.demo-card h3{font-size:1.5rem}}
@media(prefers-reduced-motion:reduce){.demo-card,.demo-image img,.demo-link,.demo-link span{transition:none}}
.demo-window-note{margin:0 0 22px;color:var(--muted);font-size:.9rem}
.demo-popup-status{margin:0 0 24px;padding:14px 18px;border-left:4px solid var(--green);background:#fff;color:var(--forest);font-weight:700;box-shadow:0 8px 24px rgba(11,41,41,.07)}
.demo-popup-status[hidden]{display:none}
.demo-trigger:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
.demo-card-copy>p.demo-tools{display:flex;flex-direction:column;align-items:flex-start;gap:5px;margin:0 0 22px;padding-top:14px;border-top:1px solid var(--line);font-size:.82rem;line-height:1.5;color:var(--muted)}
.demo-tools strong{display:block;font-size:.63rem;letter-spacing:.11em;text-transform:uppercase;color:var(--green)}
.demo-tools span{display:block;font-weight:600}
