/* Homepage only. Real products, distinct presentations, no decorative motion. */
html.home-page{scrollbar-gutter:stable}
.home-editorial .hero{padding:clamp(2.5rem,4vw,3.5rem) 0 2.5rem}
.home-editorial .hero-inner{display:flex;flex-direction:column;gap:2.5rem;align-items:stretch}
.home-editorial .hero-copy{display:grid;grid-template-columns:1.45fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:end}
.home-editorial .hero h1{font-size:clamp(2.7rem,4.9vw,4.75rem);line-height:1.06;letter-spacing:-.05em;max-width:10.8em;margin:0;text-wrap:balance}
.home-editorial .hero h1 em{white-space:normal}
.home-editorial .hero-tag{margin-bottom:1.2rem}
.home-editorial .hero-intro{padding-bottom:.2rem;min-width:0}
.home-editorial .hero-sub{font-size:1rem;line-height:1.85;max-width:43ch;margin:0 0 1.5rem}
.home-editorial .hero-ctas{margin:0;flex-wrap:wrap}
.home-editorial .hero-product{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(220px,1fr);align-self:stretch;background:#f1f2ee;border:1px solid #e0e3dc;border-radius:6px;box-shadow:none;overflow:hidden}
.home-editorial .demo-player{align-self:center;min-width:0}
.home-editorial .demo-player video{aspect-ratio:1280/644;object-fit:contain}
.home-editorial .hero-product figcaption{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0;padding:clamp(1.2rem,2.2vw,2rem);min-width:0}
.home-editorial .hero-product figcaption .eyebrow{font-size:.68rem;margin:0 0 1.1rem}
.home-editorial .hero-product figcaption h2{font-size:1.35rem;margin:0 0 .65rem;line-height:1.3;letter-spacing:-.025em}
.home-editorial .hero-product figcaption p{font-size:.85rem;line-height:1.7;max-width:none}
.demo-steps{list-style:none;padding:0;margin:1.5rem 0;display:grid;gap:.7rem;width:100%}
.demo-steps li{display:flex;align-items:baseline;gap:.7rem;font-size:.77rem;color:var(--ink-2)}
.demo-steps span{font: .63rem var(--mono);color:#6a7270}
.home-editorial .hero-product figcaption .tlink{font-size:.8rem;min-height:40px;white-space:normal}
.demo-full{font-size:.71rem;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px;min-height:36px;display:inline-flex;align-items:center;line-height:1.5}
.home-editorial .hero-product noscript{grid-column:1/-1}
.home-editorial .demo-fallback{padding-top:1rem}
.home-editorial .home-work{padding:clamp(3rem,6vw,5.5rem) 0;background:#fff;border-top:1px solid var(--rule)}
.home-work-intro{display:grid;grid-template-columns:1.35fr 1fr;gap:.75rem 4rem;align-items:end;padding-bottom:3rem;border-bottom:1px solid var(--rule);margin-bottom:3.5rem}
.home-work-intro .label{grid-column:1/-1;margin:0}
.home-work-intro h2{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.2;letter-spacing:-.035em;text-wrap:initial}
.home-work-intro>p:last-child{font-size:.94rem;line-height:1.8;color:var(--ink-2);max-width:35ch;margin:0 0 .15rem}
.project-heading{display:grid;grid-template-columns:1.35fr 1fr;gap:4rem;align-items:end;margin-bottom:2.5rem}
.project-heading .eyebrow{display:flex;align-items:center;gap:1.5rem;font-size:.76rem;margin-bottom:1.1rem}
.project-live{display:inline-flex;align-items:center;gap:.5rem;font-size:.67rem;font-weight:400}
.project-live::before{content:'';width:5px;height:5px;border-radius:50%;background:#4c6b57}
.project-heading h3{font-size:clamp(1.9rem,3.2vw,2.8rem);line-height:1.17;letter-spacing:-.035em;text-wrap:initial}
.project-heading>div>p:not(.eyebrow){font-size:.92rem;line-height:1.8;color:var(--ink-2);margin-bottom:1.25rem;max-width:44ch}
.project-heading .tlink{font-size:.85rem;min-height:36px}
.project-spread{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(1.5rem,3vw,3rem);padding:clamp(1.2rem,3vw,2.5rem);background:#eceee8;border:1px solid #e0e3db;border-radius:6px;align-items:start}
.project-screen{margin:0;min-width:0}
.screen-caption{display:flex;gap:.8rem;margin-bottom:1.15rem;min-height:64px}
.screen-step{font: .68rem/1.8 var(--mono);padding-top:.1rem;color:var(--ink-2)}
.screen-caption h4{font-size:.9rem;line-height:1.5;font-weight:650;margin:0 0 .3rem;letter-spacing:-.015em}
.screen-caption p{font-size:.78rem;line-height:1.7;color:var(--ink-2);margin:0;max-width:37ch}
.screen-link.shot{display:block;margin:0;background:#fff;border:1px solid #d9ddd5;border-radius:4px;overflow:hidden;box-shadow:0 8px 24px #2631290a}
.screen-link img{display:block;width:100%;height:auto;max-width:none}
.project-screen--output{padding-top:3rem}
.project-screen--output .screen-link{padding:.65rem}
.project-screen figcaption{font-size:.7rem;line-height:1.8;color:var(--ink-2);padding-top:.65rem}
.project-screen figcaption a{display:inline-flex;align-items:center;min-height:36px;text-decoration:underline;text-underline-offset:4px}
.output-note{font-size:.82rem;line-height:1.8;color:var(--ink);padding-top:1.15rem;margin-top:.6rem;border-top:1px solid #cdd4c8;max-width:34ch}
.project-evidence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;padding:1.6rem 0 0;margin-top:.5rem}
.project-evidence>div+div{border-left:1px solid var(--rule);padding-left:2rem}
.project-evidence dt{font-size:1.65rem;line-height:1.3;font-weight:600;letter-spacing:-.035em}
.project-evidence dd{font-size:.8rem;line-height:1.7;color:var(--ink-2);margin-top:.5rem;max-width:29ch}
.home-city{background:#e9ece5;border-block:1px solid #d7ded1;padding:clamp(3rem,5.5vw,5rem) 0}
.home-city-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(3rem,7vw,7rem);align-items:center}
.home-city-copy{min-width:0}
.home-city-copy .eyebrow{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;margin-bottom:1.5rem}
.home-city-copy .eyebrow span{font-weight:400}
.home-city-copy h2{font-size:clamp(2.3rem,4vw,3.6rem);line-height:1.1;letter-spacing:-.045em;text-wrap:initial;margin:0 0 1.5rem}
.home-city-copy>p{max-width:44ch;font-size:.95rem;line-height:1.85;color:var(--ink-2);margin-bottom:1.7rem}
.home-city-copy .home-city-lead{font-size:1.15rem;line-height:1.65;color:var(--ink);margin-bottom:1.2rem}
.home-city-copy .btn{font-size:.85rem;min-height:46px}
.home-city-copy .home-city-context{font-size:.8rem;line-height:1.85;margin:1.5rem 0;max-width:43ch}
.home-city-facts{border-top:1px solid #cbd3c4;padding-top:1rem;display:flex;flex-wrap:wrap;gap:.7rem 1.5rem;font-size:.72rem;line-height:1.7;color:var(--ink-2)}
.home-city .cg-comparison{max-width:330px}
.home-city .cg-photo-credit summary{min-height:36px}
.home-city .cg-comparison noscript{font-size:.75rem;line-height:1.7}
.home-editorial .screen-link:focus-visible,.home-editorial .demo-full:focus-visible,.home-editorial figcaption a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.home-city-grid{grid-template-areas:"heading comparison" "description comparison";grid-template-rows:1fr auto;row-gap:0}
.home-city-copy{grid-area:heading;align-self:end}
.home-city-grid>.cg-comparison{grid-area:comparison}
.home-city-description{grid-area:description;align-self:start;min-width:0}
.home-city-description>p{max-width:44ch;font-size:.95rem;line-height:1.85;color:var(--ink-2);margin-bottom:1.7rem}
.home-city-description .btn{font-size:.85rem;min-height:46px}
.home-city-description .home-city-context{font-size:.8rem;line-height:1.85;margin:1.5rem 0;max-width:43ch}
@media(max-width:1000px){
 .home-editorial .hero-copy{grid-template-columns:1.25fr 1fr;gap:2rem}
 .home-editorial .hero h1{font-size:3.25rem}
 .home-editorial .hero-product{grid-template-columns:minmax(0,2.5fr) minmax(200px,1fr)}
 .home-editorial .hero-product figcaption{padding:1.2rem}
 .home-editorial .hero-product figcaption h2{font-size:1.12rem}
 .demo-steps{margin:1rem 0;gap:.5rem}
 .home-work-intro,.project-heading{gap:1rem 2rem}
 .home-city-grid{gap:3rem}
}
@media(max-width:900px){
 .home-editorial .hero{padding:2.5rem 0}
 .home-editorial .hero-inner{gap:1.75rem}
 .home-editorial .hero-copy{display:block}
 .home-editorial .hero h1{font-size:clamp(2.5rem,6vw,3.6rem);max-width:11.5em;line-height:1.08;margin-bottom:1.2rem}
 .home-editorial .hero-sub{font-size:.95rem;line-height:1.8;max-width:49ch;margin-bottom:1.3rem}
 .home-editorial .hero-product{grid-template-columns:1fr}
 .home-editorial .hero-product figcaption{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;padding:1.25rem}
 .home-editorial .hero-product figcaption .eyebrow{grid-column:1/-1;margin:0 0 .35rem}
 .home-editorial .hero-product figcaption h2{grid-column:1;margin:0;font-size:1.15rem}
 .home-editorial .hero-product figcaption>p:not(.eyebrow){grid-column:1/-1;font-size:.82rem}
 .home-editorial .hero-product figcaption>.tlink{grid-column:2;grid-row:2;align-self:center;font-size:.74rem;margin:0}
 .demo-steps{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin:.6rem 0 0}
 .demo-full{grid-column:1/-1;font-size:.7rem}
 .home-work-intro,.project-heading{grid-template-columns:1fr;gap:1.1rem}
 .home-work-intro{padding-bottom:2rem;margin-bottom:2rem}
 .home-work-intro h2{max-width:10.8em}
 .home-work-intro>p:last-child{max-width:45ch}
 .project-heading{margin-bottom:1.7rem}
 .project-heading>div>p:not(.eyebrow){max-width:55ch}
 .project-spread{grid-template-columns:1fr;gap:1.75rem;padding:1.25rem}
 .project-screen--output{padding-top:0;border-top:1px solid #cbd3c4;padding-top:1.5rem}
 .screen-caption{min-height:0;margin-bottom:.9rem}
 .project-screen--output .screen-link{padding:.5rem}
 .output-note{max-width:48ch;padding-top:.8rem;margin-top:.4rem}
 .project-evidence{gap:1rem;padding-top:1.3rem}
 .project-evidence>div+div{padding-left:1rem}
 .project-evidence dt{font-size:1.25rem}
 .project-evidence dd{font-size:.73rem}
 .home-city-grid{grid-template-columns:1fr;grid-template-areas:"heading" "comparison" "description";grid-template-rows:auto;gap:1.6rem}
 .home-city-copy .home-city-lead{margin-bottom:0}
 .home-city-copy h2{font-size:clamp(2.3rem,6vw,3rem)}
 .home-city-copy>p{max-width:52ch}
 .home-city .cg-comparison{max-width:320px}
}
@media(max-width:420px){
 .home-editorial .hero h1{font-size:clamp(2.1rem,10.25vw,2.5rem)}
 .home-editorial .hero-tag{font-size:.6rem;margin-bottom:1rem}
 .home-editorial .hero-product figcaption{padding:1rem;grid-template-columns:1fr}
 .home-editorial .hero-product figcaption>.tlink{grid-column:1;grid-row:auto;justify-self:start;margin-top:.3rem}
 .home-editorial .hero-product figcaption>p:not(.eyebrow){grid-row:3}
 .demo-steps{grid-row:4;gap:.5rem 1rem}
 .home-editorial .hero-product figcaption>.tlink{grid-row:5}
 .home-editorial .demo-full{grid-row:6}
 .project-spread{padding:1rem}
 .project-heading h3{font-size:1.9rem}
 .project-evidence{grid-template-columns:1fr;gap:.85rem}
 .project-evidence>div,.project-evidence>div+div{display:grid;grid-template-columns:6.5rem 1fr;gap:.6rem;align-items:baseline;border:0;padding:0 0 .85rem;border-bottom:1px solid var(--rule)}
 .project-evidence dd{margin:0;max-width:none}
 .home-city .cg-comparison{max-width:280px}
}


/* AI-edited derivative of a licensed photograph; source credited in the caption. */
.home-nexa{padding:clamp(3rem,5vw,4.5rem) 0;border-bottom:1px solid var(--rule);background:#fff}
.home-nexa-heading{margin-bottom:2rem}
.home-nexa-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);letter-spacing:-.035em;line-height:1.2}
.home-nexa-heading .eyebrow{margin-bottom:.8rem}

.hero-photo{margin:0;min-width:0}
.hero-photo>img{display:block;width:100%;height:auto;aspect-ratio:3.4;object-fit:cover;object-position:50% 50%;filter:saturate(.9);border-radius:4px;background:#292a27}
.hero-photo figcaption{display:flex;justify-content:flex-end;align-items:baseline;flex-wrap:wrap;gap:0 .3rem;padding-top:.55rem;font-size:.65rem;line-height:1.7;color:var(--ink-2)}
.hero-photo figcaption a{display:inline-flex;align-items:center;gap:.35rem;min-height:28px;text-decoration:underline;text-decoration-color:var(--rule);text-underline-offset:3px}
@media(max-width:900px){.hero-photo>img{aspect-ratio:2.6;object-position:50% 50%}}
@media(max-width:560px){.hero-photo>img{aspect-ratio:1.8;object-position:80% 50%}.hero-photo figcaption{justify-content:flex-start;font-size:.62rem}}

/* Product-specific compositions; the existing Mobirom case study is untouched. */
.home-city-description>p{margin-bottom:1.25rem}
.home-city-facts{gap:.5rem 1.2rem;font-size:.75rem}
.home-nexa-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:end;margin-bottom:1.75rem}
.home-nexa-heading h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12;letter-spacing:-.04em;text-wrap:initial}
.home-nexa-heading>p{max-width:40ch;font-size:.94rem;line-height:1.8;color:var(--ink-2);margin:0}
.home-editorial .home-nexa .hero-product{display:block;width:100%;max-width:960px;margin:0 auto;background:#fff;border-color:#d9ddd8}
.home-editorial .home-nexa .demo-player{width:100%}
.home-editorial .home-nexa .hero-product figcaption{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding:1rem 1.4rem}
.home-editorial .home-nexa .hero-product figcaption>p{font-size:.76rem;margin:0;color:var(--ink-2)}
.nexa-actions{display:flex;align-items:center;gap:1.75rem;flex-wrap:wrap}
.home-editorial .home-nexa .hero-product figcaption .tlink{margin:0;font-size:.85rem;min-height:44px}
.home-editorial .home-nexa .demo-full{min-height:44px;font-size:.75rem}
.home-editorial #what-we-do{padding:clamp(2.75rem,4.5vw,4rem) 0}
.home-editorial #what-we-do .sec-head{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:end;max-width:none;margin-bottom:2rem}
.home-editorial #what-we-do .sec-head h2{margin:0;max-width:18em;font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.2}
.home-editorial #what-we-do .sec-head>p{max-width:42ch;margin:0;font-size:.94rem;line-height:1.8}
.home-editorial .worlds{gap:clamp(2rem,5vw,4.5rem)}
.home-editorial .world{padding-top:1.1rem}
.home-editorial .world h3{font-size:1.2rem;line-height:1.4}
.home-editorial .world-lead{font-size:.9rem;line-height:1.75;margin-bottom:0;max-width:52ch}
.home-editorial .world-list{margin-top:1.1rem}
.home-editorial .world-list li{padding:.55rem 0 .8rem;gap:0}
.home-editorial .world-list a{display:flex;justify-content:space-between;min-height:44px;font-size:.91rem}
.home-editorial .world-list li>span{font-size:.8rem}
.home-editorial .world-list a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.home-editorial .delivery-section{padding:clamp(2.75rem,4.5vw,4rem) 0;background:#f4f4f0}
.home-editorial .delivery-section>.wrap{display:grid;grid-template-columns:1fr 1.25fr;column-gap:clamp(2rem,6vw,5rem);align-items:start}
.home-editorial .delivery-section .section-heading{display:block;margin:0}
.home-editorial .delivery-section h2{font-size:clamp(1.8rem,3vw,2.4rem);max-width:15em}
.home-editorial .delivery-section .section-heading>p{font-size:.9rem;margin-top:1.2rem;max-width:36ch}
.home-editorial .delivery-grid{grid-column:2;grid-row:1/3;grid-template-columns:1fr;gap:0}
.home-editorial .delivery-grid li{display:grid;grid-template-columns:2rem 1fr;gap:.3rem 1rem;padding:1rem 0;border-top:1px solid #d6dcd4}
.home-editorial .delivery-grid li:first-child{padding-top:0;border:0}
.home-editorial .delivery-number{grid-row:1/3;margin:.2rem 0 0;font-size:.73rem}
.home-editorial .delivery-grid h3{font-size:1.05rem;margin:0;line-height:1.5}
.home-editorial .delivery-grid p{grid-column:2;font-size:.87rem;line-height:1.75;max-width:52ch;margin:0}
.home-editorial .delivery-note{grid-column:1;align-self:start;font-size:.78rem;line-height:1.75;margin-top:1.5rem;max-width:43ch}
@media(max-width:820px){
 .home-nexa-heading,.home-editorial #what-we-do .sec-head{grid-template-columns:1fr;gap:.9rem;margin-bottom:1.5rem}
 .home-nexa-heading>p{max-width:50ch}
 .home-editorial .home-nexa .hero-product figcaption{align-items:flex-start;flex-direction:column;padding:.9rem 1.1rem;gap:.35rem}
 .nexa-actions{gap:.1rem 1.25rem}
 .home-editorial .worlds{gap:1.75rem}
 .home-editorial .world-lead{max-width:60ch}
 .home-editorial .delivery-section>.wrap{grid-template-columns:1fr;gap:1.5rem}
 .home-editorial .delivery-section .section-heading>p{max-width:50ch;margin-top:.85rem}
 .home-editorial .delivery-grid{grid-column:1;grid-row:auto}
 .home-editorial .delivery-note{margin:0;max-width:55ch}
}
