/* Portfolio extension of Redway's existing navy, red and Archivo visual system. */
:root{--bg:#0a0c11;--panel:#141824;--line:#303747;--chalk:#f4f2ec;--muted:#b3bac9;--red:#e8442e;--link:#ff9282;--amber:#ffb454;--body:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:28px;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--chalk);font:17px/1.65 var(--body);-webkit-font-smoothing:antialiased}a{color:var(--link);text-underline-offset:5px}a:hover{color:var(--chalk)}a:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:5px}img{display:block;max-width:100%;height:auto}svg{width:18px;height:18px;flex:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{letter-spacing:-.035em;line-height:1.08;text-wrap:balance}h1{font-size:clamp(2.7rem,6.4vw,5.6rem);font-weight:850;font-stretch:88%;max-width:15ch}h2{font-size:clamp(1.8rem,3.6vw,3rem);font-weight:800}h3{font-size:1.45rem;font-weight:760}p{color:var(--muted);max-width:68ch}p+p{margin-top:20px}.wrap{width:min(1180px,calc(100% - 72px));margin:auto}.skip{position:absolute;top:-100px;left:20px;z-index:5;background:var(--chalk);color:var(--bg);padding:12px}.skip:focus{top:12px}.site-header{border-bottom:1px solid var(--line);padding:20px 0}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;gap:11px;align-items:center;color:var(--chalk);text-decoration:none;font-weight:800;font-size:1.05rem;white-space:nowrap}.brand img{width:30px;height:30px}.site-nav{display:flex;gap:12px 26px;align-items:center;flex-wrap:wrap;font-size:.93rem}.site-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--muted);text-decoration:none}.site-nav a:hover{color:var(--chalk)}.site-nav a[aria-current=page]{color:var(--chalk);text-decoration:underline;text-decoration-color:var(--red);text-underline-offset:8px}.site-nav .nav-book{padding:6px 18px;border:1px solid var(--line);border-radius:999px;color:var(--chalk)}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;list-style:none;padding:0;margin:28px 0 0;font-size:.83rem;color:var(--muted)}.crumbs li{display:flex;align-items:center;gap:14px}.crumbs li+li:before{content:'/';color:var(--muted)}.crumbs a{color:var(--muted);padding:5px 0}.hub-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:end;padding:60px 0 40px}.hub-intro p{font-size:1.12rem;max-width:49ch}.hub-intro .intro-link{display:inline-flex;min-height:44px;align-items:center;gap:9px;margin-top:17px;font-size:.97rem;font-weight:650}.featured{display:grid;grid-template-columns:1.15fr 1fr;gap:36px;align-items:start;padding-bottom:72px}.feature:nth-child(2){padding-top:80px}.image-link{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:var(--panel)}.image-link img{width:100%;aspect-ratio:8/5;object-fit:cover}.feature .project-type{display:block;color:var(--muted);font-size:.87rem;margin:21px 0 9px}.feature h2{font-size:clamp(1.8rem,3vw,2.65rem)}.feature p{margin-top:12px;font-size:1rem}.text-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:15px;font-weight:700}.project-title-link{color:var(--chalk);text-decoration:none}.project-title-link:hover{color:var(--link)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;padding-top:58px;border-top:1px solid var(--line);margin-bottom:32px}.section-heading p{max-width:42ch;font-size:.98rem}.portfolio-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 36px;padding-bottom:68px}.portfolio-item .project-image{overflow:hidden;border-radius:10px;border:1px solid var(--line);margin-bottom:20px}.portfolio-item .project-image img{width:100%;aspect-ratio:8/5;object-fit:cover}.portfolio-item .type{font-size:.86rem;color:var(--muted);margin-bottom:8px}.portfolio-item p{font-size:.98rem;margin-top:12px}.portfolio-item h3{font-size:1.55rem}.portfolio-item .text-link{font-size:.94rem}.callout{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:start;padding:52px 0 62px;border-top:1px solid var(--line)}.callout p{margin-top:20px}.actions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;margin-top:25px}.btn{display:inline-flex;min-height:48px;justify-content:center;align-items:center;gap:10px;padding:13px 23px;background:var(--chalk);color:var(--bg);border-radius:999px;text-decoration:none;font-weight:750}.btn:hover{background:var(--amber);color:var(--bg)}.callout .package{color:var(--chalk);font-size:1.02rem;margin-top:0}.callout .fine{font-size:.92rem}.site-footer{padding:28px 0 38px;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:14px 28px;flex-wrap:wrap}.site-footer nav{display:flex;gap:22px;flex-wrap:wrap}.site-footer a{color:var(--muted);display:inline-flex;align-items:center;min-height:44px}.footer-label{padding-top:9px}.case-intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end;padding:39px 0 36px}.case-intro .lead{font-size:1.22rem;max-width:48ch;color:var(--chalk)}.case-intro .lead+p{font-size:1rem;margin-top:17px}.case-intro .actions{margin-top:17px}.case-intro h1{max-width:12ch}.case-facts{display:flex;flex-wrap:wrap;gap:22px 42px;margin:24px 0 0;padding:0}.case-facts div{min-width:90px}.case-facts dt{font-size:.79rem;color:var(--muted);margin-bottom:3px}.case-facts dd{margin:0;font-size:.94rem;color:var(--chalk)}.case-hero{margin-bottom:68px}.case-hero .wide-image{width:100%;aspect-ratio:8/5;object-fit:cover;border-radius:12px;border:1px solid var(--line)}figcaption{font-size:.84rem;color:var(--muted);margin-top:12px;line-height:1.55;max-width:70ch}.chapter{display:grid;grid-template-columns:.82fr 1.4fr;gap:95px;padding:52px 0;border-top:1px solid var(--line)}.chapter h2{max-width:15ch}.chapter .chapter-copy p{font-size:1.05rem}.details-list{list-style:none;margin:28px 0 0;padding:0}.details-list li{border-top:1px solid var(--line);padding:20px 0;display:grid;grid-template-columns:.65fr 1fr;gap:25px}.details-list strong{color:var(--chalk);font-weight:700;font-size:1.02rem}.details-list span{color:var(--muted);font-size:.98rem}.workflow{display:grid;grid-template-columns:1.3fr .7fr;gap:110px;align-items:start;padding:60px 0 68px;border-top:1px solid var(--line)}.workflow-copy>p{font-size:1.05rem;margin-top:24px}.workflow-copy h2{max-width:18ch}.workflow .details-list li{grid-template-columns:1fr;gap:7px}.phone-figure{max-width:310px;justify-self:center}.phone-figure img{border:1px solid var(--line);border-radius:18px;width:100%}.related{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}.related p{margin-top:16px}.related img{width:100%;border-radius:10px;border:1px solid var(--line);aspect-ratio:8/5;object-fit:cover}.related .text-link{font-size:1.1rem}.end-note{font-size:.87rem;padding:0 0 28px;color:var(--muted)}
@media(max-width:850px){.wrap{width:calc(100% - 40px)}.hub-intro{gap:30px;padding-top:40px}.featured{gap:26px}.feature:nth-child(2){padding-top:55px}.case-intro{gap:35px}.chapter{gap:42px;grid-template-columns:.8fr 1.2fr}.workflow{gap:50px}.details-list li{grid-template-columns:1fr;gap:7px}.callout{gap:38px}.section-heading{align-items:start;gap:28px}}
@media(max-width:620px){.site-header{padding:15px 0 10px}.header-inner{align-items:flex-start;flex-direction:column;gap:10px}.site-nav{gap:0 22px;font-size:.86rem}.site-nav .nav-book{padding:5px 13px}.hub-intro{display:block;padding:34px 0 28px}.hub-intro p{margin-top:20px;font-size:1.03rem}.hub-intro .intro-link{margin-top:8px}.featured{grid-template-columns:1fr;gap:35px;padding-bottom:40px}.feature:nth-child(2){padding-top:0}.feature .project-type{margin-top:18px}.feature h2{font-size:2rem}.feature p{font-size:.97rem}.section-heading{display:block;padding-top:36px;margin-bottom:25px}.section-heading p{margin-top:17px}.portfolio-list{grid-template-columns:1fr;gap:34px;padding-bottom:42px}.portfolio-item .project-image{margin-bottom:15px}.callout{grid-template-columns:1fr;gap:28px;padding:37px 0 44px}.case-intro{display:block;padding:28px 0 30px}.case-intro .case-summary{margin-top:26px}.case-intro .lead{font-size:1.13rem}.case-facts{gap:17px 26px;margin-top:19px}.case-hero{margin-bottom:40px}.chapter{grid-template-columns:1fr;gap:25px;padding:36px 0}.chapter h2{max-width:20ch}.chapter .chapter-copy p{font-size:1rem}.workflow{grid-template-columns:1fr;gap:32px;padding:38px 0 42px}.workflow-copy>p{font-size:1rem}.phone-figure{max-width:290px}.related{grid-template-columns:1fr;gap:22px;padding:35px 0}.related img{order:1}.related>div{order:2}.crumbs{margin-top:19px;font-size:.78rem;gap:5px 10px}.crumbs li{gap:10px}.btn{font-size:.93rem;padding:12px 20px}.footer-inner{display:block}.site-footer nav{margin-top:8px;gap:20px}.site-footer{padding:22px 0 28px}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}.image-link img{transition:filter .24s ease-out}.image-link:hover img{filter:brightness(1.045)}}

/* Flagship case leads the portfolio; keep the existing paired cases below. */
.lead-case{display:grid;grid-template-columns:1.2fr 1fr;gap:clamp(28px,5vw,64px);align-items:center;margin:0 0 64px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.lead-case .project-type{margin-top:0}.lead-case h2{font-size:clamp(2rem,3.6vw,3rem);line-height:1.12;margin:18px 0}.lead-case p{color:var(--muted);max-width:48ch}.lead-case .fine{margin-top:22px}
@media(max-width:620px){.lead-case{grid-template-columns:1fr;gap:26px;margin-bottom:40px;padding-bottom:32px}}

/* Compact 3D capability teaser: keeps the EduBooks lead project in place above it. */
.work-3d{display:grid;grid-template-columns:minmax(0,.7fr) 1.3fr;gap:clamp(28px,5vw,60px);align-items:center;margin:0 0 64px;padding-bottom:48px;border-bottom:1px solid var(--line)}
.work-3d .shot{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;align-items:center;justify-content:center;min-height:240px}
.work-3d .shot img{max-height:230px;width:auto;height:auto}
.work-3d .project-type{display:block;color:var(--muted);font-size:.87rem;margin:0 0 9px}
.work-3d h2{font-size:clamp(1.8rem,3vw,2.65rem)}
.work-3d p{margin-top:12px;font-size:1rem}
@media(max-width:620px){.work-3d{grid-template-columns:1fr;gap:24px;margin-bottom:40px;padding-bottom:32px}.work-3d .shot{min-height:180px}.work-3d .shot img{max-height:180px}}
