/* A focused editorial layer over the existing CAPRI identity. */
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
.page-hero { padding-block:72px 54px; }
.page-hero h1 { font-size:clamp(44px,6.4vw,88px); max-width:1050px; }
.page-hero .lede { margin-top:22px; max-width:740px; }
.page-hero-meta { margin-top:25px; }
.page-hero + .section { padding-top:52px; }
.featured-project-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:56px 28px; }
.featured-project-grid .archive-card { grid-column:auto; }
.featured-project-grid .archive-image { aspect-ratio:1.35; }
.featured-project-grid .archive-description { max-width:46ch; }
.featured-project-grid .archive-card>.editorial-link { margin-top:auto; padding-top:14px; }
.compact-project-index { margin:52px 0 28px; border-block:1px solid var(--line); }
.compact-project-index summary { cursor:pointer; font-size:21px; padding:23px 0; }
.compact-project-index summary span { float:inline-end; }
.compact-project-index nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 30px; padding-bottom:26px; }
.compact-project-index nav a { padding:17px 0; border-top:1px solid var(--line); }
.compact-project-index nav span { display:block; color:var(--muted); font-size:13px; margin-top:5px; }
body[data-page="home"] .client-reference-section .editorial-heading { margin-bottom:25px; }
body[data-page="home"] .client-reference-board { max-width:740px; }
body[data-page="home"] .portfolio-introduction { padding-bottom:45px; }
.case-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:64px; align-items:start; }
.case-photo { margin:0; }
.case-photo img { width:100%; height:auto; max-height:720px; object-fit:cover; }
.case-photo figcaption { margin-top:12px; color:var(--muted); font-size:12px; }
.case-description h2 { font-size:clamp(30px,3.3vw,48px); margin-bottom:22px; }
.case-description h2,.example-layout h2,.event-teaser-layout h2 { line-height:1.12; letter-spacing:-.035em; }
.case-description h3 { margin-top:28px; font-size:20px; }
.case-description p { line-height:1.7; color:var(--muted); }
.case-description .editorial-link { display:block; margin-top:25px; }
.case-enquiry { margin-top:35px; }
.case-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.case-gallery img { width:100%; height:auto; }
.case-gallery>a:only-child { grid-column:1/-1; }
.case-hero .editorial-link { display:inline-block; margin-bottom:24px; }
@media(min-width:761px){
 .case-hero { padding-block:28px 16px; }
 .case-hero .editorial-link { margin-bottom:12px; }
 .case-hero .lede { margin-top:12px; }
 .case-hero + .case-main { padding-top:20px; }
}
.case-main--balbaa .case-photo { max-width:520px; }
.inquiry-fallback { display:flex; flex-wrap:wrap; gap:12px; }
.inquiry-fallback p { flex-basis:100%; }
.related-projects { margin-top:80px; border-top:1px solid var(--line); padding-top:32px; }
.related-projects a { display:flex; justify-content:space-between; gap:20px; padding:22px 0; border-bottom:1px solid var(--line); }
.related-projects span { color:var(--muted); }
.event-teaser-layout { display:grid; grid-template-columns:1fr .65fr; gap:70px; align-items:center; }
.event-teaser-layout h2 { font-size:clamp(40px,5vw,70px); margin-bottom:25px; }
.event-teaser-layout p { color:var(--muted); margin-bottom:18px; }
.event-teaser-layout img { width:100%; height:auto; max-height:420px; object-fit:contain; }
.hace-teaser { border-block:1px solid var(--line); background:var(--surface); }
.event-media { display:grid; grid-template-columns:1.25fr 1fr; gap:32px; align-items:start; }
.event-media img,.event-media video { width:100%; height:auto; max-height:850px; object-fit:contain; background:#141714; }
.event-downloads { display:flex; flex-wrap:wrap; gap:30px; margin-top:30px; }
.brand-strip-marks>a { background:#fff; min-height:90px; }
.brand-strip-marks img, [data-theme="dark"] .brand-strip-marks img { filter:none; mix-blend-mode:normal; opacity:1; }
.brand-logo-area { height:150px; padding:30px; }
.brand-logo-area img { height:80px; }
.equipment-detail-link { margin:0 24px 26px; display:inline-block; }
.equipment-card { display:flex; flex-direction:column; }
.equipment-card-body { flex:1; }
.equipment-card img { transition:transform .25s ease; }
.equipment-card:hover img { transform:scale(1.025); }
.solution-row { scroll-margin-top:110px; }
body[data-page="contact"] .page-hero { padding-block:40px 32px; }
body[data-page="contact"] .page-hero h1 { font-size:clamp(38px,4.5vw,60px); }
body[data-page="contact"] .page-hero h1 br { display:none; }
body[data-page="contact"] .page-hero-meta { display:none; }
.contact-journeys { display:flex; gap:12px; flex-wrap:wrap; margin-top:22px; }
.contact-journeys a { padding:12px 18px; border:1px solid var(--line); }
.contact-journeys a:hover { border-color:var(--accent-dark); }
.form-layout { gap:60px; }
.form-layout>form { order:-1; }
.form-layout { grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); }
.form-layout .contact-image { max-height:350px; object-fit:cover; }
.inquiry-form textarea { min-height:120px; }
.inquiry-form .optional-fields { grid-column:1/-1; }
.optional-fields summary { cursor:pointer; padding:12px 0; }
.optional-fields>div { display:grid; grid-template-columns:1fr 1fr; gap:20px; padding-top:16px; }
.sticky-enquiry { display:none; }
.form-busy { opacity:.65; pointer-events:none; }
.source-note { font-size:12px; }
.example-layout { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.example-layout h2 { font-size:clamp(30px,4vw,52px); }
.example-layout p { margin:20px 0; color:var(--muted); }
.product-packshot { background:#fff; padding:28px; }
.product-packshot img { width:100%; height:350px; object-fit:contain; }
.equipment-hero-packshot img { height:440px; object-fit:contain; background:#fff; padding:30px; }
.equipment-card-image.product-packshot img { height:100%; object-fit:contain; }
@media(max-width:900px){
 .featured-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .case-layout { gap:32px; }
 .event-teaser-layout { gap:35px; }
 .form-layout { grid-template-columns:1fr; }
}
@media(max-width:600px){
 .page-hero { padding-block:42px 32px; }
 .page-hero h1 { font-size:42px; }
 .page-hero .lede { font-size:17px; margin-top:20px; }
 .page-hero + .section { padding-top:30px; }
 .featured-project-grid { grid-template-columns:1fr; gap:38px; }
 .featured-project-grid .archive-image { aspect-ratio:1.45; }
 .compact-project-index nav { grid-template-columns:1fr; }
 .compact-project-index summary { font-size:18px; }
 .case-layout,.event-teaser-layout,.event-media,.example-layout { grid-template-columns:1fr; gap:32px; }
 .case-hero h1 { font-size:42px; }
 .case-photo img { max-height:460px; }
 .case-description h2 { margin-bottom:15px; }
 .case-gallery { gap:10px; }
 .related-projects a { flex-direction:column; gap:6px; }
 .event-teaser-layout> a { display:none; }
 .event-media video { max-height:600px; }
 .brand-strip-marks>a { min-height:70px; padding:10px; }
 .header-actions .theme-toggle { width:32px; min-width:32px; font-size:16px; opacity:.7; }
 .form-layout { gap:45px; }
 .contact-journeys a { padding:10px 12px; font-size:14px; }
 .optional-fields>div { grid-template-columns:1fr; }
 .sticky-enquiry { position:fixed; inset-inline:16px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:30; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 18px; background:var(--ink); color:var(--bg); box-shadow:0 4px 24px #1115; }
 body:has(.mobile-drawer[data-open="true"]) .sticky-enquiry { display:none; }
 body:has(.sticky-enquiry) .site-footer { padding-bottom:100px; }
 body[data-page="home"] .client-reference-section { padding-block:38px; }
}
@media(prefers-reduced-motion:reduce){.equipment-card img{transition:none}}
@media print{.sticky-enquiry{display:none}}
/* Source-backed catalogue library; PDF files load only on request. */
.catalogue-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px}.catalogue-card{min-width:0;border-bottom:1px solid var(--line,#454945)}.catalogue-card>a{display:block}.catalogue-card img,.catalogue-teaser img{display:block;width:100%;height:auto}.catalogue-copy{padding:28px 0 36px}.catalogue-copy h2{font-size:clamp(1.6rem,3vw,2.5rem)}.catalogue-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:24px}.catalogue-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;margin-top:32px}.catalogue-index a{display:flex;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid var(--line,#454945);text-decoration:none}.catalogue-index a:hover{color:var(--accent,#f47c35)}.catalogue-teaser-layout{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:64px}.catalogue-teaser-layout>div{max-width:540px}.catalogue-teaser{border-top:1px solid var(--line,#454945)}@media(max-width:760px){.catalogue-grid,.catalogue-teaser-layout{grid-template-columns:1fr;gap:36px}.catalogue-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}}@media(max-width:420px){.catalogue-index{grid-template-columns:1fr}}
