
:root{--navy:#0B1F3A;--red:#A00000;--muted:#5b6879;--paper:#f6f7f9;--line:#e4e8ee}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--navy);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.wrap{max-width:1260px;margin:auto;padding:0 30px}.nav{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line)}.nav-inner{max-width:1260px;padding:17px 30px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:66px}.brand span{font-size:10px;font-weight:800;letter-spacing:.16em;line-height:1.5;border-left:1px solid #d9dce2;padding-left:14px}.brand small{display:block;color:var(--red);letter-spacing:.25em}nav{display:flex;align-items:center;gap:24px}nav a{font-size:12px;font-weight:750}nav a:hover,nav a.active{color:var(--red)}.btn{display:inline-flex;justify-content:center;align-items:center;background:var(--red);color:white;border:1px solid var(--red);padding:15px 23px;border-radius:6px;font-weight:750;font-size:12px;min-height:47px}.btn:hover{background:#850000}.btn.outline{background:transparent;color:var(--navy);border-color:var(--navy)}.btn.outline:hover{background:var(--navy);color:white}.menu{display:none;border:0;background:transparent;font-size:27px}.eyebrow{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--red);font-weight:800}.hero{background:var(--paper);position:relative;overflow:hidden}.hero:after{content:'';position:absolute;right:-210px;top:-240px;width:750px;height:750px;border:115px solid rgba(11,31,58,.025);border-radius:50%}.hero-inner{min-height:590px;display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:75px;padding-top:85px;padding-bottom:85px;position:relative;z-index:1}.hero h1{font-size:clamp(44px,5.6vw,77px);letter-spacing:-.07em;line-height:1.04;margin:22px 0 25px}.hero h1 em{font-style:normal;color:var(--red)}.lead{font-size:17px;line-height:1.8;color:#536077;max-width:650px}.actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:31px}.feature{background:var(--navy);color:white;padding:43px;min-height:330px;display:flex;flex-direction:column;justify-content:space-between}.feature h2{font-size:clamp(27px,3vw,40px);letter-spacing:-.045em;line-height:1.15}.feature p{font-size:14px;color:#c5cfda;line-height:1.8}.section{padding:92px 0}.section.alt{background:var(--paper)}.section h2,.page-heading h1{font-size:clamp(32px,3.5vw,48px);letter-spacing:-.055em;line-height:1.13;margin:14px 0 20px}.section-intro{color:var(--muted);line-height:1.8;font-size:15px;max-width:720px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px;margin-top:36px}.card{border:1px solid var(--line);background:#fff;padding:31px;display:flex;flex-direction:column}.card .index{color:var(--red);font-size:11px;font-weight:800}.card h3{font-size:21px;letter-spacing:-.03em;margin:28px 0 12px}.card p{color:var(--muted);line-height:1.75;font-size:14px;flex:1}.card a{font-size:12px;font-weight:800;color:var(--red);margin-top:16px}.dark-cta{background:var(--navy);color:white;padding:78px 0}.dark-cta h2{font-size:clamp(30px,3.7vw,47px);letter-spacing:-.05em}.dark-cta p{color:#cbd5e0;line-height:1.8}.cta-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.page-heading{background:var(--paper);padding:83px 0 70px}.page-heading p{max-width:720px;line-height:1.8;color:var(--muted)}.form-panel{max-width:900px;margin:auto;background:white;border:1px solid var(--line);padding:42px}.form-panel h2{font-size:26px;letter-spacing:-.04em}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:21px}.field{display:flex;flex-direction:column;gap:8px}.field.full{grid-column:1/-1}.field label{font-size:12px;font-weight:750}.field input,.field select,.field textarea{padding:14px 15px;min-height:48px;border:1px solid #c9d2de;border-radius:5px;background:white;width:100%;font-size:14px;color:var(--navy)}.field textarea{min-height:135px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--red);outline-offset:1px}.form-actions{margin-top:24px}.message{font-size:13px;margin-top:15px}.form-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:30px}.tab{border:1px solid var(--line);background:white;color:var(--navy);padding:13px 16px;font-size:12px;font-weight:750;border-radius:5px}.tab.active{background:var(--navy);color:white}.pricing-tabs{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px 0 34px}.pricing-tabs button{padding:12px 18px;background:#edf0f5;border:1px solid #dce3ea;border-radius:6px;font-size:12px;font-weight:750;color:var(--navy)}.pricing-tabs button.active{background:var(--navy);color:white}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.pricing-grid.retainers{grid-template-columns:repeat(4,1fr);gap:14px}.plan{border:1px solid #dbe2ea;border-radius:12px;padding:32px 24px 25px;display:flex;flex-direction:column;position:relative}.plan.featured{background:var(--navy);color:white;border:2px solid var(--red)}.plan h3{font-size:19px;margin:0 0 13px}.plan .price{font-size:32px;font-weight:800;letter-spacing:-.04em}.plan .term{font-size:12px;color:#738094;min-height:36px}.plan.featured .term{color:#d0dbe6}.plan ul{list-style:none;padding:0;margin:18px 0 28px;flex:1}.plan li{font-size:13px;line-height:1.55;padding:0 0 13px 20px;position:relative}.plan li:before{content:'✓';position:absolute;left:0;color:var(--red)}.plan.featured li:before{color:white}.plan .btn{width:100%;background:var(--navy);border-color:var(--navy)}.plan.featured .btn,.plan .btn:hover{background:var(--red);border-color:var(--red)}.pricing-note{text-align:center;font-size:12px;line-height:1.8;color:var(--muted);margin:25px auto;max-width:850px}footer{background:#fff;padding:42px 0;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:35px;flex-wrap:wrap}footer p,footer a{font-size:12px;color:#647084;line-height:1.8}footer .links{display:flex;gap:20px;flex-wrap:wrap}.notice{background:#fff5e7;border-left:3px solid #bd7b23;padding:14px 17px;font-size:13px;color:#66513a;margin:24px 0}.hidden{display:none!important}@media(max-width:1050px){.pricing-grid.retainers{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:100%;padding:20px;background:white;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.hero-inner{grid-template-columns:1fr;min-height:0;gap:30px}.grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}.cta-row{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.wrap{padding:0 21px}.nav-inner{padding:15px 21px}.brand img{width:60px}.brand span{font-size:9px}.hero-inner{padding-top:62px;padding-bottom:62px}.hero h1{font-size:44px}.lead{font-size:15px}.feature{min-height:250px;padding:30px}.section{padding:65px 0}.grid,.pricing-grid,.pricing-grid.retainers,.form-grid{grid-template-columns:1fr}.form-panel{padding:23px}.page-heading{padding:60px 0}.field.full{grid-column:auto}}

.turnstile-wrap{margin:18px 0 8px;min-height:65px;}

/* Shared premium footer and editorial pages */
.site-footer{background:#f8fafc;border-top:1px solid var(--line);padding:58px 0 24px}.site-footer-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:34px}.site-footer h3{font-size:15px;margin:0 0 16px;color:var(--navy)}.site-footer p,.site-footer a{font-size:13px;line-height:1.85;color:#4b596e}.site-footer a{display:block}.site-footer a:hover{color:var(--red)}.site-footer .footer-brand{font-weight:800;font-size:18px;color:var(--navy)}.footer-bottom{border-top:1px solid var(--line);margin-top:38px;padding-top:18px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.footer-bottom a{display:inline;margin-left:16px}.editorial{max-width:850px}.editorial h2{font-size:25px;margin:36px 0 14px}.editorial h3{font-size:18px;margin:25px 0 10px}.editorial p,.editorial li{line-height:1.85;color:#4b596e;font-size:15px}.editorial a{color:var(--red);text-decoration:underline}.about-band{background:var(--navy);color:#fff;padding:62px 0}.about-band p{color:#d6dfea;line-height:1.85;max-width:1000px}.credential-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.credential{border:1px solid var(--line);padding:25px}.credential h3{margin:0 0 10px}.credential p{color:var(--red);margin:0}.events-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:32px}.event-card{border:1px solid var(--line);padding:30px;background:#fff}.event-card h3{margin:12px 0}.event-card p{color:var(--muted);line-height:1.8}.event-date{font-size:11px;color:var(--red);font-weight:800;letter-spacing:.15em;text-transform:uppercase}@media(max-width:850px){.site-footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.site-footer-grid,.credential-grid,.events-grid{grid-template-columns:1fr}.site-footer{padding:44px 0 22px}.footer-bottom a{margin:0 14px 0 0}}

/* Global enhancements: responsive equal-height cards and accessible scroll reveal */
@media (min-width: 769px) {
  .grid, .pricing-grid, .events-grid { align-items: stretch; }
  .grid > .card, .pricing-grid > .plan, .events-grid > .event-card { height: 100%; }
}
.js-enhanced .reveal-on-scroll { opacity: 0; transform: translateY(24px); transition: opacity .75s ease-out, transform .75s ease-out; }
.js-enhanced .reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 768px) { .js-enhanced .reveal-on-scroll { transform: translateY(14px); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js-enhanced .reveal-on-scroll { opacity: 1; transform: none; transition: none; }
}

/* V7: unified high-end spacing, card interaction, and global hover behavior */
:root{--ease-premium:cubic-bezier(.22,1,.36,1)}
.section{padding-block:clamp(78px,8.5vw,132px)}
.section.section-compact{padding-block:clamp(52px,6vw,88px)}
.section .wrap>h2{max-width:880px;font-size:clamp(34px,4.1vw,58px);line-height:1.08}
.section-intro{font-size:clamp(15px,1.2vw,18px);max-width:780px}
.hero-inner{min-height:650px;gap:clamp(30px,5vw,80px)}
.hero h1{font-size:clamp(48px,5.9vw,84px)}
.hero .lead{font-size:clamp(16px,1.4vw,19px)}
.grid{gap:24px;margin-top:46px}
.card{min-height:330px;padding:clamp(26px,3vw,42px)}
.card h3{font-size:clamp(20px,1.8vw,24px)}
.card,.plan,.event-card,.credential,.case-card,.feature{transition:transform .42s var(--ease-premium),box-shadow .42s var(--ease-premium),border-color .3s ease,background-color .3s ease}
@media(hover:hover) and (pointer:fine){
.card:hover,.plan:hover,.event-card:hover,.credential:hover,.case-card:hover,.feature:hover{transform:translateY(-8px);box-shadow:0 22px 55px rgba(11,31,58,.12);border-color:rgba(160,0,0,.28)}
.btn{transition:transform .28s var(--ease-premium),background-color .28s ease,box-shadow .28s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(11,31,58,.14)}
nav a:not(.btn),.card a,.case-card a,.site-footer a{transition:color .25s ease,opacity .25s ease}
.card a:hover,.case-card a:hover{color:#710000}
}
.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:45px}
.case-card{padding:clamp(28px,3.5vw,46px);border:1px solid var(--line);border-radius:10px;background:#fff;display:flex;flex-direction:column}
.case-card h3{font-size:clamp(22px,2vw,29px);line-height:1.2;letter-spacing:-.04em}
.case-card p{color:var(--muted);line-height:1.8;font-size:14px}
.case-label{text-transform:uppercase;color:var(--red);font-size:11px;font-weight:800;letter-spacing:.16em;margin-top:18px}
.case-card a{font-size:13px;font-weight:800;color:var(--red);margin-top:auto;padding-top:24px}
.split-callout{display:flex;align-items:center;justify-content:space-between;gap:24px}
.service-meta{font-size:13px;letter-spacing:.04em}
.site-footer{padding-top:clamp(55px,7vw,95px)}
.site-footer-grid{grid-template-columns:1.25fr 1.4fr .7fr .7fr;gap:clamp(22px,3vw,54px)}
.site-footer .footer-brand{font-size:19px;letter-spacing:-.025em}
.site-footer .footer-role{color:var(--red);font-weight:700;margin:6px 0 14px}
.site-footer .footer-action{font-weight:750;color:var(--navy);margin-top:18px}
.site-footer a{overflow-wrap:anywhere}
.site-footer h3{font-size:13px;letter-spacing:.09em;text-transform:uppercase}
.site-footer .footer-bottom{margin-top:55px;padding-top:24px}
.pricing-grid{gap:18px;align-items:stretch}
.plan{min-height:380px}
.plan.featured{box-shadow:0 10px 35px rgba(11,31,58,.09)}
@media(max-width:850px){.site-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-inner{min-height:0}.split-callout{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.section{padding-block:70px}.hero h1{font-size:clamp(40px,10vw,54px)}.case-grid,.site-footer-grid{grid-template-columns:1fr}.card{min-height:0}.site-footer .footer-bottom{margin-top:34px}.site-footer-grid{gap:28px}.feature{min-height:0}.split-callout{gap:10px}}
@media(prefers-reduced-motion:reduce){.card,.plan,.event-card,.credential,.case-card,.feature,.btn{transition:none!important;transform:none!important}}

/* V8: refined, consistent desktop and mobile layout */
:root { --content-width: 1160px; }
.wrap { max-width: calc(var(--content-width) + 64px); padding-inline:32px; }
.page-heading { padding: 72px 0 42px; }
.page-heading .wrap { max-width: 1120px; }
.page-heading h1 { margin: 12px 0 14px; }
.page-heading p { margin: 0; }
/* Contact forms: keep introduction and form visually connected */
body:has(form[data-kind]) .page-heading { text-align:center; padding: 64px 0 26px; }
body:has(form[data-kind]) .page-heading p { margin-inline:auto; }
body:has(form[data-kind]) .section.alt { padding: 20px 0 86px; background:var(--paper); }
body:has(form[data-kind]) .page-heading { background:var(--paper); }
body:has(form[data-kind]) .form-panel { max-width: 860px; width:100%; margin:0 auto; padding:clamp(24px,3.5vw,44px); border-radius:12px; box-shadow:0 16px 45px rgba(11,31,58,.045); }
body:has(form[data-kind]) .form-grid { align-items:start; }
body:has(form[data-kind]) .form-tabs { justify-content:center; margin-bottom:30px; }
body:has(form[data-kind]) .form-tabs .tab { min-height:44px; display:inline-flex; align-items:center; justify-content:center; }
body:has(form[data-kind]) .field input,body:has(form[data-kind]) .field select,body:has(form[data-kind]) .field textarea { min-height:50px; }
/* Pricing: single visual composition, original plan sizing and hover */
body:has(#pricing-cards) .page-heading { text-align:center; padding: 58px 0 14px; background:#fff; }
body:has(#pricing-cards) .page-heading p { margin-inline:auto; }
body:has(#pricing-cards) .section { padding: 14px 0 84px; }
body:has(#pricing-cards) .section>.wrap { max-width: 1130px; }
body:has(#pricing-cards) .pricing-tabs { display:inline-flex; vertical-align:top; gap:4px; padding:5px; background:#f0f3f8; border:1px solid #dce3ea; border-radius:12px; margin: 0 6px 30px; }
body:has(#pricing-cards) .pricing-tabs button { border:0; border-radius:8px; background:transparent; min-height:44px; padding:11px 16px; }
body:has(#pricing-cards) .pricing-tabs button.active { background:var(--navy); color:#fff; }
body:has(#pricing-cards) .section>.wrap { text-align:center; }
body:has(#pricing-cards) .pricing-grid { text-align:left; gap:18px; margin-top:4px; }
body:has(#pricing-cards) .plan { min-height:378px; padding:32px 24px 24px; border-radius:14px; transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease; transform-origin:center; }
body:has(#pricing-cards) .plan:hover { transform:scale(1.045); box-shadow:0 18px 40px rgba(11,31,58,.18); z-index:5; }
body:has(#pricing-cards) .plan .btn { margin-top:auto; }
body:has(#pricing-cards) .pricing-note { margin-top:26px; }
@media(max-width:800px) {
 .wrap { padding-inline:22px; }
 .page-heading { padding:56px 0 30px; }
 body:has(form[data-kind]) .page-heading { padding:50px 0 24px; }
 body:has(form[data-kind]) .section.alt { padding: 14px 0 60px; }
 body:has(form[data-kind]) .form-panel { padding:22px; }
 body:has(form[data-kind]) .form-tabs { justify-content:flex-start; }
 body:has(#pricing-cards) .page-heading { padding:48px 0 22px; }
 body:has(#pricing-cards) .section { padding:10px 0 60px; }
 body:has(#pricing-cards) .pricing-tabs { display:flex; width:100%; max-width:460px; margin:0 auto 12px; }
 body:has(#pricing-cards) .pricing-tabs button { flex:1; padding:10px 7px; }
 body:has(#pricing-cards) .pricing-grid { margin-top:26px; }
 body:has(#pricing-cards) .plan { min-height:0; }
 body:has(#pricing-cards) .plan:hover { transform:none; }
}
@media(prefers-reduced-motion:reduce) {body:has(#pricing-cards) .plan,body:has(#pricing-cards) .plan:hover {transition:none;transform:none;}}

/* V9 content presentation */
.premium-cta{background:#0B1F3A;color:#fff;text-align:center}.premium-cta h2,.premium-cta .eyebrow,.premium-cta p{color:#fff}.premium-cta .section-intro{margin-left:auto;margin-right:auto;max-width:680px}.premium-cta .actions{justify-content:center}.premium-cta .btn{background:#A00000;border-color:#A00000}.availability{margin-top:24px;opacity:.78;font-size:13px}.section .grid .card{height:100%}.section .grid{align-items:stretch}@media(max-width:800px){.premium-cta{text-align:left}.premium-cta .actions{justify-content:flex-start}}


/* V10: page alignment, consistent visual rhythm, and navigation states */
:root{--page-max:1160px}
main{min-width:0}
main > section > .wrap{width:100%;max-width:calc(var(--page-max) + 64px);margin-inline:auto;padding-inline:32px}
main > .page-heading > .wrap{max-width:calc(var(--page-max) + 64px)}
main > .page-heading{padding-block:clamp(56px,6vw,88px) clamp(42px,5vw,64px)}
main > .page-heading h1{max-width:850px;line-height:1.12;text-wrap:balance}
main > .page-heading p{max-width:750px}
main > .section .wrap > .eyebrow,main > .section .wrap > h2,main > .section .wrap > .section-intro{max-width:850px}
main > .section .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
main > .section .grid > .card{min-width:0;height:100%;padding:clamp(25px,2.5vw,38px);border-radius:10px}
main > .section .grid > .card h3{margin-top:18px}
main > .section .grid > .card p{flex:0 0 auto;margin:0 0 16px}
main > .section .grid > .card p:last-of-type{margin-bottom:0}
main > .section .grid > .card a{margin-top:auto;padding-top:14px}
main > .section .actions{align-items:center}
main > .premium-cta{text-align:center;padding-block:clamp(75px,8vw,112px)}
main > .premium-cta .wrap > h2,main > .premium-cta .wrap > .eyebrow,main > .premium-cta .wrap > .section-intro{margin-inline:auto}
main > .premium-cta .actions{justify-content:center}
main > .premium-cta .availability{text-align:center}
main > .about-band .wrap,main > .dark-cta .wrap{width:100%;max-width:calc(var(--page-max) + 64px);padding-inline:32px}
main > .about-band{padding-block:clamp(68px,7vw,100px)}
main > .dark-cta{padding-block:clamp(72px,8vw,110px)}
main > .dark-cta .cta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:40px}
main > .dark-cta .cta-row > div{min-width:0}
main > .dark-cta .cta-row h2{max-width:820px;line-height:1.13}
main > .dark-cta .cta-row p{max-width:760px}
main > .section .wrap.editorial{max-width:calc(900px + 64px);margin-inline:auto}
main > .section .wrap.editorial > *{max-width:100%}
main > .section .events-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
main > .section .event-card{min-width:0;border-radius:10px}
header.nav nav a.active:not(.btn),header.nav nav a[aria-current="page"]:not(.btn){color:var(--red);position:relative}
@media(min-width:851px){header.nav nav a[aria-current="page"]:not(.btn)::after{content:"";position:absolute;bottom:-9px;left:0;right:0;height:2px;background:var(--red)}}
@media(max-width:850px){main > .section .grid{grid-template-columns:repeat(2,minmax(0,1fr))}main > .dark-cta .cta-row{grid-template-columns:1fr;gap:22px}}
@media(max-width:600px){main > section > .wrap,main > .about-band .wrap,main > .dark-cta .wrap{padding-inline:22px}main > .section .grid,main > .section .events-grid{grid-template-columns:1fr}main > .page-heading{padding-block:54px 38px}main > .premium-cta{text-align:left}main > .premium-cta .wrap > h2,main > .premium-cta .wrap > .eyebrow,main > .premium-cta .wrap > .section-intro{margin-left:0}main > .premium-cta .actions{justify-content:flex-start}main > .premium-cta .availability{text-align:left}}

/* V11: Events page uses a single alignment axis and intentional section rhythm. */
.events-page{--events-width:1100px}
.events-page > .page-heading{padding:clamp(62px,6vw,96px) 0 clamp(44px,5vw,70px)}
.events-page > .page-heading .wrap,
.events-page > .section .wrap.editorial{width:100%;max-width:calc(var(--events-width) + 64px);padding-inline:32px;margin-inline:auto}
.events-page > .page-heading h1{margin:12px 0 14px;line-height:1.08}
.events-page > .page-heading p{margin:0;max-width:740px}
.events-page > .section{padding:clamp(58px,6vw,94px) 0 clamp(78px,7vw,112px)}
.events-page > .section .eyebrow{margin:0 0 14px}
.events-page > .section h2{margin:0 0 14px;font-size:clamp(34px,4vw,54px);line-height:1.1}
.events-page > .section .section-intro{margin:0;max-width:780px}
.events-page .events-grid{margin-top:34px;gap:22px}
.events-page .event-card{padding:clamp(25px,2.7vw,36px);height:100%}
@media(max-width:600px){
 .events-page > .page-heading .wrap,.events-page > .section .wrap.editorial{padding-inline:22px}
 .events-page > .page-heading{padding:52px 0 42px}
 .events-page > .section{padding:52px 0 72px}
 .events-page .events-grid{margin-top:26px;gap:16px}
}

/* V12: Events — distinct closing invitation, without changing newsroom headings. */
.events-page .events-grid + .event-invitation{
  margin-top:clamp(52px,6vw,82px);
  padding-top:clamp(32px,4vw,48px);
  border-top:1px solid var(--line);
}
.events-page .event-invitation h2{
  font-size:clamp(28px,3.2vw,42px);
  line-height:1.18;
  margin:0 0 14px;
  letter-spacing:-.035em;
}
.events-page .event-invitation p{
  margin:0;
  max-width:730px;
}
.events-page .event-invitation a{color:var(--red);text-underline-offset:3px}
.events-page .events-grid{align-items:stretch}
.events-page .event-card{min-width:0;overflow-wrap:break-word}
@media(max-width:600px){
  .events-page .events-grid + .event-invitation{margin-top:40px;padding-top:30px}
}

/* V13: ONLY Pricing and General Contact alignment. No other page selectors. */
@media (min-width:801px) {
 body:has(#pricing-cards) .page-heading,
 body:has(form[data-kind="contact"]) .page-heading {padding:58px 0 22px;text-align:center;}
 body:has(#pricing-cards) .page-heading > .wrap,
 body:has(form[data-kind="contact"]) .page-heading > .wrap {max-width:1130px;margin-inline:auto;text-align:center;}
 body:has(#pricing-cards) .page-heading p,
 body:has(form[data-kind="contact"]) .page-heading p {margin-left:auto;margin-right:auto;}
 body:has(#pricing-cards) .section,
 body:has(form[data-kind="contact"]) .section.alt {padding-top:16px;}
 body:has(form[data-kind="contact"]) .form-panel {margin-inline:auto;}
}
body:has(#pricing-cards) .pricing-grid,
body:has(form[data-kind="contact"]) .form-panel {position:relative;}

/* V14: Center the constrained headings themselves, not only their parent.
   A previous global max-width:850px rule left h1 anchored to the left
   despite text-align:center on the wider wrapper. */
body:has(#pricing-cards) main > .page-heading h1,
body:has(form[data-kind="contact"]) main > .page-heading h1 {
  margin-left:auto;
  margin-right:auto;
}

/* V15 — uniform alignment for all THREE contact categories only. */
body:has(form[data-kind="project"]) main > .page-heading,
body:has(form[data-kind="callback"]) main > .page-heading,
body:has(form[data-kind="contact"]) main > .page-heading {
  text-align:center; padding:58px 0 26px;
}
body:has(form[data-kind="project"]) main > .page-heading > .wrap,
body:has(form[data-kind="callback"]) main > .page-heading > .wrap,
body:has(form[data-kind="contact"]) main > .page-heading > .wrap {
  width:100%; max-width:960px; margin-inline:auto; text-align:center;
}
body:has(form[data-kind="project"]) main > .page-heading h1,
body:has(form[data-kind="callback"]) main > .page-heading h1,
body:has(form[data-kind="contact"]) main > .page-heading h1 {
  max-width:none; width:100%; margin:12px auto 14px; text-align:center;
}
body:has(form[data-kind="project"]) main > .page-heading p,
body:has(form[data-kind="callback"]) main > .page-heading p,
body:has(form[data-kind="contact"]) main > .page-heading p {
  max-width:720px; width:100%; margin:0 auto; text-align:center;
}
body:has(form[data-kind="project"]) .form-tabs,
body:has(form[data-kind="callback"]) .form-tabs,
body:has(form[data-kind="contact"]) .form-tabs {justify-content:center;}
@media(max-width:600px){
 body:has(form[data-kind="project"]) main > .page-heading,
 body:has(form[data-kind="callback"]) main > .page-heading,
 body:has(form[data-kind="contact"]) main > .page-heading {padding:44px 0 22px;}
}
