/* M&G 2026: brand color, layered photography and a connected page system. */
:root { --ink: #160F3E; --paper: #F8F5F4; --muted: #615A6B; --line: #160f3e2e; }
body { background: var(--paper); }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.site-header { position: absolute; top: 24px; left: 50%; transform: translateX(-50%); width: calc(100% - 80px); max-width: 1320px; height: 78px; margin: 0; padding: 0 28px; border-radius: 16px; background: #ffffff; box-shadow: 0 12px 45px #03001720; z-index: 30; }
.brand { width: 190px; }
.site-header nav { gap: 30px; font-size: 12px; }
.site-header nav [aria-current="page"] { color: #8F2A6B; text-decoration: underline; text-underline-offset: 7px; }
.button { border-radius: 8px; font-weight: 600; transition: transform .2s, background .2s, box-shadow .2s; }
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 28px #160f3e25; }
.button-small { border-radius: 100px; }
.home-hero { position: relative; overflow: hidden; isolation: isolate; min-height: 840px; padding: 165px var(--gutter) 115px; color: white; background: #160F3E; }
.aurora-layer { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: -2; }
.aurora-layer span { display: block; position: absolute; border-radius: 50%; filter: blur(80px); }
.aurora-one { width: 70%; height: 100%; top: -55%; right: -10%; background: #CB529A; opacity: .63; }
.aurora-two { width: 55%; height: 95%; bottom: -50%; right: -12%; background: #00B1A3; opacity: .54; }
.aurora-three { width: 45%; height: 60%; bottom: -20%; left: -20%; background: #691F50; opacity: .7; }
.hero-grid { position: absolute; inset: 0; background-image: radial-gradient(#ffffff38 .7px, transparent .7px); background-size: 25px 25px; mask-image: linear-gradient(90deg, transparent 30%, #000); z-index: -1; opacity: .26; }
.hero-overline { font: 10px/1.5 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: #d5c9e3; }
.hero-message { position: relative; max-width: 670px; z-index: 3; padding-top: 83px; }
.hero-message h1 { font-size: clamp(67px, 6.7vw, 100px); font-weight: 500; line-height: 1.02; letter-spacing: -.055em; }
.hero-message h1 em { font-size: 1.08em; line-height: 1.16; }
.gradient-text { color: #ecd4ec; background: linear-gradient(110deg, #FFFFFF 4%, #ECB9DA 28%, #7CDFD3 63%, #F1D9EC 91%); background-size: 200% 100%; background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; }
.hero-message>p { max-width: 43ch; margin: 30px 0 33px; font-size: 15px; color: #e4dfe9; line-height: 1.8; }
.hero-primary { color: #160F3E; background: white; border-color: white; }
.hero-primary:hover { background: #f9e7f4; color: #160F3E; }
.hero-photo-composition { position: absolute; right: 7%; top: 210px; width: 380px; height: 490px; }
.orbit-ring { position: absolute; width: 540px; height: 540px; border: 1px solid #ffffff24; border-radius: 50%; left: -90px; top: -55px; }
.orbit-ring:after { content: ''; position: absolute; inset: 48px; border: 1px solid #ffffff17; border-radius: 50%; }
.hero-photo-float { position: absolute; overflow: hidden; box-shadow: 0 30px 75px #08021970; }
.hero-photo-float img { width: 100%; height: 100%; object-fit: cover; }
.hero-photo-back { --photo-angle: 6deg; width: 325px; height: 430px; right: 0; top: 0; transform: rotate(var(--photo-angle)); border: 7px solid #ffffffed; border-radius: 7px; }
.hero-photo-back img { object-position: 50% 47%; }
.hero-photo-back figcaption { position: absolute; left: 0; right: 0; bottom: 0; background: white; color: #160F3E; font: 9px var(--mono); padding: 10px 14px 3px; }
.hero-photo-front { --photo-angle: -8deg; width: 176px; height: 228px; left: -67px; bottom: 0; transform: rotate(var(--photo-angle)); border: 6px solid white; border-radius: 7px; }
.composition-label { position: absolute; font: 9px var(--mono); right: -18px; bottom: -13px; color: #e2d7ea; }
.hero-bottom-caption { position: absolute; left: var(--gutter); right: var(--gutter); bottom: 35px; display: flex; align-items: center; justify-content: space-between; font: 10px var(--mono); }
.hero-bottom-caption>a { display: flex; gap: 25px; align-items: center; min-height: 44px; }
.hero-bottom-caption>a span { font: 22px var(--sans); }
.motion-toggle { color: inherit; background: #ffffff0b; border: 1px solid #ffffff45; padding: 10px 14px; border-radius: 50px; font: 9px var(--mono); cursor: pointer; min-height: 40px; }
.motion-toggle:hover { background: #ffffff18; }
.brand-marquee { overflow: hidden; background: linear-gradient(100deg, #CB529A, #AE65AA 48%, #5CAAB9); color: #160F3E; padding: 21px 0; }
.marquee-track { display: flex; width: max-content; }
.marquee-track>span { display: flex; align-items: center; white-space: pre; font-size: clamp(27px, 3vw, 45px); letter-spacing: -.045em; line-height: 1.2; }
.marquee-track b { font-size: .8em; font-weight: 400; margin: 0 50px; }
.section { padding-top: 105px; padding-bottom: 105px; }
.section-heading { margin-bottom: 45px; }
h2 { font-size: clamp(43px, 4.7vw, 72px); }
.section-heading>.text-link { width: 200px; flex-shrink: 0; margin-bottom: 10px; }
.section-index { color: #655c72; }
.event-showcase { display: grid; grid-template-columns: 1.55fr 1fr; gap: 24px; }
.event-tile { display: block; position: relative; min-height: 580px; overflow: hidden; border-radius: 15px; isolation: isolate; }
.event-tile img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: 52% 35%; transition: transform .8s cubic-bezier(.2,.65,.3,1); }
.event-tile:after { content: ''; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent, #110b2bdb); z-index: 1; }
.event-tile-caption { position: absolute; left: 32px; right: 32px; bottom: 33px; color: white; z-index: 2; }
.event-tile-caption>span { font: 10px var(--mono); }
.event-tile-caption h3 { font-size: 50px; margin-top: 15px; line-height: 1.08; }
.event-tile-caption b { position: absolute; right: 0; bottom: 0; font: 30px var(--sans); }
.event-tile:hover img { transform: scale(1.045); }
.event-stack { display: grid; gap: 24px; grid-template-rows: 1fr 1fr; }
.event-identity { display: flex; flex-direction: column; justify-content: space-between; padding: 30px; min-height: 278px; border-radius: 15px; overflow: hidden; position: relative; isolation: isolate; }
.event-identity:before { content: ''; position: absolute; width: 250px; height: 250px; right: -90px; top: -75px; border: 35px solid #ffffff10; border-radius: 50%; z-index: -1; }
.event-identity>span { font: 10px var(--mono); }
.event-identity h3 { font-size: 43px; font-weight: 600; line-height: 1.03; }
.event-identity>div { display: flex; justify-content: space-between; align-items: center; gap: 20px; font: 9px/1.5 var(--mono); }
.event-identity b { font: 24px var(--sans); }
.drs-identity { background: #000; color: white; }
.event-identity.drs-identity:before { content: none; }
.drs-identity .drs-wordmark { width: min(100%, 270px); aspect-ratio: 501 / 330; flex-shrink: 0; margin: 0; font-size: 0; line-height: 0; position: relative; overflow: hidden; }
.drs-wordmark img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.drs-identity .event-schedule { display: block; margin-top: 10px; font: 11px/1.6 var(--mono); }
.eila-identity { background: linear-gradient(125deg, #EAD6E7, #CBC4E4); color: #231339; }
.eiqf-identity { background: linear-gradient(140deg, #efe4ce, #e6b886); color: #3e2514; }
.eiqf-photo-identity { position: relative; isolation: isolate; overflow: hidden; background: #160F3E; color: white; }
.eiqf-photo-identity>img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 15% 35%; z-index: -2; }
.eiqf-photo-identity:before { content: ''; position: absolute; inset: 0; width: auto; height: auto; border: 0; border-radius: 0; background: linear-gradient(180deg, #100d24a8 0%, #100d2410 33%, #100d2494 62%, #100d24f2 100%); z-index: -1; }
.eiqf-photo-identity :is(h2,h3) { margin-top: auto; }
.event-identity.eiqf-photo-identity, .catalog-identity.eiqf-photo-identity { min-height: 360px; }
.vida-plena-identity { background: #0e3942; color: white; position: relative; isolation: isolate; overflow: hidden; }
.vida-plena-identity:before { content: ''; position: absolute; width: 320px; height: 320px; right: -60px; top: -85px; border: 0; border-radius: 50%; background: linear-gradient(140deg, transparent, #145360); z-index: -1; }
.vida-plena-identity:after { content: ''; position: absolute; width: 180px; height: 180px; right: -85px; bottom: -65px; border-radius: 50%; background: linear-gradient(120deg, transparent 10%, #c3913899); z-index: -1; }
/* Original PNG: 1608 × 897. Frame the complete artwork (1345 × 639),
   excluding transparent padding without changing the supplied file. */
.vida-plena-identity .vida-plena-wordmark { position: relative; width: min(100%, 440px); aspect-ratio: 1345 / 639; overflow: hidden; flex-shrink: 0; margin: 0; font-size: 0; line-height: 0; }
.vida-plena-wordmark img { position: absolute; display: block; width: 119.553903%; max-width: none; height: auto; left: -11.226766%; top: -20.657277%; }
.regum-identity { background: #141414; color: white; }
.regum-identity:before { content: none; }
/* Preserve the full Regum anniversary lockup; frame only its transparent padding. */
.regum-identity .regum-wordmark { position: relative; width: min(100%, 560px); aspect-ratio: 707 / 163; overflow: hidden; flex-shrink: 0; align-self: center; margin: 0; font-size: 0; line-height: 0; }
.regum-wordmark img { position: absolute; display: block; width: 113.154173%; max-width: none; height: auto; left: -4.950495%; top: -10.429448%; }
.home-events .event-identity { gap: 20px; min-height: 362px; }
/* VidaPlena aligns with CFF; Regum aligns with the event stack above. */
.home-events .event-pair { grid-column: 1/-1; width: 100%; display: grid; grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: 24px; }
.event-pair .event-identity { width: 100%; min-width: 0; }
.event-pair .vida-plena-wordmark { width: min(100%, 320px); align-self: center; }
.event-pair .event-identity>div { align-items: flex-end; font: 14px/1.5 var(--sans); }
.event-pair .event-schedule { display: block; margin-top: 16px; font: 10px/1.6 var(--mono); }
@media(max-width:800px) {
 .home-events .event-pair { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .home-events .event-stack { grid-template-columns: 1fr; }
 .home-events .event-pair { grid-template-columns: 1fr; }
}
.home-about { display: grid; grid-template-columns: 1fr 1.1fr; gap: 10%; background: white; align-items: center; }
.home-about-image { position: relative; padding: 0 24px 25px 0; }
.home-about-image:after { content: ''; position: absolute; inset: 35px 0 0 35px; border-radius: 100px 15px 15px 15px; background: var(--mg-gradient-spectrum); }
.home-about-image img { width: 100%; height: 550px; object-fit: cover; position: relative; z-index: 1; border-radius: 100px 12px 12px 12px; }
.home-about-image>span { position: absolute; bottom: 52px; left: 26px; color: white; font: 10px var(--mono); z-index: 2; }
.home-about-copy>p:not(.section-index) { max-width: 47ch; font-size: 15px; margin-top: 28px; }
.home-about-copy>.text-link { width: 185px; margin-top: 22px; }
.testimonials { background: #F0E9F3; display: grid; grid-template-columns: 1fr 1fr; gap: 10%; align-items: center; }
.testimonials h2 { font-size: clamp(42px, 4.4vw, 64px); }
.testimonial-pending { padding: 32px; border: 1px dashed #89728f; border-radius: 12px; background: #ffffff4d; }
.preview-label { font: 10px var(--mono); display: block; color: #625368; }
.testimonial-pending p { margin: 22px 0 15px; font-size: 22px; line-height: 1.4; letter-spacing: -.03em; }
.testimonial-pending>span:last-child { font-size: 12px; color: #625368; }
.home-services { color: white; background: #160F3E; }
.home-services .section-index { color: #cbb8d9; }
.home-services .section-heading>p { max-width: 28ch; color: #d5cbe0; }
.service-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.service-columns article { padding: 34px 28px 25px; background: #ffffff08; border: 1px solid #ffffff20; border-radius: 14px; transition: background .3s, transform .3s, border-color .3s; }
.service-columns article:hover { background: #ffffff11; border-color: #b97bb4; transform: translateY(-6px); }
.service-word { font: 10px var(--mono); color: #cfb3d8; }
.service-columns h3 { font-size: 37px; margin: 30px 0 25px; }
.service-columns p { font-size: 14px; color: #d7ccdf; min-height: 105px; }
.service-columns .text-link { margin-top: 25px; border-color: #ffffff50; }
.home-contact { background: white; color: #160F3E; }
.home-contact .section-index { color: #66596e; }
.home-contact .contact-intro>p:last-child { color: #655c70; }
.home-contact .field input, .home-contact .field select, .home-contact .field textarea { color: #160F3E; border-color: #160f3e55; }
.home-contact .field input::placeholder, .home-contact .field textarea::placeholder { color: #70677a; }
.home-contact .button { background: linear-gradient(110deg, #160F3E, #691F50); color: white; border: 0; }
.home-contact .button:hover { color: white; background: linear-gradient(110deg, #30215f, #882B68); }
.consent { display: flex; align-items: flex-start; gap: 10px; font-size: 11px; line-height: 1.7; margin: 10px 0 25px; }
.consent input { margin: 4px 0 0; min-width: 16px; width: 16px; height: 16px; accent-color: #691F50; }
.consent a { text-decoration: underline; text-underline-offset: 3px; }
.photo-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; padding: 0 9px 9px; background: #160F3E; }
.photo-strip img { height: auto; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.site-footer { display: block; padding: 68px var(--gutter) 30px; background: #160F3E; border: 0; color: white; }
.footer-top { display: flex; justify-content: space-between; gap: 35px; align-items: center; }
.footer-top img { width: 285px; height: auto; }
.footer-top p { font: 32px/1.3 var(--sans); letter-spacing: -.04em; }
.footer-top p em { font-size: 1.15em; }
.footer-navigation { display: flex; gap: 30px; margin: 50px 0 35px; font-size: 12px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 25px; flex-wrap: wrap; padding-top: 24px; border-top: 1px solid #ffffff2b; font: 9px/1.8 var(--mono); color: #c9bed5; }
.footer-bottom nav { display: flex; gap: 20px; }
.footer-bottom a:hover,.footer-navigation a:hover { text-decoration: underline; text-underline-offset: 4px; }
.footer-motion { margin-bottom: 25px; }
.inner-hero { background: #160F3E; color: white; position: relative; isolation: isolate; overflow: hidden; padding: 185px var(--gutter) 85px; }
.inner-hero .section-index { color: #d7c7e4; }
.inner-hero h1 { font-size: clamp(54px, 6.8vw, 98px); max-width: 1100px; line-height: 1.04; }
.inner-hero h1 em { line-height: 1.16; }
.inner-hero>p:last-child { max-width: 58ch; margin-top: 32px; font-size: 15px; color: #e0d5e8; }
#metodo .section-heading,#valores .section-heading,#sectores .section-heading,#impacto .section-heading { display: block; }
#metodo .section-heading>p,#valores .section-heading>p,#sectores .section-heading>p,#impacto .section-heading>p { max-width: 64ch; }
#sectores .section-heading>p:last-child,#impacto .section-heading>p:last-child { margin-top: 30px; }
.process-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; }
.process-grid article { border-top: 1px solid #160f3e38; padding-top: 22px; scroll-margin-top: 30px; }
.process-number { font: 12px var(--mono); color: #8C3474; }
.process-grid h3 { font-size: 38px; margin: 28px 0 24px; }
.process-grid p { font-size: 14px; min-height: 110px; }
.process-grid ul { padding-left: 17px; margin: 25px 0 0; font-size: 13px; line-height: 1.9; }
#valores { background: #160F3E; color: white; }
#valores .section-index { color: #ceb8dc; }
.values-grid { display: grid; grid-template-columns: repeat(6,1fr); gap: 25px; }
.values-grid article { grid-column: span 2; padding: 30px; border: 1px solid #ffffff2a; border-radius: 14px; background: linear-gradient(135deg,#ffffff07,#ffffff00); }
.values-grid article:nth-last-child(-n+2) { grid-column: span 3; }
.values-grid h3 { font-size: 27px; margin-bottom: 24px; line-height: 1.15; }
.values-grid p { font-size: 13px; color: #d7ccdf; }
.sector-list { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 15px; }
.sector-list li { border: 1px solid #160f3e38; border-radius: 100px; padding: 18px 28px; font-size: 23px; letter-spacing: -.04em; transition: color .2s,background .2s; }
.sector-list li:hover { background: #160F3E; color: white; }
#impacto { background: white; }
.impact-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; }
.impact-grid h3 { font-size: 29px; line-height: 1.15; margin-bottom: 22px; }
.impact-grid p { font-size: 14px; }
.closing-cta { padding: 85px var(--gutter); text-align: center; background: linear-gradient(120deg,#EAD9EF,#DBEEEE); }
.closing-cta h2 { max-width: 850px; margin: 0 auto; }
.closing-cta>p:not(.section-index) { margin: 30px auto; max-width: 53ch; font-size: 14px; }
.closing-cta>a { display: inline-flex; gap: 45px; align-items: center; padding: 16px 25px; margin-top: 28px; color: white; background: #160F3E; border-radius: 7px; font-size: 14px; }
.event-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 36px; }
.event-filters button { padding: 13px 24px; background: white; border: 1px solid #160f3e38; color: #160F3E; border-radius: 100px; font-size: 13px; }
.event-filters [aria-pressed=true] { background: #160F3E; color: white; }
.catalog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 30px; }
.catalog-card { background: white; border-radius: 14px; overflow: hidden; border: 1px solid #160f3e18; scroll-margin-top: 30px; }
.catalog-feature { grid-column: 1/-1; display: grid; grid-template-columns: 1.2fr 1fr; }
.catalog-feature>img { width: 100%; height: 100%; min-height: 430px; object-fit: cover; }
.catalog-body { padding: 32px; }
.catalog-body h2 { font-size: 39px; margin-bottom: 27px; line-height: 1.1; }
.catalog-body>p { font-size: 14px; }
.scope-tag { display: inline-block; margin-top: 22px; padding: 6px 10px; background: #F4EFF7; font: 9px/1.6 var(--mono); color: #685074; border-radius: 4px; }
.catalog-body .text-link { margin-top: 26px; }
.catalog-identity { min-height: 280px; padding: 32px; display: flex; flex-direction: column; justify-content: space-between; gap: 25px; }
.catalog-identity h2 { font-size: 46px; line-height: 1.05; }
.catalog-identity>span { font: 10px var(--mono); }
.catalog-compact { grid-column: 1/-1; }
.catalog-compact .text-link { max-width: 350px; }
/* Event catalog: one visual and information hierarchy, including filtered views. */
.events-catalog { padding-top: 48px; }
.events-catalog .event-filters { margin-bottom: 32px; }
.events-catalog .event-filters button { min-height: 44px; }
.events-catalog .catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.events-catalog .catalog-card { display: flex; flex-direction: column; min-width: 0; border-radius: 18px; scroll-margin-top: 120px; }
.events-catalog .catalog-visual { position: relative; flex-shrink: 0; min-height: 0; aspect-ratio: 3 / 2; overflow: hidden; display: flex; align-items: center; justify-content: center; padding: 28px; }
.events-catalog .catalog-photo { padding: 0; background: var(--mg-blues); }
.events-catalog .catalog-photo>img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.events-catalog .catalog-photo-preserve { background: #000; }
.events-catalog .catalog-photo-preserve>img { object-fit: contain; }
.events-catalog .catalog-photo-riskready>img { object-position: 100% center; }
/* Typographic covers for archive entries without a verified event photograph. */
.events-catalog .catalog-archive-cover { isolation: isolate; align-items: flex-start; flex-direction: column; justify-content: space-between; gap: 20px; background: var(--mg-blues); color: white; }
.events-catalog .cover-water { background: #0e3942; }
.events-catalog .cover-hydrogen { background: #16423d; }
.events-catalog .catalog-archive-cover:after { content: ''; position: absolute; z-index: -1; width: 240px; height: 240px; right: -90px; top: -60px; border: 1px solid #ffffff24; border-radius: 50%; box-shadow: 0 0 0 36px #ffffff08,0 0 0 72px #ffffff05; }
.events-catalog .catalog-cover-year { font: 12px/1.4 var(--mono); }
.events-catalog .catalog-cover-title { font-size: clamp(28px,2.5vw,38px); font-weight: 500; line-height: 1.08; letter-spacing: -.04em; }
.events-catalog .catalog-visual .drs-wordmark { width: min(85%,245px); }
.events-catalog .catalog-visual .vida-plena-wordmark { width: min(100%,360px); }
.events-catalog .catalog-visual .regum-wordmark { width: 100%; }
.events-catalog .catalog-logo-watec,
.events-catalog .catalog-logo-hydrogen { isolation: isolate; border-bottom: 1px solid #160f3e12; }
.events-catalog .catalog-logo-watec { background: #c2e7f3; }
.events-catalog .catalog-logo-hydrogen { background: #bcb5e3; }
.events-catalog .catalog-visual .watec-wordmark { display: block; width: min(100%,360px); height: auto; mix-blend-mode: multiply; }
.events-catalog .hydrogen-wordmark { position: relative; width: 100%; aspect-ratio: 1539 / 540; overflow: hidden; flex-shrink: 0; }
.events-catalog .hydrogen-wordmark img { position: absolute; display: block; width: 124.756335%; max-width: none; height: auto; left: -12.475633%; top: -20%; }
.events-catalog .catalog-body { flex: 1; display: flex; flex-direction: column; padding: 26px; }
.events-catalog .catalog-body .section-index { min-height: 3em; margin: 0 0 16px; color: #575562; font: 10px/1.5 var(--mono); }
.events-catalog .catalog-body h2 { margin: 0 0 18px; font-size: clamp(28px,2.4vw,36px); font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
.events-catalog .catalog-body>p:not(.section-index) { font-size: 15px; line-height: 1.7; color: #44434d; margin: 0; }
.events-catalog .catalog-card-footer { margin-top: auto; padding-top: 28px; }
.events-catalog .scope-tag { display: flex; align-items: center; flex-wrap: wrap; gap: 0 .35em; min-height: 44px; margin: 0; padding: 8px 10px; background: #f2f5f4; color: var(--mg-blues); font: 10px/1.5 var(--mono); border-radius: 6px; }
.events-catalog .catalog-body .text-link { min-height: 50px; margin-top: 14px; padding: 12px 0; gap: 14px; font-size: 13px; line-height: 1.4; }
.events-catalog .catalog-card:focus-within { outline: 2px solid var(--mg-keppel); outline-offset: 3px; }
@media(max-width:1100px) {
 .events-catalog .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:680px) {
 .events-catalog .catalog-grid { grid-template-columns: 1fr; gap: 26px; }
 .events-catalog .catalog-body { padding: 24px; }
 .events-catalog .catalog-body .section-index { min-height: 0; }
 .events-catalog .catalog-body h2 { font-size: 32px; }
 .events-catalog .event-filters { gap: 8px; }
 .events-catalog .event-filters button { padding: 11px 16px; }
}
.blog-intro { display: grid; grid-template-columns: 1fr 1.1fr; gap: 9%; align-items: center; }
.blog-intro img { width: 100%; height: 500px; object-fit: cover; border-radius: 13px; }
.blog-intro h2 { font-size: 48px; }
.blog-intro>div>p:not(.section-index) { margin: 30px 0; font-size: 14px; max-width: 49ch; }
.blog-intro .text-link { max-width: 300px; }
.legal-hero { padding-bottom: 65px; }
.thanks-hero { min-height: 720px; }
.thanks-hero>p:not(.section-index) { max-width: 45ch; margin-top: 30px; color: #e0d5e8; }
.thanks-hero>.button { margin-top: 35px; }
.legal-hero h1 { font-size: clamp(50px,5vw,76px); }
.legal-wrap { max-width: 1060px; margin: auto; }
.editorial-note { padding: 22px 26px; background: #ECE2F0; border: 1px solid #d3c4d9; border-radius: 9px; margin-bottom: 45px; font-size: 13px; }
.legal-copy section { margin-top: 36px; }
.legal-copy h2 { font-size: 27px; margin-bottom: 17px; line-height: 1.2; }
.legal-copy p { font-size: 14px; margin-top: 17px; }
.legal-copy a { text-decoration: underline; text-underline-offset: 3px; }
.legal-date { font: 10px var(--mono); color: #665b6e; }
@media(max-width:1100px) {
 .site-header { width: calc(100% - 45px); padding: 0 23px; }.brand { width: 160px; }.site-header nav { gap: 18px; }
 .hero-message { max-width: 57%; }.hero-message h1 { font-size: 6.3vw; }.hero-photo-composition { width: 300px; right: 5%; top: 230px; }.hero-photo-back { width: 265px; height: 365px; }.hero-photo-front { width: 148px; height: 205px; left: -18px; bottom: 55px; }.hero-message>p { font-size: 14px; }.home-hero { min-height: 800px; }
 .event-tile { min-height: 510px; }.event-identity { min-height: 243px; padding: 25px; }.event-identity h3 { font-size: 36px; }.home-about { gap: 7%; }.home-about-image img { height: 490px; }
 .service-columns article { padding: 30px 23px 22px; }.service-columns h3 { font-size: 32px; }.service-columns p { min-height: 145px; }
}
@media(max-width:800px) {
 .site-header { top: 15px; height: auto; min-height: 72px; width: calc(100% - 30px); padding: 0 22px; }.site-header .button { margin-top: 7px; }.site-header nav.is-open { padding-bottom: 22px; }.brand { width: 173px; }
 .home-hero { padding-top: 125px; min-height: 1020px; }.hero-overline { font-size: 9px; }.hero-message { padding-top: 45px; max-width: 100%; }.hero-message h1 { font-size: 74px; }.hero-message>p { max-width: 45ch; }.hero-photo-composition { top: 570px; right: calc(50% - 190px); width: 320px; height: 340px; }.hero-photo-back { width: 240px; height: 320px; }.hero-photo-front { width: 145px; height: 187px; left: 0; bottom: -15px; }.orbit-ring { width: 410px; height: 410px; left: -40px; }.composition-label { right: -10px; bottom: -33px; }
 .section { padding-top: 75px; padding-bottom: 75px; }.section-heading>.text-link { margin-top: 25px; }.event-showcase { grid-template-columns: 1fr; }.event-tile { min-height: 520px; }.event-stack { grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }.event-identity { min-height: 270px; }.event-identity h3 { font-size: 34px; }
 .home-about { grid-template-columns: 1fr 1fr; gap: 35px; }.home-about-image { padding-right: 15px; }.home-about-image img { height: 470px; }.home-about-copy h2 { font-size: 41px; }.home-about-copy>p:not(.section-index) { font-size: 13px; }.testimonials { gap: 35px; }.testimonials h2 { font-size: 42px; }.testimonial-pending { padding: 24px; }.testimonial-pending p { font-size: 20px; }
 .service-columns { grid-template-columns: 1fr; }.service-columns article { display: grid; grid-template-columns: 1fr 1.3fr; column-gap: 35px; }.service-columns .service-word { grid-column: 1; }.service-columns h3 { grid-column: 1; margin: 20px 0; }.service-columns p { grid-column: 2; grid-row: 1/span 2; min-height: 0; }.service-columns .text-link { grid-column: 2; margin-top: 10px; }
 .footer-top p { font-size: 25px; }.footer-top img { width: 220px; }.footer-navigation { flex-wrap: wrap; gap: 20px; }.footer-bottom { font-size: 9px; }
 .inner-hero { padding-top: 145px; }.inner-hero h1 { font-size: 7.5vw; }.process-grid { gap: 25px; }.process-grid h3 { font-size: 29px; }.process-grid p { min-height: 180px; }.process-grid ul { font-size: 12px; }.values-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.values-grid article,.values-grid article:nth-last-child(-n+2) { grid-column: auto; }.values-grid article:last-child { grid-column: 1/-1; }.impact-grid { gap: 25px; }.impact-grid h3 { font-size: 25px; }.sector-list li { font-size: 21px; padding: 16px 24px; }
 .catalog-feature { grid-template-columns: 1fr; }.catalog-feature>img { height: 420px; }.catalog-body { padding: 26px; }.catalog-identity { min-height: 250px; padding: 26px; }.catalog-identity h2 { font-size: 38px; }.catalog-identity>span { font-size: 9px; }.blog-intro { gap: 40px; }.blog-intro h2 { font-size: 39px; }.blog-intro img { height: 430px; }
}
@media(max-width:480px) {
 .site-header { padding: 0 18px; border-radius: 11px; }.brand { width: 160px; }.home-hero { min-height: 985px; padding-top: 125px; }.hero-message { padding-top: 43px; }.hero-message h1 { font-size: 13.4vw; }.hero-message h1 em { font-size: 1.03em; }.hero-message>p { font-size: 13px; margin: 25px 0 25px; }.hero-message>p br { display: none; }.hero-primary { font-size: 12px; gap: 28px; }.hero-photo-composition { top: 510px; right: calc(50% - 155px); width: 280px; height: 330px; }.hero-photo-back { width: 229px; height: 315px; }.hero-photo-front { left: -2px; width: 139px; height: 181px; bottom: -10px; }.orbit-ring { width: 350px; height: 350px; left: -20px; }.composition-label { bottom: -31px; right: 5px; font-size: 8px; }.hero-bottom-caption { bottom: 22px; gap: 12px; font-size: 8px; }.hero-bottom-caption>a { gap: 10px; }.motion-toggle { font-size: 8px; padding: 9px 11px; }.brand-marquee { padding: 17px 0; }.marquee-track b { margin: 0 28px; }
 .section { padding-top: 65px; padding-bottom: 65px; }h2 { font-size: 41px; }.section-heading h2 em { font-size: 1.04em; }.event-tile { min-height: 450px; }.event-tile-caption { left: 23px; right: 23px; bottom: 25px; }.event-tile-caption h3 { font-size: 40px; }.event-stack { grid-template-columns: 1fr; }.event-identity { min-height: 250px; }.event-identity h3 { font-size: 39px; }
 .home-about { grid-template-columns: 1fr; gap: 40px; }.home-about-image img { height: 410px; }.home-about-copy h2 { font-size: 46px; }.home-about-copy>p:not(.section-index) { font-size: 14px; }.testimonials { grid-template-columns: 1fr; gap: 30px; }.testimonials h2 { font-size: 43px; }.service-columns article { display: block; padding: 30px; }.service-columns h3 { font-size: 35px; margin: 23px 0; }.service-columns p { min-height: 0; }.service-columns .text-link { margin-top: 24px; }
 .contact h2 { font-size: 15vw; }.photo-strip { grid-template-columns: 1fr 1fr; }.footer-top { align-items: flex-start; flex-direction: column; gap: 28px; }.footer-top p { font-size: 26px; }.footer-navigation { margin-top: 35px; gap: 18px 23px; }.footer-bottom { flex-direction: column; gap: 15px; }.footer-bottom nav { gap: 20px; flex-wrap: wrap; }.site-footer { padding-top: 48px; }
 .inner-hero { padding-top: 140px; padding-bottom: 65px; }.inner-hero h1 { font-size: 12vw; }.inner-hero>p:last-child { font-size: 14px; }.page-how .inner-hero h1 { font-size: 11vw; }.process-grid,.impact-grid { grid-template-columns: 1fr; gap: 34px; }.process-grid h3 { font-size: 37px; margin: 23px 0; }.process-grid p { min-height: 0; }.process-grid ul { font-size: 13px; }.values-grid { grid-template-columns: 1fr; gap: 18px; }.values-grid article:last-child { grid-column: auto; }.values-grid article { padding: 28px; }.values-grid h3 { font-size: 27px; }.sector-list { gap: 12px; }.sector-list li { font-size: 19px; padding: 13px 20px; }.closing-cta { padding: 65px var(--gutter); }.closing-cta h2 { font-size: 43px; }
 .event-filters { gap: 8px; }.event-filters button { padding: 11px 14px; font-size: 11px; }.catalog-grid { grid-template-columns: 1fr; gap: 22px; }.catalog-feature>img { min-height: 0; height: 320px; }.catalog-body h2 { font-size: 34px; }.catalog-identity h2 { font-size: 43px; }.blog-intro { grid-template-columns: 1fr; }.blog-intro img { height: 380px; }.blog-intro h2 { font-size: 42px; }.legal-copy h2 { font-size: 25px; }.editorial-note { padding: 20px; }
}
