/* Refinements for the complete theme. */
body{margin:0}.wp-site-blocks>header,.wp-site-blocks>main,.wp-site-blocks>footer{margin-block-start:0!important}
.prima-header__inner{grid-template-columns:minmax(220px,300px) minmax(0,1fr) auto;gap:26px}
.prima-header .wp-block-navigation__container{gap:clamp(16px,2.3vw,34px)}
.prima-footer__bottom-inner{padding-bottom:50px}
.prima-footer__legal{align-items:center}
.prima-hero-slider__controls button{position:relative}
.prima-hero-slider__dot::before{content:'';position:absolute;inset:-13px}
.prima-header .wp-block-navigation__submenu-container{z-index:9999}
.prima-topbar{z-index:110!important}.prima-topbar__search-form{z-index:9999}
.prima-content :is(p,a,code){overflow-wrap:anywhere}
.prima-hero-slide{background-image:radial-gradient(ellipse at 24% 83%,rgba(0,5,55,.9) 0%,rgba(0,5,55,.56) 30%,rgba(0,5,55,0) 66%),var(--prima-hero-image)}
@media(max-width:1050px){.prima-header__inner{grid-template-columns:minmax(190px,1fr) auto auto}.prima-header .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}.prima-header .wp-block-navigation__responsive-container-open{display:flex!important}.prima-header__portal{display:inline-flex!important}}
@media(max-width:600px){.prima-header__inner{grid-template-columns:minmax(140px,1fr) auto auto;gap:8px}.prima-topbar__nav>a,.prima-topbar__icon{min-height:40px}.prima-hero-slider__controls{gap:20px}.prima-header__portal{width:44px!important;min-height:44px!important}}

.prima-header__inner,.prima-topbar__inner{max-width:none!important}
/* Keep navigation inside the narrow end of the slanted bar. */
.prima-topbar__inner{padding-top:8px}
body.home .wp-site-blocks>main,body.front-page .wp-site-blocks>main{margin-block-start:calc(-1 * var(--prima-slant))!important}
@media(max-width:820px){.prima-topbar__inner{padding-top:3px}}

/* 2.1: wide content, calm hero and clear stacking contexts. */
:root { --prima-container:min(1440px,calc(100% - clamp(32px,7vw,112px))); --prima-fixed-top:44px; --prima-admin-offset:0px; }
body.admin-bar { --prima-admin-offset:32px; }
.wp-site-blocks .prima-content { width:var(--prima-container); max-width:1440px; }
.wp-site-blocks .prima-content>.wp-block-post-content { max-width:none; width:100%; }
.prima-content .wp-block-post-content>p:not(.prima-lead), .prima-content .wp-block-post-content>ul { max-width:1040px; }
.prima-content .wp-block-post-content>.prima-lead { max-width:1000px; }
.prima-content .prima-section { padding-block:44px; }
.prima-content .prima-container { width:100%; }
.prima-content .prima-heading { max-width:1050px; }
.prima-content .wp-block-post-content>*,.prima-content .is-layout-constrained>.alignwide { margin-inline:0; }
.prima-content .wp-block-post-content>.wp-block-group { max-width:100%; }
.prima-header__inner { grid-template-columns:minmax(210px,300px) minmax(0,1fr) auto; }
.prima-header__portal { flex-shrink:0; }
.prima-logo--legacy { clip-path:polygon(0 0,100% 0,100% 69%,25% 69%,25% 100%,0 100%); }
.prima-topbar { overflow:visible; z-index:300!important; }
.prima-topbar__inner { position:relative; z-index:3; }
.prima-topbar::before,.prima-topbar::after { z-index:0; }
.prima-topbar__nav { min-width:0; }
.prima-topbar__nav>*,.prima-topbar__search-toggle { min-height:44px; }
.prima-topbar__search-form { z-index:1000; right:0; }
.prima-social { position:relative; margin-left:18px; padding-left:14px; border-left:1px solid #ffffff60; }
.prima-social summary { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; list-style:none; }
.prima-social summary::-webkit-details-marker { display:none; }
.prima-social svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; }
.prima-social__panel { position:absolute; z-index:1000; right:0; top:calc(100% + 10px); min-width:205px; padding:10px; background:#fff; color:var(--prima-navy); border:1px solid #e4e6ed; border-radius:12px; box-shadow:var(--prima-shadow); }
.prima-social__panel a { display:flex; justify-content:space-between; gap:22px; align-items:center; min-height:44px; padding:10px 14px; border-radius:6px; color:var(--prima-navy); text-decoration:none; }
.prima-social__panel a:hover { background:var(--prima-blush); }
.prima-social[open] summary { color:#fff; }
:is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #b00638; outline-offset:4px; }
.prima-topbar :is(a,button,summary):focus-visible { outline-color:#fff; }
.prima-topbar .prima-social__panel a:focus-visible { outline-color:var(--prima-magenta); }
html.prima-header-is-scrolled .wp-site-blocks>header { min-height:var(--prima-header-reserved,100px); }
.prima-topbar.is-scrolled { position:fixed; inset:var(--prima-admin-offset) 0 auto; min-height:44px; background:var(--prima-navy); }
.prima-topbar.is-scrolled::before,.prima-topbar.is-scrolled::after { display:none; }
.prima-topbar.is-scrolled .prima-topbar__inner { min-height:44px; padding-block:0; }
body .prima-header.is-scrolled,body.home .prima-header.is-scrolled,body.front-page .prima-header.is-scrolled { position:fixed; top:calc(var(--prima-fixed-top) + var(--prima-admin-offset)); left:0; right:0; background:#fffffff7; box-shadow:0 8px 22px #00053712; backdrop-filter:blur(12px); }
body .prima-header.is-scrolled .prima-header__inner { min-height:72px; }
body.home .prima-header::before,body.front-page .prima-header::before { background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.28) 60%,transparent); inset:-24px 0 -25px; }
.prima-hero-slider { min-height:clamp(730px,88svh,880px); }
.prima-hero-slide { background-image:radial-gradient(ellipse at 24% 64%,rgba(0,5,55,.67),rgba(0,5,55,.18) 43%,transparent 69%),var(--prima-hero-image); background-position:center,var(--prima-hero-position,center); }
.prima-hero-slide__inner { align-items:center; padding-block:180px 112px; }
.prima-hero-slide.is-active .prima-hero-slide__inner { animation:none; }
.prima-hero-slide__copy { width:100%; max-width:1040px; grid-template-columns:minmax(300px,420px) minmax(0,460px); gap:clamp(28px,4vw,64px); align-items:center; }
.prima-frame-heading { max-width:100%; font-size:clamp(3rem,4.1vw,4.65rem); line-height:1; padding:24px 28px; background-color:rgba(0,5,55,.32); }
.prima-hero-slide__body { min-width:0; padding:16px 20px; border-radius:8px; background:rgba(0,5,55,.40); }
.prima-hero-slide__text { max-width:100%; font-size:clamp(1.08rem,1.4vw,1.3rem); }
.prima-hero-cta { max-width:100%; line-height:1.3; text-align:left; }
.prima-hero-cta b { flex-shrink:0; }
.prima-hero-slider__controls { gap:8px; }
.prima-hero-slider__dot { width:40px; height:40px; border:0; background:transparent!important; box-shadow:none; display:grid; place-items:center; }
.prima-hero-slider__dot::before { position:static; inset:auto; width:14px; height:14px; border:2px solid #fff; border-radius:50%; background:var(--prima-magenta); }
.prima-hero-slider__dot.is-active::before { background:#fff; }
.prima-hero-slider__toggle { width:40px; height:40px; }
.prima-contact-rail { position:fixed; z-index:60; right:0; top:44%; display:grid; border-radius:12px 0 0 12px; background:var(--prima-navy); box-shadow:var(--prima-shadow-soft); overflow:hidden; }
.prima-contact-rail a { display:grid; justify-items:center; align-content:center; gap:5px; min-width:80px; min-height:76px; padding:9px; color:#fff; text-decoration:none; font-size:.72rem; border-bottom:1px solid #ffffff25; }
.prima-contact-rail a:hover { background:var(--prima-magenta); }
.prima-contact-rail svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; }
.prima-team { margin-block:56px; }
.prima-team-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.prima-person { padding:18px; background:var(--prima-surface); border-radius:18px; border:1px solid var(--prima-line); }
.prima-person__photo,.prima-person__placeholder { display:flex; width:100%; height:auto; aspect-ratio:4/3; border-radius:10px; object-fit:cover; }
.prima-person__placeholder { align-items:center; justify-content:center; flex-direction:column; gap:14px; font-size:3rem; font-weight:800; color:var(--prima-navy); background:linear-gradient(140deg,#e5e7ef,#f7eaef); }
.prima-person__placeholder small { font-size:.8rem; font-weight:500; }
.prima-person h3 { margin:20px 0 6px; font-size:1.12rem; }
.prima-person p { margin:0; color:var(--prima-muted); }
.prima-person--join { display:flex; flex-direction:column; justify-content:center; background:var(--prima-navy); color:#fff; }
.prima-person--join>span { font-size:3rem; }.prima-person--join h3,.prima-person--join p,.prima-person--join a { color:#fff; }.prima-person--join a { margin-top:24px; }
.prima-association { display:flex; gap:28px; align-items:center; margin-block:24px; }.prima-association img { max-width:180px; height:auto; }
.prima-service-grid,.prima-card-grid,.prima-usp-grid { min-width:0; }
.prima-content,.prima-hero-slide__copy,.prima-frame-heading { overflow-wrap:break-word; }
@media(min-width:1181px) { .prima-header__portal span { display:inline; } }
@media(max-width:1180px) { .prima-contact-rail { display:none; } }
@media(max-width:1050px) { .prima-header__inner { grid-template-columns:minmax(180px,1fr) auto auto; }.prima-team-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:820px) {
 :root { --prima-container:calc(100% - 40px); }
 body.admin-bar { --prima-admin-offset:46px; }
 .prima-hero-slide__copy { max-width:600px; grid-template-columns:1fr; gap:24px; }
 .prima-hero-slide__inner { padding-block:140px 110px; }
 .prima-hero-slide__body { max-width:540px; }.prima-frame-heading { font-size:clamp(2.8rem,7vw,3.4rem); }
 .prima-team-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .prima-topbar__search-form { position:fixed; top:54px; right:20px; }
 .prima-topbar.is-scrolled .prima-topbar__search-form { top:calc(48px + var(--prima-admin-offset)); }
}
@media(max-width:600px) {
 :root { --prima-container:calc(100% - 32px); }
 body.admin-bar { --prima-admin-offset:0px; }
 .prima-hero-slider { min-height:830px; }
 .prima-hero-slide__inner { align-items:center; padding-block:132px 100px; }
 .prima-frame-heading { font-size:clamp(2.35rem,9.5vw,3rem); padding:20px 22px; }
 .prima-hero-slide__copy { gap:22px; }
 .prima-hero-slide__body { padding:16px; }
 .prima-header__inner { grid-template-columns:minmax(130px,1fr) auto auto; }
 .prima-topbar__nav { justify-content:flex-end; }
 .prima-topbar__icon { width:40px; }.prima-social { margin-left:10px; padding-left:8px; }
 .prima-team-grid { grid-template-columns:1fr 1fr; gap:12px; }.prima-person { padding:12px; }.prima-person h3 { font-size:1rem; }
 .prima-page-hero { padding-block:54px; }.prima-content { padding-block:40px; }
 .prima-footer__legal { row-gap:12px; }
}
@media(max-width:360px) { .prima-team-grid { grid-template-columns:1fr; }.prima-social { margin-left:5px; padding-left:4px; }.prima-header__portal { width:40px!important; }.prima-hero-slider { min-height:870px; } }
/* Keep the complete 44px topbar hit area above the diagonal accent line. */
:root { --prima-topbar-height:calc(60px + var(--prima-slant)); }
@media(max-width:820px) { :root { --prima-topbar-height:76px; } }
@media(max-width:600px) { :root { --prima-topbar-height:68px; } }
.prima-content .prima-cta h2,.prima-content .prima-cta h3 { color:#fff; }
.prima-content .prima-cta .prima-button { color:var(--prima-navy); }
.prima-content .prima-cta .prima-button:hover { color:#fff; }
