/* GregForward — add-on showcase styles. Preserves the existing design system. */
#products {scroll-margin-top: 90px}
.products-heading {display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}
.products-heading h2 {margin-bottom:0}
.product-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.featured-product {border:1px solid rgba(170,220,208,.25);border-radius:24px;overflow:hidden;background:linear-gradient(145deg,#152b30,#0f1b21);box-shadow:0 18px 54px rgba(2,11,12,.12);display:flex;flex-direction:column}
.featured-product:nth-child(2) {background:linear-gradient(145deg,#1d2922,#101c1c)}
.featured-product > .product-visual {position:relative;display:block;background:rgba(0,0,0,.15);padding:22px 18px 0;text-decoration:none;overflow:hidden}
.featured-product .product-visual img {display:block;width:100%;height:auto;border-radius:15px 15px 0 0;box-shadow:0 15px 40px rgba(0,0,0,.26);transition:transform .25s ease}
.featured-product .product-visual:hover img {transform:translateY(-4px)}
.featured-product .product-copy {padding:27px 28px 29px;display:flex;flex:1;flex-direction:column}
.featured-product .product-label {letter-spacing:.13em;text-transform:uppercase;font-size:.71rem;font-weight:750;color:#a1e5d9;margin:0 0 12px}
.featured-product h3 {margin:0 0 9px;font-size:clamp(1.65rem,2.1vw,2.5rem);line-height:1.08;color:#fff}
.featured-product .product-description {line-height:1.65;color:#d4dfdf;margin:0 0 18px}
.featured-product .product-meta {display:flex;gap:7px;flex-wrap:wrap;margin:0 0 20px}
.featured-product .product-meta span {font-size:.79rem;color:#dfedef;border:1px solid rgba(224,250,245,.21);border-radius:20px;padding:6px 10px}
.featured-product .product-actions {margin-top:auto;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.featured-product .product-actions a {color:#baf8e8;text-decoration:none;font-weight:750}
.featured-product .product-actions a:hover {text-decoration:underline}
.featured-product .visual-disclosure {font-size:.73rem;color:#bccac9;margin-top:13px;line-height:1.45}
.product-intro {max-width:62ch}
.project-gallery {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}
.project-gallery figure {margin:0;border:1px solid rgba(135,160,160,.3);border-radius:17px;overflow:hidden;background:#16232a}
.project-gallery img {width:100%;display:block;aspect-ratio: 16 / 10;object-fit:cover}
.project-gallery figcaption {color:#d8e7e8;padding:12px 15px;font-size:.85rem}
.case-study .case-note {padding:17px 20px;background:rgba(174,222,213,.08);border:1px solid rgba(174,222,213,.24);border-radius:14px;margin:21px 0;line-height:1.6}
.case-study .feature-list {list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.case-study .feature-list li {border:1px solid rgba(170,215,209,.18);border-radius:12px;padding:12px 16px;background:rgba(180,220,214,.045)}
.case-study .case-cta {display:flex;gap:15px;flex-wrap:wrap;margin-top:22px}
@media(max-width:880px){.product-grid{grid-template-columns:1fr}.products-heading{display:block}}
@media(max-width:600px){.featured-product .product-copy{padding:22px 19px}.featured-product>.product-visual{padding:13px 11px 0}.project-gallery,.case-study .feature-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.featured-product .product-visual img{transition:none}}
/* Accessible on-site résumé preview — mirrors the downloadable PDF. */
.resume-page {max-width:1000px;margin:0 auto;padding-bottom:75px}
.resume-header {padding:45px 0 28px;border-bottom:1px solid rgba(166,210,204,.35)}
.resume-header h1 {margin:.18em 0;font-size:clamp(2rem,6vw,4rem)}
.resume-header .resume-title {font-size:clamp(1rem,2.5vw,1.25rem);font-weight:700;color:#9fe5d9}
.resume-page .resume-action {display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}
.resume-page .resume-section {padding:26px 0;border-bottom:1px solid rgba(166,210,204,.22)}
.resume-page .resume-section h2 {font-size:clamp(1.5rem,3vw,2rem);margin:0 0 13px}
.resume-page .resume-section h3 {font-size:1.08rem;margin:18px 0 4px}
.resume-page .resume-section p,.resume-page .resume-section li {line-height:1.7}
.resume-page .resume-section ul {margin:9px 0 12px;padding-left:21px}
.resume-page .resume-muted {color:#a6c9c5;margin:.2em 0 1em}
.resume-page .resume-columns {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:700px){.resume-page .resume-columns{grid-template-columns:1fr}.resume-header{padding-top:26px}}
