.portfolio-shell{overflow:hidden;background:#fff}.portfolio-hero{position:relative;padding:clamp(8rem,11vw,10.5rem) 0 clamp(4.8rem,8vw,7.5rem);background:radial-gradient(circle at 78% 18%,rgba(43,132,171,.28),transparent 28%),linear-gradient(135deg,#0d2a3e 0%,#071a28 74%);color:#fff}.portfolio-hero::after{position:absolute;right:-14rem;bottom:-18rem;width:38rem;height:38rem;border:1px solid rgba(131,217,215,.13);border-radius:50%;content:""}.portfolio-hero__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.94fr) minmax(27rem,1.06fr);gap:clamp(2.5rem,5vw,5.7rem);align-items:center}.portfolio-hero .eyebrow{color:#83d9d7}.portfolio-hero h1{color:#fff}.portfolio-hero__copy>p:not(.eyebrow,.lead){max-width:47rem;color:rgba(255,255,255,.72);font-size:var(--text-body-lg)}.portfolio-hero .lead{max-width:50rem;color:#dcebf0}.portfolio-hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.portfolio-hero__proof{display:grid;margin-top:2.4rem;border-top:1px solid rgba(255,255,255,.15);grid-template-columns:repeat(3,1fr)}.portfolio-hero__proof div{padding:1.3rem 1.15rem 0 0}.portfolio-hero__proof strong{display:block;color:#fff;font-size:clamp(1.8rem,3vw,2.7rem);line-height:1}.portfolio-hero__proof span{display:block;margin-top:.55rem;color:rgba(255,255,255,.66);font-size:.82rem;line-height:1.45}.portfolio-hero__visual{position:relative;margin:0}.portfolio-hero__visual img{width:100%;height:auto;border:1px solid rgba(255,255,255,.14);border-radius:2rem;box-shadow:0 32px 70px rgba(0,10,17,.4)}.portfolio-hero__visual figcaption{margin-top:.8rem;color:rgba(255,255,255,.58);font-size:.78rem;text-align:right}.portfolio-section{padding:clamp(4.8rem,8vw,8rem) 0}.portfolio-section--soft{background:linear-gradient(180deg,#f5f9fa,#edf5f7)}.portfolio-section--navy{color:#fff;background:#0d2a3e}.portfolio-section--navy :is(h2,h3){color:#fff}.portfolio-section--navy .eyebrow{color:#83d9d7}.portfolio-section--navy p{color:rgba(255,255,255,.72)}.portfolio-anatomy__grid{display:grid;grid-template-columns:minmax(20rem,.78fr) minmax(0,1.22fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.portfolio-anatomy__copy .lead{margin-top:1.3rem;color:var(--color-ink)}.portfolio-anatomy__copy>p:not(.eyebrow,.lead){margin-top:1.2rem;color:var(--color-muted);font-size:var(--text-body-lg)}.portfolio-anatomy__list{display:grid;padding:0;margin:2rem 0 0;gap:.8rem;list-style:none}.portfolio-anatomy__list li{display:grid;padding:1rem 1.1rem;border-left:3px solid var(--color-brand-teal);border-radius:0 .8rem .8rem 0;background:#f4f8fa;grid-template-columns:9rem 1fr;gap:1rem}.portfolio-anatomy__list strong{color:var(--color-navy-950)}.portfolio-anatomy__list span{color:var(--color-muted);font-size:.91rem}.portfolio-anatomy__visual{margin:0}.portfolio-anatomy__visual img{width:100%;height:auto;filter:drop-shadow(0 20px 28px rgba(13,42,62,.12))}.portfolio-heading{max-width:62rem}.flagship-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:1.25rem}.flagship-card{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:1.5rem;background:#fff;box-shadow:var(--shadow-sm)}.flagship-card--1,.flagship-card--2{grid-column:span 6}.flagship-card--3,.flagship-card--4,.flagship-card--5,.flagship-card--6{grid-column:span 3}.flagship-card__media{position:relative;min-height:15rem;overflow:hidden;background:#dfeef2}.flagship-card--1 .flagship-card__media,.flagship-card--2 .flagship-card__media{min-height:20rem}.flagship-card__media::after{position:absolute;inset:0;content:"";background:linear-gradient(180deg,transparent 58%,rgba(7,27,42,.2))}.flagship-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 850ms var(--ease-emphasised)}.flagship-card:hover .flagship-card__media img{transform:scale(1.035)}.flagship-card__body{display:flex;padding:clamp(1.3rem,2.3vw,2rem);flex-direction:column}.flagship-card__kicker{color:var(--color-brand-teal);font-size:.73rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.flagship-card h3{margin-top:.5rem}.flagship-card__owner{margin-top:.35rem;color:var(--color-muted);font-weight:700}.flagship-card__body>p:not(.flagship-card__kicker,.flagship-card__owner,.flagship-card__evidence){margin-top:1rem;color:var(--color-muted)}.flagship-card__evidence{padding-top:1rem;margin-top:1.1rem;border-top:1px solid var(--color-border);color:#456170;font-size:.84rem}.flagship-card__evidence strong{color:var(--color-navy-950)}.flagship-card__links,.app-record__links{display:flex;flex-wrap:wrap;margin-top:auto;padding-top:1.1rem;gap:.8rem}.portfolio-link{display:inline-flex;gap:.35rem;align-items:center;color:var(--color-brand-blue-700);font-size:.82rem;font-weight:800;text-decoration:none}.portfolio-link .icon{width:.9rem;height:.9rem}.portfolio-link:hover{color:var(--color-brand-blue-900)}.portfolio-link--muted{color:var(--color-muted);font-weight:600}.portfolio-link--muted:hover{color:var(--color-muted)}.evidence-date{margin-top:1.5rem;color:var(--color-muted);font-size:.84rem}.portfolio-explorer__intro{display:flex;gap:2rem;align-items:flex-end;justify-content:space-between}.portfolio-explorer__intro .section-heading{margin-bottom:0}.portfolio-explorer__summary{display:grid;min-width:15rem;padding:1rem 1.2rem;border-radius:1rem;background:#edf6f7}.portfolio-explorer__summary strong{color:var(--color-navy-950)}.portfolio-explorer__summary span{margin-top:.3rem;color:var(--color-muted);font-size:.78rem}.portfolio-controls{display:grid;padding:1.2rem;margin-top:2.5rem;border:1px solid var(--color-border);border-radius:1.25rem;background:#fff;box-shadow:var(--shadow-sm);grid-template-columns:minmax(15rem,1fr) minmax(12rem,.32fr) auto;gap:1rem;align-items:end}.portfolio-search,.portfolio-sort{display:grid;gap:.45rem}.portfolio-search label,.portfolio-sort label{color:var(--color-navy-950);font-size:.82rem;font-weight:800}.portfolio-filter-groups{display:grid;margin-top:1.2rem;gap:1rem}.portfolio-filter-group{padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:1.1rem}.portfolio-filter-group legend{padding:0 .35rem;color:var(--color-navy-950);font-size:.82rem;font-weight:800}.portfolio-filter-buttons{display:flex;flex-wrap:wrap;gap:.55rem}.portfolio-filter{min-height:2.5rem;padding:.58rem .78rem;border:1px solid var(--color-border-strong);border-radius:999px;color:#456170;background:#fff;font-size:.78rem;font-weight:750;line-height:1.2;transition:.2s ease}.portfolio-filter:hover,.portfolio-filter:focus-visible{color:var(--color-brand-blue-800);border-color:var(--color-brand-blue);background:#f2f8fb}.portfolio-filter.is-active,.portfolio-filter[aria-pressed=true]{color:#fff;border-color:var(--color-navy-950);background:var(--color-navy-950)}.app-records{display:grid;margin-top:2rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.app-record{display:grid;overflow:hidden;border:1px solid var(--color-border);border-radius:1.35rem;background:#fff;box-shadow:var(--shadow-sm);grid-template-columns:clamp(11rem,28%,13rem) minmax(0,1fr);transition:transform var(--duration-standard),box-shadow var(--duration-standard),border-color var(--duration-standard)}.app-record:hover{border-color:#a9c7d6;box-shadow:var(--shadow-md);transform:translateY(-3px)}.app-record[hidden]{display:none!important}.app-record__visual{padding:1rem;background:#edf5f7}.app-record__visual svg{width:100%;height:auto;border-radius:1rem}.app-record__content{display:flex;min-width:0;padding:1.35rem;flex-direction:column}.app-record__topline{display:flex;gap:1rem;align-items:center;justify-content:space-between;color:var(--color-brand-teal);font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.app-record h3{margin-top:.55rem;font-size:var(--text-h4)}.app-record__owner{margin-top:.25rem;color:var(--color-muted);font-size:.86rem;font-weight:700}.app-record__content>p:not(.app-record__owner){margin-top:.85rem;color:#456170;font-size:.91rem}.app-record__tags{display:flex;flex-wrap:wrap;margin-top:1rem;gap:.4rem}.app-record__tags span{padding:.34rem .55rem;border-radius:999px;color:#2e5e72;background:#edf5f7;font-size:.68rem;font-weight:750}.app-record__facts{display:grid;margin:1.1rem 0 0;border-top:1px solid var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr))}.app-record__facts div{padding:.75rem .7rem .1rem 0}.app-record__facts dt{color:var(--color-subtle);font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.app-record__facts dd{margin:.25rem 0 0;color:#456170;font-size:.76rem;line-height:1.45}.portfolio-empty{padding:3rem;margin-top:2rem;border:1px dashed var(--color-border-strong);border-radius:1.5rem;background:#f6fafb;text-align:center}.portfolio-empty p{margin:1rem 0 1.5rem;color:var(--color-muted)}.portfolio-evidence__grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(25rem,1.1fr);gap:clamp(2.5rem,6vw,6rem);align-items:center}.portfolio-evidence__copy .lead{margin-top:1.2rem;color:rgba(255,255,255,.84)}.portfolio-evidence__copy>p:not(.eyebrow,.lead){margin:1.1rem 0 1.7rem}.portfolio-evidence__visual{margin:0}.portfolio-evidence__visual img{width:100%;height:auto;border:1px solid rgba(255,255,255,.12);border-radius:1.5rem}.portfolio-final{padding:clamp(4rem,8vw,7rem) 0;background:linear-gradient(135deg,#dff1f2,#eef8f8)}.portfolio-final__inner{display:grid;padding:clamp(2rem,5vw,4rem);border:1px solid rgba(15,122,128,.18);border-radius:2rem;background:rgba(255,255,255,.7);box-shadow:var(--shadow-md);grid-template-columns:minmax(0,1fr) auto;gap:2.5rem;align-items:center}.portfolio-final__inner>div:first-child{max-width:52rem}.portfolio-final__inner p:not(.eyebrow){margin-top:1rem;color:var(--color-muted);font-size:var(--text-body-lg)}.portfolio-final__actions{display:grid;gap:.8rem}.js [data-app-controls],.js .portfolio-filter-groups{display:grid}.no-js [data-app-controls],.no-js .portfolio-filter-groups{display:none}@media(max-width:1180px){.flagship-card--3,.flagship-card--4,.flagship-card--5,.flagship-card--6{grid-column:span 6}.app-records{grid-template-columns:1fr}}@media(max-width:980px){.portfolio-hero__grid,.portfolio-anatomy__grid,.portfolio-evidence__grid{grid-template-columns:1fr}.portfolio-hero h1{max-width:18ch}.portfolio-hero__visual{max-width:50rem;margin-inline:auto}.portfolio-anatomy__visual{order:-1}.portfolio-controls{grid-template-columns:1fr 1fr}.portfolio-controls .btn{grid-column:1/-1;justify-self:start}.portfolio-final__inner{grid-template-columns:1fr}.portfolio-final__actions{display:flex;flex-wrap:wrap}.portfolio-explorer__intro{align-items:flex-start;flex-direction:column}.portfolio-explorer__summary{min-width:0}}@media(max-width:720px){.portfolio-hero{padding-top:7.5rem}.portfolio-hero__proof{grid-template-columns:1fr}.portfolio-hero__proof div{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.12)}.portfolio-anatomy__list li{grid-template-columns:1fr}.flagship-card--1,.flagship-card--2,.flagship-card--3,.flagship-card--4,.flagship-card--5,.flagship-card--6{grid-column:1/-1}.flagship-grid{grid-template-columns:1fr}.portfolio-controls{grid-template-columns:1fr}.portfolio-controls .btn{grid-column:auto}.portfolio-filter-buttons{display:grid;grid-template-columns:1fr}.portfolio-filter{text-align:left}.app-record{grid-template-columns:1fr}.app-record__visual{padding:.8rem}.app-record__visual svg{max-height:7rem}.app-record__facts{grid-template-columns:1fr}.portfolio-final__actions{align-items:stretch;flex-direction:column}.portfolio-final__actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){.flagship-card__media img,.app-record{transition:none!important}}
/* site_72 evidence-led portfolio refinements */
.portfolio-hero--copy-only .portfolio-hero__grid{grid-template-columns:minmax(0,1fr)}
.portfolio-hero--copy-only .portfolio-hero__copy{max-width:74rem}
.portfolio-anatomy--copy-only .portfolio-anatomy__grid,.portfolio-evidence--copy-only .portfolio-evidence__grid{grid-template-columns:minmax(0,1fr)}
.portfolio-anatomy--copy-only .portfolio-anatomy__copy,.portfolio-evidence--copy-only .portfolio-evidence__copy{max-width:65rem}
.app-record__visual{display:flex;align-items:flex-start;justify-content:center;min-height:0;padding:.75rem;overflow:hidden;background:#edf5f7}
.app-record__visual img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:1rem}
.portfolio-evidence-gate{padding:1rem 1.15rem;margin-top:1.25rem;border-left:3px solid var(--color-brand-teal);border-radius:0 .8rem .8rem 0;background:var(--color-surface-teal);color:var(--color-ink);font-size:.9rem;line-height:1.55}
@media(max-width:720px){.app-record__visual{align-items:center}.app-record__visual img{max-height:none;aspect-ratio:1/1;object-fit:cover}}
