/* Public portfolio collection: editorial homepage, scalable products page. */
.portfolio-overview{padding-block:60px 96px;border-top:1px solid var(--line)}
.portfolio-header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:end;margin-bottom:32px}
.portfolio-header .eyebrow{margin-bottom:15px}
.portfolio-header h2{font-size:clamp(2rem,3.9vw,3.75rem);letter-spacing:-.052em;line-height:1.09}
.portfolio-header .text-link{margin-bottom:4px}
.portfolio-header-copy{max-width:550px;margin-top:15px;color:var(--muted);font-size:1.04rem}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.portfolio-overview:not(.portfolio-overview--collection) .portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.portfolio-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.portfolio-card:hover{transform:translateY(-3px);border-color:#b4c5bd;box-shadow:0 18px 44px rgba(18,40,37,.08)}
.portfolio-card:focus-visible{outline:2px solid var(--teal);outline-offset:5px}
.portfolio-card-media{display:flex;align-items:center;justify-content:center;aspect-ratio:16/10;overflow:hidden;background:#e8ece8}
.portfolio-card-media img{width:100%;height:100%;object-fit:cover}
.portfolio-card-media--icon{background:linear-gradient(130deg,#edf0ea,#f8f9f6)}
.portfolio-card-media--icon img{width:min(42%,144px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:27%;box-shadow:0 10px 30px rgba(13,22,25,.16)}
.portfolio-card-info{position:relative;display:flex;flex-direction:column;gap:8px;flex:1;min-height:188px;padding:23px 23px 27px}
.portfolio-card-overline{font-size:.72rem;letter-spacing:.095em;text-transform:uppercase;color:var(--muted);font-weight:500}
.portfolio-card-dot{padding-inline:7px}
.portfolio-card-info strong{font-size:1.5rem;line-height:1.16;letter-spacing:-.037em;font-weight:500}
.portfolio-card-tagline{font-size:.98rem;font-weight:500;line-height:1.3}
.portfolio-card-description{font-size:.91rem;line-height:1.48;color:var(--muted);padding-right:25px}
.portfolio-card-arrow{position:absolute;right:22px;bottom:20px;font-size:1.2rem;color:var(--teal)}
.featured-intro{padding-block:30px 12px;display:flex;justify-content:space-between;gap:24px;align-items:end}
.featured-intro p{max-width:480px;color:var(--muted)}
.shop-spotlight{padding-block:34px 96px;border-top:1px solid var(--line)}
.shop-spotlight .portfolio-header{margin-bottom:27px}
.shop-spotlight h2{font-size:clamp(1.75rem,3.3vw,2.75rem)}
.shop-referral-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.shop-referral-grid .shop-product-link{grid-column:auto;grid-row:auto;aspect-ratio:1.2;overflow:hidden;border-radius:12px}
.shop-referral-grid .shop-product-link .shop-photo{width:100%;height:100%;object-fit:cover}
.shop-referral-note{color:var(--muted);font-size:.85rem;margin-top:18px}
.collection-hero{padding-block:76px 62px}
.collection-hero h1{max-width:900px;margin-top:22px;font-size:clamp(3rem,6.2vw,6.4rem);line-height:1.03;letter-spacing:-.055em}
.collection-hero h1 span{color:var(--teal)}
.collection-hero p:not(.eyebrow){max-width:610px;margin-top:23px;color:var(--muted);font-size:1.15rem}
.portfolio-overview--collection{border-top:1px solid var(--line);padding-top:45px}
@media(max-width:1200px){.portfolio-overview:not(.portfolio-overview--collection) .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1050px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .portfolio-overview{padding-block:45px 68px}
 .portfolio-header{grid-template-columns:1fr;gap:10px;margin-bottom:23px}
 .portfolio-header .eyebrow{margin-bottom:13px}
 .portfolio-header h2{font-size:2.25rem}
 .portfolio-header .text-link{margin-top:8px}
 .portfolio-grid,.portfolio-overview:not(.portfolio-overview--collection) .portfolio-grid{grid-template-columns:1fr;gap:13px}
 .portfolio-card{display:grid;grid-template-columns:112px minmax(0,1fr);border-radius:12px}
 .portfolio-card-media{aspect-ratio:auto;min-height:155px;height:100%}
 .portfolio-card-media img{height:100%;width:100%;object-fit:cover}
 .portfolio-card-media--icon img{width:74px;height:74px;object-fit:contain;border-radius:19%}
 .portfolio-card-info{min-height:155px;padding:15px 31px 15px 15px;gap:5px}
 .portfolio-card-overline{font-size:.65rem;letter-spacing:.035em}
 .portfolio-card-dot{padding-inline:4px}
 .portfolio-card-info strong{font-size:1.24rem}
 .portfolio-card-tagline{font-size:.9rem}
 .portfolio-card-description{font-size:.8rem;line-height:1.42;padding-right:0}
 .portfolio-card-arrow{right:12px;bottom:10px;font-size:1rem}
 .featured-intro{padding-top:22px;display:block}
 .shop-spotlight{padding-block:28px 72px}
 .shop-referral-grid{gap:9px}
 .shop-referral-grid .shop-product-link{aspect-ratio:.8;border-radius:7px}
 .collection-hero{padding-block:50px 46px}
 .collection-hero h1{font-size:clamp(2.7rem,10.6vw,4rem)}
 .collection-hero p:not(.eyebrow){font-size:1.03rem}
}
@media(prefers-reduced-motion:reduce){.portfolio-card{transition:none}.portfolio-card:hover{transform:none}}

/* Two focused software features, a separate three-app collection, then Shop. */
.featured-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:22px 55px;align-items:end;padding:55px 0 28px}
.featured-heading .eyebrow{grid-column:1/-1}
.featured-heading h2{font-size:clamp(2.1rem,3.6vw,3.6rem);line-height:1.1;letter-spacing:-.05em}
.featured-heading>p:last-child{max-width:390px;color:var(--muted);font-size:1.05rem}
.feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding-bottom:70px}
.feature-tile{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:14px}
.feature-visual{height:clamp(230px,26vw,325px);width:100%;overflow:hidden;background:#0e1820}
.feature-via-visual img{display:block;width:100%;height:100%;object-fit:cover}
.feature-clear-gallery{display:grid;grid-template-columns:1.4fr .8fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:3px}
.feature-clear-image{min-width:0;min-height:0;position:relative;overflow:hidden}
.feature-clear-image--main{grid-row:1/3}
.feature-clear-image img{width:100%;height:100%;object-fit:cover}
.feature-clear-image:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.6));pointer-events:none}
.feature-clear-image span{position:absolute;z-index:1;bottom:12px;left:12px;color:#fff;font-size:.76rem;font-weight:500;text-shadow:0 1px 5px rgba(0,0,0,.45)}
.feature-copy{padding:29px 31px 32px;display:flex;flex:1;flex-direction:column;align-items:flex-start}
.feature-copy .product-label{margin-bottom:17px;font-size:.79rem}
.feature-copy h3{font-size:clamp(1.85rem,2.65vw,2.8rem);line-height:1.12;letter-spacing:-.045em}
.feature-copy>p{margin-top:17px;max-width:440px;color:var(--muted);font-size:1rem;line-height:1.6}
.feature-copy .text-link{margin-top:auto;padding-top:25px;gap:20px;font-size:.96rem}
.feature-copy .text-link span[aria-hidden]{font-size:1.35rem;color:var(--teal);line-height:1}
.portfolio-overview.apps-overview{padding-block:58px 86px}
.portfolio-overview.apps-overview .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.apps-overview .portfolio-card-media{background:linear-gradient(130deg,#edf1ec,#f8f9f6)}
.apps-overview .portfolio-card-media img{width:min(43%,150px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:24%;box-shadow:0 10px 25px rgba(0,0,0,.15)}
.apps-overview .portfolio-card-info{min-height:166px}
@media(max-width:900px){
 .featured-heading{grid-template-columns:1fr;gap:14px}
 .featured-heading .eyebrow{grid-column:auto}
 .feature-grid{gap:14px}
 .feature-visual{height:230px}
 .feature-copy{padding:24px}
 .feature-copy h3{font-size:clamp(1.65rem,3vw,2.4rem)}
 .portfolio-overview.apps-overview .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 .featured-heading{padding:40px 0 24px}
 .featured-heading h2{font-size:clamp(2rem,8vw,2.8rem)}
 .featured-heading>p:last-child{font-size:1rem}
 .feature-grid{grid-template-columns:1fr;gap:18px;padding-bottom:44px}
 .feature-visual{height:clamp(200px,55vw,290px)}
 .feature-copy{padding:24px}
 .feature-copy h3{font-size:clamp(1.9rem,7vw,2.45rem)}
 .feature-clear-image span{font-size:.66rem;bottom:9px;left:9px}
 .portfolio-overview.apps-overview{padding-block:42px 68px}
 .portfolio-overview.apps-overview .portfolio-grid{grid-template-columns:1fr}
 .apps-overview .portfolio-card-media img{width:74px;height:74px;border-radius:19%}
 .apps-overview .portfolio-card-info{min-height:155px}
}

/* Respect the production site's restrained label hierarchy instead of
   promoting every collection into a competing large marketing headline. */
.featured-heading{display:block;padding:56px 0 34px}
.featured-heading h2.eyebrow,.apps-overview .portfolio-header h2.eyebrow{font-size:.8125rem;line-height:1.4;letter-spacing:.13em;font-weight:500;text-transform:uppercase;color:var(--muted);margin:0}
.apps-overview .portfolio-header h2.eyebrow{margin-bottom:0}
.feature-copy h3{font-size:clamp(1.9rem,2.3vw,2.6rem);line-height:1.12;letter-spacing:-.048em}
.shop-spotlight h2{font-size:clamp(1.9rem,2.3vw,2.6rem);line-height:1.12;letter-spacing:-.048em}
.feature-copy .trust-line{font-size:.85rem;line-height:1.6;color:var(--ink);margin-top:18px}
.feature-copy .text-link{margin-top:auto}
/* Source art is 1672×941 and contains its own top captions. Do not crop. */
.feature-visual{height:auto;aspect-ratio:1672 / 941}
.feature-via-visual img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#0a101c}
@media(max-width:900px){.featured-heading{padding:46px 0 30px}.feature-visual{height:auto;aspect-ratio:1672 / 941}}
@media(max-width:640px){.featured-heading{padding:38px 0 26px}.featured-heading h2.eyebrow,.apps-overview .portfolio-header h2.eyebrow{font-size:.75rem;letter-spacing:.11em}.feature-visual{height:auto;aspect-ratio:1672 / 941}.feature-copy h3{font-size:clamp(1.9rem,7vw,2.4rem)}.shop-spotlight h2{font-size:clamp(1.9rem,7vw,2.4rem)}}

/* Shared editorial hierarchy: one brand statement, modest section titles. */
.featured-heading{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(235px,.7fr);column-gap:clamp(24px,5vw,78px);row-gap:15px;align-items:end;padding:55px 0 30px}
.featured-heading>.eyebrow{grid-column:1/-1;margin:0}
.featured-heading h2{font-size:clamp(2rem,2.35vw,2.3rem);line-height:1.12;letter-spacing:-.047em;font-weight:500}
.featured-heading>p:last-child{font-size:1rem;color:var(--muted);max-width:385px;line-height:1.65;margin:0;justify-self:end}
.feature-copy h3{font-size:clamp(1.55rem,1.9vw,1.82rem);line-height:1.17;letter-spacing:-.042em}
.apps-overview .portfolio-header .eyebrow{margin-bottom:14px}
.apps-overview .portfolio-header h2{font-size:clamp(2rem,2.35vw,2.3rem);line-height:1.12;letter-spacing:-.047em;font-weight:500}
.apps-overview .portfolio-header-copy{font-size:1rem;line-height:1.65;margin-top:12px}
.shop-spotlight h2{font-size:clamp(2rem,2.35vw,2.3rem);line-height:1.12}
.portfolio-card-store{margin-top:auto;padding-top:10px;min-height:52px;display:flex;align-items:flex-end;width:fit-content}
.portfolio-card-store img{display:block;height:42px;width:auto;max-width:100%;object-fit:contain}
.portfolio-card-info:has(.portfolio-card-store){padding-bottom:22px}
.portfolio-card-info:has(.portfolio-card-store) .portfolio-card-arrow{bottom:23px}
.portfolio-card:has(.portfolio-card-store):hover .portfolio-card-store{filter:brightness(1.06)}
/* Work: cropped-height counterpart of the approved key/tree hero, not a second slogan. */
.work-masthead{position:relative;isolation:isolate;overflow:hidden;min-height:244px;background:#00141e;color:#fff;display:flex;align-items:center}
.work-masthead>img{position:absolute;z-index:0;inset:0 auto auto 0;width:auto;height:100%;max-width:none;object-fit:contain;object-position:left center;mask-image:linear-gradient(to right,#000 0%,#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 76%,transparent 100%)}
.work-masthead-copy{position:relative;z-index:1;padding-block:32px}
.work-masthead-words{margin-left:53%;max-width:570px}
.work-masthead-words .eyebrow{color:#bed0cb;font-size:.7rem;letter-spacing:.13em}
.work-brandline{margin-top:12px;color:#fff;font-size:clamp(1.7rem,2.4vw,2.4rem);font-weight:500;line-height:1.12;letter-spacing:-.049em}
.work-studio-line{margin-top:11px;max-width:380px;color:#d8e5e2;font-size:.89rem;line-height:1.55}
.collection-intro{padding-block:46px 44px}
.collection-intro>.eyebrow{margin-bottom:14px}
.collection-intro h1{font-size:clamp(2rem,2.35vw,2.3rem);line-height:1.12;letter-spacing:-.047em;font-weight:500}
.collection-intro>p:last-child{margin-top:12px;color:var(--muted);font-size:1rem;line-height:1.65;max-width:650px}
.portfolio-overview--collection{padding-top:38px}
@media(max-width:900px){
 .featured-heading{grid-template-columns:1fr;gap:12px;padding:46px 0 28px}
 .featured-heading .eyebrow{grid-column:1/-1}
 .featured-heading>p:last-child{justify-self:start}
 .work-masthead{min-height:220px}
 .work-masthead-words{margin-left:51%}
 .work-brandline{font-size:clamp(1.7rem,3vw,2.1rem)}
}
@media(max-width:640px){
 .featured-heading{padding:40px 0 24px}
 .featured-heading h2,.apps-overview .portfolio-header h2,.shop-spotlight h2{font-size:clamp(1.8rem,7.1vw,2.05rem)}
 .featured-heading>p:last-child{font-size:.96rem}
 .feature-copy h3{font-size:clamp(1.55rem,6vw,1.8rem)}
 .portfolio-card-store{padding-top:6px;min-height:45px}
 .portfolio-card-store img{height:36px}
 .apps-overview .portfolio-card-info{min-height:178px;padding-bottom:17px}
 .portfolio-card-info:has(.portfolio-card-store){padding-bottom:17px}
 .portfolio-card-info:has(.portfolio-card-store) .portfolio-card-arrow{bottom:21px}
 .work-masthead{min-height:240px}
 .work-masthead>img{left:-28%;opacity:.45;mask-image:none;-webkit-mask-image:none}
 .work-masthead::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(0,20,30,.42),rgba(0,20,30,.74))}
 .work-masthead-copy{padding-block:31px}
 .work-masthead-words{margin-left:0;max-width:410px}
 .work-brandline{font-size:clamp(1.7rem,7.5vw,2.15rem)}
 .work-studio-line{font-size:.87rem;max-width:345px}
 .collection-intro{padding-block:38px 37px}
 .collection-intro h1{font-size:2rem}
 .collection-intro>p:last-child{font-size:.97rem}
 .portfolio-overview--collection>.wrap{padding-top:28px}
}

/* Featured products: quiet editorial split rows, following the live site. */
.featured-heading{padding:52px 0 24px}
.editorial-product{display:grid;grid-template-columns:minmax(0,.80fr) minmax(0,1.20fr);gap:clamp(30px,5.9vw,85px);align-items:center;border-top:1px solid var(--line);padding-block:30px 35px}
.editorial-product--via{grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr)}
.editorial-product--via .editorial-product-media{grid-column:1;grid-row:1}
.editorial-product--via .editorial-product-copy{grid-column:2;grid-row:1}
.editorial-product-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0}
.editorial-product-copy .product-label{margin-bottom:20px}
.editorial-product-copy h3{font-size:clamp(1.8rem,2vw,2.2rem);line-height:1.12;letter-spacing:-.045em}
.editorial-product-copy>p{max-width:440px;margin-top:20px;color:var(--muted);font-size:1rem;line-height:1.6}
.editorial-product-copy>.trust-line{color:var(--ink);font-size:.84rem;margin-top:16px}
.editorial-product-copy .text-link{margin-top:25px;gap:22px;font-size:.94rem}
.editorial-product-copy .text-link span[aria-hidden]{font-size:1.3rem;color:var(--teal)}
.editorial-product-media{min-width:0;margin:0}
.editorial-product-media .feature-visual{display:block;height:auto;width:100%;aspect-ratio:1672/941;overflow:hidden;border-radius:3px}
.editorial-product-media .feature-clear-gallery{display:grid}
.editorial-product-media .feature-via-visual img{display:block;width:100%;height:100%;object-fit:contain}
.editorial-product-media figcaption{font-size:.73rem;line-height:1.55;color:var(--muted);margin-top:12px}
.work-section .wrap>.editorial-product:last-child{padding-bottom:58px}
.portfolio-overview.apps-overview .portfolio-header h2{font-size:clamp(2rem,2.35vw,2.3rem)}
/* Key/tree image and headline share the header's centered wrap. No full-bleed image. */
.work-masthead{background:transparent;min-height:0;display:block;margin-top:24px}
.work-masthead-frame{position:relative;isolation:isolate;overflow:hidden;min-height:244px;background:#00141e;display:flex;align-items:center}
.work-masthead .work-masthead-frame>img{position:absolute;z-index:0;left:0;top:0;width:auto;height:100%;max-width:none;object-fit:contain;object-position:left center;mask-image:linear-gradient(to right,#000 0%,#000 76%,transparent 100%);-webkit-mask-image:linear-gradient(to right,#000 0%,#000 76%,transparent 100%)}
.work-masthead .work-masthead-copy{position:relative;z-index:1;width:100%;padding:30px clamp(20px,4vw,58px)}
.work-masthead .work-masthead-words{margin-left:53%;max-width:570px}
.collection-intro h1{font-size:clamp(2rem,2.35vw,2.3rem)}
@media(max-width:900px){
 .editorial-product,.editorial-product--via{gap:25px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .editorial-product-copy h3{font-size:clamp(1.85rem,3.2vw,2.25rem)}
 .work-masthead-frame{min-height:220px}
 .work-masthead .work-masthead-words{margin-left:49%}
}
@media(max-width:640px){
 .featured-heading{padding:38px 0 23px}
 .editorial-product,.editorial-product--via{display:flex;flex-direction:column;gap:25px;padding-block:28px 34px;align-items:stretch}
 .editorial-product--clear .editorial-product-copy{order:0}
 .editorial-product--clear .editorial-product-media{order:1}
 .editorial-product--via .editorial-product-copy{order:0}
 .editorial-product--via .editorial-product-media{order:1}
 .editorial-product-copy h3{font-size:clamp(1.65rem,5.9vw,1.9rem)}
 .editorial-product-copy>p{margin-top:16px}
 .editorial-product-copy .text-link{margin-top:20px}
 .editorial-product-media figcaption{font-size:.72rem;margin-top:9px}
 .work-section .wrap>.editorial-product:last-child{padding-bottom:43px}
 .work-masthead{margin-top:16px}
 .work-masthead-frame{min-height:245px}
 .work-masthead .work-masthead-frame>img{left:-29%;opacity:.52;mask-image:none;-webkit-mask-image:none}
 .work-masthead-frame::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(0,20,30,.44),rgba(0,20,30,.74))}
 .work-masthead .work-masthead-copy{padding:28px 25px}
 .work-masthead .work-masthead-words{margin-left:0;max-width:410px}
}

/* Bring editorial text back to the deployed ARCU Labs product scale. */
.featured-heading{display:block;padding:42px 0 18px}
.featured-heading h2.eyebrow{font-size:.8125rem;letter-spacing:.13em;font-weight:500;line-height:1.4;text-transform:uppercase;color:var(--muted);margin:0}
.editorial-product-copy h3{font-size:clamp(2.4rem,3.5vw,3.375rem);line-height:1.12;letter-spacing:-.048em}
.editorial-product-copy>p{font-size:1.125rem;line-height:1.65;max-width:440px;margin-top:26px}
.editorial-product-copy>.trust-line{font-size:.875rem;line-height:1.6;margin-top:18px}
.editorial-product-copy .text-link{margin-top:29px}
.shop-editorial .product--shop{border-top:1px solid var(--line);grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}
.shop-editorial .product--shop .product-figure{grid-column:1;grid-row:1}
.shop-editorial .product--shop .product-copy{grid-column:2;grid-row:1}
@media(max-width:900px){
  .shop-editorial .product--shop{grid-template-columns:1fr}
  .shop-editorial .product--shop .product-copy,
  .shop-editorial .product--shop .product-figure{grid-column:auto;grid-row:auto}
}
.collection-intro{padding-block:35px 26px}
.collection-intro h1{font-size:clamp(2.2rem,3vw,2.9rem);font-weight:500}
.portfolio-overview--collection{border-top:0;padding-top:0}
.portfolio-overview--collection>.wrap{border-top:1px solid var(--line);padding-top:27px}
.shop-page-intro{padding-block:58px 46px}
.shop-page-intro .eyebrow{margin-bottom:22px}
.shop-page-intro h1{font-size:clamp(2.4rem,3.5vw,3.375rem);letter-spacing:-.048em;line-height:1.12;font-weight:500}
.shop-page-intro>p:not(.eyebrow){font-size:1.125rem;line-height:1.65;color:var(--muted);max-width:660px;margin-top:22px}
.shop-page-intro .text-link{margin-top:25px}
.shop-page-collection{border-top:0;padding-block:0 76px}
.shop-page-collection>.wrap{border-top:1px solid var(--line);padding-top:42px}
.shop-page-collection .shop-referral-note{margin-top:20px}
@media(max-width:900px){.editorial-product-copy h3{font-size:3rem}.shop-page-intro{padding-block:48px 38px}}
@media(max-width:640px){
 .featured-heading{padding:33px 0 18px}
 .editorial-product-copy h3{font-size:2.4rem}
 .editorial-product-copy>p{font-size:1.0625rem;margin-top:22px}
 .editorial-product-copy .text-link{margin-top:21px}
 .collection-intro{padding-block:30px 22px}
 .collection-intro h1{font-size:2.15rem}
 .portfolio-overview--collection>.wrap{padding-top:23px}
 .shop-page-intro{padding-block:38px 32px}
 .shop-page-intro h1{font-size:2.4rem}
 .shop-page-intro>p:not(.eyebrow){font-size:1.0625rem}
 .shop-page-collection{padding-bottom:52px}
  .shop-page-collection>.wrap{padding-top:28px}
}

/* Homepage app chapter: editorial introduction beside compact scalable app grid.
   The full descriptions remain available in the /work collection. */
.apps-overview .apps-editorial-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:clamp(24px,3vw,48px);align-items:center}
.apps-overview .apps-editorial-layout .portfolio-header{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin:0;min-width:0}
.apps-overview .apps-editorial-layout .portfolio-header h2{font-size:clamp(2.4rem,3.5vw,3.375rem);line-height:1.12;letter-spacing:-.048em;font-weight:500;text-wrap:balance}
.apps-overview .apps-editorial-layout .portfolio-header .eyebrow{margin-bottom:14px}
.apps-overview .apps-editorial-layout .portfolio-header-copy{font-size:1.05rem;line-height:1.65;max-width:330px;margin-top:18px}
.apps-overview .apps-editorial-layout .portfolio-header .text-link{margin:14px 0 0}
.portfolio-overview.apps-overview .apps-editorial-layout .portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:440px;width:100%;justify-self:start;align-self:center}
.apps-overview .apps-editorial-layout .portfolio-card{border-radius:11px}
.apps-overview .apps-editorial-layout .portfolio-card-media{aspect-ratio:2/1}
.apps-overview .apps-editorial-layout .portfolio-card-media img{width:min(49%,92px);height:auto;aspect-ratio:1;object-fit:contain;border-radius:23%}
.apps-overview .apps-editorial-layout .portfolio-card-media:not(.portfolio-card-media--icon) img{width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;box-shadow:none}
.apps-overview .apps-editorial-layout .portfolio-card-info{padding:12px 13px 13px;gap:5px;min-height:133px}
.apps-overview .apps-editorial-layout .portfolio-card-overline{font-size:.59rem;letter-spacing:.055em}
.apps-overview .apps-editorial-layout .portfolio-card-info strong{font-size:1.16rem}
.apps-overview .apps-editorial-layout .portfolio-card-tagline{font-size:.82rem;line-height:1.35}
.apps-overview .apps-editorial-layout .portfolio-card-description{display:none}
.apps-overview .apps-editorial-layout .portfolio-card-store{min-height:34px;padding-top:4px}
.apps-overview .apps-editorial-layout .portfolio-card-store img{height:30px;width:auto;max-width:100%}
.apps-overview .apps-editorial-layout .portfolio-card-arrow{right:10px;bottom:13px;font-size:1.05rem}
@media(max-width:1000px){
 .apps-overview .apps-editorial-layout{grid-template-columns:1fr;row-gap:26px}
 .apps-overview .apps-editorial-layout .portfolio-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:20px}
 .apps-overview .apps-editorial-layout .portfolio-header-copy{max-width:550px}
 .portfolio-overview.apps-overview .apps-editorial-layout .portfolio-grid{gap:14px;max-width:540px;justify-self:start}
 .apps-overview .apps-editorial-layout .portfolio-card-info{min-height:133px}
}
@media(max-width:640px){
 .apps-overview .apps-editorial-layout .portfolio-header{display:flex;align-items:flex-start;gap:8px}
 .apps-overview .apps-editorial-layout .portfolio-header h2{font-size:2.4rem}
 .apps-overview .apps-editorial-layout .portfolio-header .text-link{margin-top:8px}
 .portfolio-overview.apps-overview .apps-editorial-layout .portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .apps-overview .apps-editorial-layout .portfolio-card{display:flex;flex-direction:column}
 .apps-overview .apps-editorial-layout .portfolio-card-media{height:auto;min-height:0;aspect-ratio:16/10}
 .apps-overview .apps-editorial-layout .portfolio-card-info{padding:14px 14px 15px;min-height:140px}
}
@media(max-width:440px){
 .portfolio-overview.apps-overview .apps-editorial-layout .portfolio-grid{grid-template-columns:1fr;gap:12px}
 .apps-overview .apps-editorial-layout .portfolio-card{display:grid;grid-template-columns:112px minmax(0,1fr)}
 .apps-overview .apps-editorial-layout .portfolio-card-media{aspect-ratio:auto;min-height:130px;height:100%}
 .apps-overview .apps-editorial-layout .portfolio-card-media img{width:92px}
 .apps-overview .apps-editorial-layout .portfolio-card-media:not(.portfolio-card-media--icon) img{object-fit:cover;height:100%;width:100%}
 .apps-overview .apps-editorial-layout .portfolio-card-info{min-height:130px;padding:13px 27px 12px 13px}
 .apps-overview .apps-editorial-layout .portfolio-card-store img{height:29px}
 .apps-overview .apps-editorial-layout .portfolio-card-arrow{right:10px;bottom:11px}
}

/* Uncropped wide art on Work; unchanged full-card ratios and original image files. */
.portfolio-overview--collection .portfolio-card-media--contain img{object-fit:contain}
.portfolio-overview--collection .portfolio-card-media--night{background:#0b0d20}
/* Page introduction typography mirrors the existing desktop cinematic hero. */
:root{--arcu-page-hero-title:clamp(2.5rem,3.45vw,4.25rem);--arcu-page-hero-subtitle:clamp(.94rem,1.2vw,1.2rem)}
.collection-intro h1,.shop-page-intro h1,.about-hero--studio h1{font-size:var(--arcu-page-hero-title);line-height:1.075;letter-spacing:-.055em;font-weight:500}
.collection-intro>p:last-child,.shop-page-intro>p:not(.eyebrow),.about-hero--studio .about-intro{font-size:var(--arcu-page-hero-subtitle);line-height:1.6}
@media(max-width:640px){:root{--arcu-page-hero-title:clamp(2.25rem,7vw,2.7rem);--arcu-page-hero-subtitle:1rem}}

/* Mobile editorial order and unified card measurements. Desktop composition unchanged. */
@media(max-width:640px){
  /* Wide Work images belong in landscape frames, not narrow vertical strips. */
  .portfolio-overview--collection .portfolio-grid{grid-template-columns:1fr;gap:16px}
  .portfolio-overview--collection .portfolio-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 208px;height:auto}
  .portfolio-overview--collection .portfolio-card-media{display:flex;align-items:center;justify-content:center;width:100%;height:auto;min-height:0;aspect-ratio:16/9}
  .portfolio-overview--collection .portfolio-card-media img{width:100%;height:100%;object-fit:cover}
  .portfolio-overview--collection .portfolio-card-media--contain img{object-fit:contain}
  .portfolio-overview--collection .portfolio-card-media--icon img{width:clamp(94px,27vw,128px);height:auto;aspect-ratio:1;object-fit:contain}
  .portfolio-overview--collection .portfolio-card-info{min-height:0;height:208px;padding:15px 19px 17px;gap:5px}
  .portfolio-overview--collection .portfolio-card-info strong{font-size:1.3rem}
  .portfolio-overview--collection .portfolio-card-tagline{font-size:.92rem;line-height:1.35}
  .portfolio-overview--collection .portfolio-card-description{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:.85rem;line-height:1.45}
  .portfolio-overview--collection .portfolio-card-store{margin-top:auto;padding-top:4px;min-height:34px}
  .portfolio-overview--collection .portfolio-card-store img{height:34px}
  /* App cards stay equal-sized within the same breakpoint and grid. */
  .portfolio-overview.apps-overview .apps-editorial-layout .portfolio-grid{grid-auto-rows:1fr;align-items:stretch}
  .apps-overview .apps-editorial-layout .portfolio-card{height:100%}
  .apps-overview .apps-editorial-layout .portfolio-card-info{min-height:0;height:164px}
  .apps-overview .apps-editorial-layout .portfolio-card-tagline{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden}
}
@media(max-width:440px){
  /* Narrow phone app cards: image-forward 55/45 split, with readable copy on the right. */
  .apps-overview .apps-editorial-layout .portfolio-card{height:168px;grid-template-columns:minmax(0,55%) minmax(0,1fr)}
  .apps-overview .apps-editorial-layout .portfolio-card-media{min-height:0;height:168px;aspect-ratio:auto}
  .apps-overview .apps-editorial-layout .portfolio-card-info{height:168px;min-height:0;padding:12px 12px 12px 12px}
  /* Keep complete taglines visible in the narrow horizontal cards. */
  .apps-overview .apps-editorial-layout .portfolio-card-tagline{display:block;-webkit-line-clamp:unset;line-clamp:unset;overflow:visible}
  .apps-overview .apps-editorial-layout .portfolio-card-media--night img{object-position:100% center}
  .apps-overview .apps-editorial-layout .portfolio-card-store{margin-top:auto}
}

/* Under 360px, retain a wide 52% image while protecting the product name and Play badge. */
@media(max-width:360px){
  .apps-overview .apps-editorial-layout .portfolio-card{grid-template-columns:minmax(0,52%) minmax(0,1fr)}
  .apps-overview .apps-editorial-layout .portfolio-card-media--icon img{width:80px}
  .apps-overview .apps-editorial-layout .portfolio-card-info{padding-right:12px}
  .apps-overview .apps-editorial-layout .portfolio-card-info strong{font-size:1.08rem}
}

/* Owner-supplied app illustrations: wide imagery on Work/desktop, square on narrow Home. */
.apps-overview .apps-editorial-layout .portfolio-card-media{aspect-ratio:8/5}
.apps-overview .apps-editorial-layout .portfolio-card-media picture{display:block;width:100%;height:100%;min-width:0}
.apps-overview .apps-editorial-layout .portfolio-card-media picture img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;border-radius:0;box-shadow:none}
@media(max-width:440px){
  .apps-overview .apps-editorial-layout .portfolio-card-media picture{height:100%}
  .apps-overview .apps-editorial-layout .portfolio-card-media--night img{object-position:center center}
}

/* The 8:5 desktop-media rule must not expand <picture> past narrow Home columns.
   Grid item and its art are independently constrained; Work and desktop unchanged. */
@media(max-width:440px){
  .apps-overview .apps-editorial-layout .portfolio-card-media{
    position:relative;
    display:block;
    min-width:0;
    max-width:100%;
    width:100%;
    height:168px;
    aspect-ratio:auto;
    overflow:hidden;
  }
  .apps-overview .apps-editorial-layout .portfolio-card-media picture{
    position:absolute;
    inset:0;
    display:block;
    min-width:0;
    max-width:100%;
    width:100%;
    height:100%;
    overflow:hidden;
  }
  .apps-overview .apps-editorial-layout .portfolio-card-media picture img{
    display:block;
    width:100%;
    max-width:100%;
    height:100%;
    object-fit:cover;
  }
  .apps-overview .apps-editorial-layout .portfolio-card-info{
    min-width:0;
    position:relative;
    z-index:1;
    background:#fff;
  }
}

/* At the narrowest phone sizes, keep titles readable without changing the
   owner-requested image-forward proportions. */
@media(max-width:340px){
  .apps-overview .apps-editorial-layout .portfolio-card{grid-template-columns:minmax(0,49%) minmax(0,1fr)}
  .apps-overview .apps-editorial-layout .portfolio-card-info strong{font-size:1.03rem}
  .apps-overview .apps-editorial-layout .portfolio-card-tagline{font-size:.82rem}
}
