/* Four-page site: shared navigation and page-specific layouts. */
.main-nav{gap:24px;}
.main-nav>a[aria-current="page"]{color:var(--blue);font-weight:650;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:9px;}
.main-nav .nav-cta{font-size:14px;}
.footer-page-links{display:flex;flex-wrap:wrap;gap:14px 28px;padding-top:6px;padding-bottom:24px;}
.footer-page-links a{font-size:14px;color:#c4d3c9;line-height:1.7;}
.footer-page-links a:hover{text-decoration:underline;text-underline-offset:4px;}
.service-page-hero{background:#f4f6f1;padding:34px 0 42px;}
.service-page-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:56px;align-items:center;}
.page-breadcrumb{display:block;font-size:13px;color:var(--muted);margin-bottom:24px;}
.service-page-hero .section-label{display:block;margin-bottom:16px;}
.service-page-hero h1{font-size:clamp(32px,3.3vw,46px);font-weight:650;line-height:1.4;letter-spacing:-.025em;margin:0 0 20px;}
.service-page-hero h1 em{font-style:normal;color:var(--blue);}
.service-page-hero p{font-size:17px;line-height:1.85;color:var(--muted);margin:0;}
.page-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px;}
.hero-project-preview{background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 14px 36px #183e2810;display:block;}
.hero-project-preview>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;}
.hero-project-preview>span{padding:20px 24px;display:flex;flex-direction:column;gap:7px;}
.hero-project-preview small{font-size:13px;color:var(--muted);}
.hero-project-preview strong{font-size:20px;font-weight:600;line-height:1.5;}
.hero-project-preview b{font-size:14px;color:var(--blue);font-weight:500;}
.home-case-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:60px;align-items:center;}
.home-case h2{font-size:34px;line-height:1.5;font-weight:600;letter-spacing:-.02em;margin:0 0 20px;}
.home-case h2 em{font-style:normal;color:#b4cfb4;}
.home-case-grid>div>p{font-size:16px;line-height:1.85;color:#c0ccc6;max-width:530px;margin:0 0 24px;}
.light-link{color:#d0e7cd;}
.home-case-metric{padding:30px;border:1px solid #ffffff26;background:#ffffff06;border-radius:16px;}
.home-case-metric>span{font-size:14px;color:#c0ccc6;}
.home-case-metric>strong,.geo-hero-card>strong{display:flex;align-items:baseline;gap:4px;font-size:64px;font-weight:600;letter-spacing:-.04em;line-height:1.25;margin:20px 0;color:#d2e7cf;}
.home-case-metric strong small,.geo-hero-card strong small{font-size:25px;font-weight:500;}
.home-case-metric strong b,.geo-hero-card strong b{font-size:26px;margin:0 20px;color:#8ba58e;font-weight:400;align-self:center;}
.home-case-grid .home-case-metric>p{font-size:13px;line-height:1.7;margin:0 0 9px;}
.home-case-metric>small{font-size:12px;line-height:1.7;display:block;color:#a8bcae;}
.home-work-links{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:28px;}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.portfolio-card{display:flex;flex-direction:column;min-width:0;width:100%;text-align:left;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;padding:0;color:var(--ink);font:inherit;transition:transform .2s,box-shadow .2s;}
.portfolio-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #1e382412;}
.portfolio-card:focus-visible,.hero-project-preview:focus-visible{outline:3px solid var(--blue);outline-offset:4px;}
.portfolio-media{position:relative;display:block;aspect-ratio:16/10;background:#e9ede7;overflow:hidden;width:100%;}
.portfolio-media img{width:100%;height:100%;object-fit:contain;display:block;}
.portfolio-duration{position:absolute;right:12px;bottom:12px;font-size:12px;background:#14281ed9;color:#fff;padding:2px 8px;border-radius:5px;}
.portfolio-copy{padding:20px;display:flex;flex-direction:column;gap:9px;}
.portfolio-copy small{font-size:13px;line-height:1.5;color:var(--muted);}
.portfolio-copy strong{font-size:19px;line-height:1.5;font-weight:600;}
.portfolio-copy>span{font-size:14px;line-height:1.5;color:var(--blue);margin-top:5px;}
.video-project .project-points{padding-left:1.2em;margin:0;color:var(--muted);}
.video-project .project-points li{font-size:16px;line-height:1.85;margin-bottom:9px;}
.video-project .project-points li::marker{color:var(--blue);}
.page-crosslink{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:26px 30px;margin-top:32px;border:1px solid var(--line);background:#f3f6ef;border-radius:14px;}
.page-crosslink h3{font-size:21px;line-height:1.5;font-weight:600;margin:0 0 8px;}
.page-crosslink p{font-size:15px;line-height:1.8;color:var(--muted);margin:0;}
.page-crosslink>a{flex-shrink:0;}
.geo-hero-card{padding:32px;border-radius:18px;background:#fff;border:1px solid var(--line);}
.geo-hero-card>strong{color:var(--blue);}
.geo-hero-card>p{font-size:15px;}
.geo-hero-card>div{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:6px;font-size:14px;color:#4c5c53;}
.geo-hero-card>small{display:block;font-size:13px;line-height:1.75;color:var(--muted);margin-top:18px;}
.geo-delivery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;}
.geo-delivery-grid article{border:1px solid var(--line);border-radius:14px;background:#f7f8f5;padding:28px;}
.geo-delivery-grid article>span{font-size:14px;color:var(--blue);font-weight:500;}
.geo-delivery-grid h3{font-size:23px;line-height:1.5;margin:12px 0;}
.geo-delivery-grid p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 18px;}
.geo-delivery-grid small{font-size:14px;line-height:1.75;color:var(--blue);display:block;border-top:1px solid var(--line);padding-top:16px;}
.measurement-table-wrap{border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.measurement-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:16px;line-height:1.8;text-align:left;}
.measurement-table thead{background:#edf2e9;}
.measurement-table th,.measurement-table td{padding:20px 24px;vertical-align:top;border-bottom:1px solid var(--line);}
.measurement-table th{font-weight:550;color:var(--ink);}
.measurement-table td{color:var(--muted);}
.measurement-table th:first-child{width:23%;}
.measurement-table tr:last-child>*{border-bottom:0;}
@media(max-width:1100px){.service-page-hero-grid,.home-case-grid{gap:32px;}.service-page-hero h1{font-size:34px;}.home-case h2{font-size:30px;}.home-case-metric,.geo-hero-card{padding:24px;}.home-case-metric>strong,.geo-hero-card>strong{font-size:52px;}.home-case-metric strong b,.geo-hero-card strong b{margin:0 12px;}.portfolio-grid{gap:18px;}.main-nav{gap:20px;}}
@media(max-width:900px){
 .menu-toggle{display:flex;width:38px;height:38px;border:1px solid var(--line);background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-radius:7px;}
 .menu-toggle span{display:block;width:16px;height:1.5px;background:#1b2c4b;transition:.2s;}
 .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.25px) rotate(45deg);}
 .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.25px) rotate(-45deg);}
 .main-nav{position:absolute;display:none;top:79px;left:0;right:0;padding:16px 28px;background:#fff;border-bottom:1px solid var(--line);}
 .main-nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0;}
 .main-nav>a:not(.nav-cta){padding:13px 0;border-bottom:1px solid #edf1e8;}
 .main-nav .nav-cta{margin-top:12px;justify-content:space-between;}
 .main-nav>a[aria-current=page]{text-decoration:none;}
 .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:760px){
 .main-nav{top:71px;padding:16px 20px;}
 .service-page-hero{padding:24px 0 32px;}
 .service-page-hero-grid,.home-case-grid{grid-template-columns:1fr;gap:28px;}
 .service-page-hero h1{font-size:32px;line-height:1.45;}
 .service-page-hero p{font-size:16px;line-height:1.8;}
 .page-actions{gap:20px;}
 .page-breadcrumb{margin-bottom:20px;}
 .hero-project-preview>span{padding:18px 20px;}
 .hero-project-preview strong{font-size:18px;}
 .home-case h2{font-size:27px;}
 .home-case-metric{max-width:420px;width:100%;}
 .home-case-metric>strong,.geo-hero-card>strong{font-size:56px;}
 .portfolio-copy{padding:18px;}
 .portfolio-copy strong{font-size:18px;}
 .geo-delivery-grid{grid-template-columns:1fr;gap:16px;}
 .geo-delivery-grid article{padding:24px;}
 .geo-delivery-grid h3{font-size:22px;}
 .page-crosslink{flex-direction:column;align-items:flex-start;padding:22px;gap:18px;}
 .measurement-table{font-size:14px;line-height:1.75;}
 .measurement-table th,.measurement-table td{padding:14px 12px;}
 .measurement-table th:first-child{width:25%;}
 .footer-page-links{gap:12px 22px;padding-bottom:20px;}
}
@media(max-width:480px){.portfolio-grid{grid-template-columns:1fr;}.service-page-hero h1{font-size:clamp(27px,7.5vw,34px);}.home-work-links{justify-content:flex-start;}.home-case-metric>strong,.geo-hero-card>strong{font-size:48px;}.geo-hero-card>strong small,.home-case-metric>strong small{font-size:21px;}}
@media(prefers-reduced-motion:reduce){.portfolio-card:hover{transform:none;}}
@media(max-width:480px){.home-case-metric{padding:22px;}.home-case-grid .home-case-metric>p{line-break:strict;}}

/* Copy cleanup: keep headings and demos balanced after removing repeated prose. */
.heading-compact{display:block;max-width:none;}
.heading-compact h2{max-width:1000px;}
.workflow-demos .workflow-demo:first-child{border-top:0;padding-top:0;}
.page-crosslink h3:only-child{margin-bottom:0;}
.portfolio-notes{margin-top:24px;color:var(--muted);font-size:14px;line-height:1.8;}
.portfolio-notes summary{cursor:pointer;width:fit-content;}
.portfolio-notes p{margin:10px 0 0;}
