/* Locked homepage/contact refinements. Loaded after the public 2027 visual system. */

/* Five footer groups stay on one compact desktop row, then progressively reflow. */
body:not(.admin-body) .mega-footer{padding:44px 0 20px}
body:not(.admin-body) .footer-grid{grid-template-columns:minmax(260px,1.8fr) repeat(4,minmax(120px,1fr));gap:24px 34px;align-items:start}
body:not(.admin-body) .footer-brand p{max-width:370px;margin-top:12px;font-size:13px;line-height:1.55}
body:not(.admin-body) .footer-col h4{margin:3px 0 9px;font-size:11px}
body:not(.admin-body) .footer-col a{padding:4px 0;font-size:13px;line-height:1.35}
body:not(.admin-body) .footer-bottom{margin-top:28px;padding-top:16px;font-size:12px}

/* Interactive homepage values. */
body:not(.admin-body) .core-values-grid,
body:not(.admin-body) .partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--public-line);border-bottom:1px solid var(--public-line)}
body:not(.admin-body) .core-value-card,
body:not(.admin-body) .partner-card{position:relative;display:flex;min-width:0;min-height:310px;padding:32px;flex-direction:column;border-right:1px solid var(--public-line);text-decoration:none;color:inherit;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}
body:not(.admin-body) .core-value-card:last-child,
body:not(.admin-body) .partner-card:last-child{border-right:0}
body:not(.admin-body) .core-value-card:hover,
body:not(.admin-body) .core-value-card:focus-visible{z-index:1;background:#eef7f4;transform:translateY(-3px);box-shadow:0 14px 32px rgba(6,45,57,.09);outline:0}
body:not(.admin-body) .partner-card:hover,
body:not(.admin-body) .partner-card:focus-visible{z-index:1;background:#073741;color:#fff;transform:translateY(-3px);box-shadow:0 14px 32px rgba(6,45,57,.12);outline:0}
body:not(.admin-body) .core-value-card .feature-icon{font-family:var(--public-display);font-size:34px;color:var(--public-teal)}
body:not(.admin-body) .core-value-card h3,
body:not(.admin-body) .partner-card h3{margin:62px 0 10px;font-family:var(--public-display);font-size:30px;font-weight:500;line-height:1.02;letter-spacing:-.035em}
body:not(.admin-body) .core-value-card p,
body:not(.admin-body) .partner-card p{margin:0;font-size:15px;line-height:1.7;color:var(--public-muted)}
body:not(.admin-body) .partner-card:hover p,
body:not(.admin-body) .partner-card:focus-visible p{color:rgba(255,255,255,.75)}
body:not(.admin-body) .card-action{margin-top:auto;padding-top:30px;font-size:13px;font-weight:750;color:#067f78}
body:not(.admin-body) .partner-card:hover .card-action,
body:not(.admin-body) .partner-card:focus-visible .card-action{color:#6ce1d5}
body:not(.admin-body) .partner-card .post-meta{color:#537077}
body:not(.admin-body) .partner-card:hover .post-meta,
body:not(.admin-body) .partner-card:focus-visible .post-meta{color:#84e5dc}

/* Secure contact form. */
body:not(.admin-body) .contact-page-main{padding-top:28px}
body:not(.admin-body) .contact-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(520px,1.2fr);gap:64px;align-items:start}
body:not(.admin-body) .contact-intro h1{margin:14px 0 20px;font-family:var(--public-display);font-size:clamp(46px,5vw,70px);font-weight:500;line-height:.96;letter-spacing:-.045em}
body:not(.admin-body) .contact-intro p{max-width:520px;font-size:16px;line-height:1.72;color:var(--public-muted)}
body:not(.admin-body) .contact-direct{margin-top:28px}
body:not(.admin-body) .contact-form{padding:32px;border:1px solid var(--public-line);border-radius:18px;background:#fff;box-shadow:0 20px 60px rgba(6,45,57,.08)}
body:not(.admin-body) .contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}
body:not(.admin-body) .contact-fields label{display:grid;gap:7px;font-size:13px;font-weight:700;color:var(--public-ink)}
body:not(.admin-body) .contact-fields label>span{font-weight:400;color:var(--public-muted)}
body:not(.admin-body) .contact-fields .full{grid-column:1/-1}
body:not(.admin-body) .contact-fields input,
body:not(.admin-body) .contact-fields select,
body:not(.admin-body) .contact-fields textarea{width:100%;min-width:0;padding:12px 13px;border:1px solid #c8d8d6;border-radius:9px;background:#fff;color:var(--public-ink);font-size:15px}
body:not(.admin-body) .contact-fields textarea{resize:vertical;line-height:1.55}
body:not(.admin-body) .contact-fields input:focus,
body:not(.admin-body) .contact-fields select:focus,
body:not(.admin-body) .contact-fields textarea:focus{border-color:var(--public-teal);outline:3px solid rgba(0,169,157,.13)}
body:not(.admin-body) .contact-consent{grid-template-columns:20px 1fr!important;align-items:start;font-weight:400!important;line-height:1.55}
body:not(.admin-body) .contact-consent input{width:18px;height:18px;margin:2px 0 0;padding:0}
body:not(.admin-body) .contact-form>.btn{margin-top:24px;min-height:48px}

@media(max-width:1120px){
 body:not(.admin-body) .footer-grid{grid-template-columns:1.5fr repeat(2,1fr);gap:34px}
 body:not(.admin-body) .footer-col:last-child{grid-column:auto}
 body:not(.admin-body) .contact-layout{grid-template-columns:1fr 1.15fr;gap:36px}
}
@media(max-width:860px){
 body:not(.admin-body) .footer-grid{grid-template-columns:1fr 1fr;gap:32px 24px}
 body:not(.admin-body) .core-values-grid,
 body:not(.admin-body) .partner-grid{grid-template-columns:1fr}
 body:not(.admin-body) .core-value-card,
 body:not(.admin-body) .partner-card{min-height:220px;border-right:0;border-bottom:1px solid var(--public-line)}
 body:not(.admin-body) .core-value-card:last-child,
 body:not(.admin-body) .partner-card:last-child{border-bottom:0}
 body:not(.admin-body) .core-value-card h3,
 body:not(.admin-body) .partner-card h3{margin-top:34px}
 body:not(.admin-body) .contact-layout{grid-template-columns:1fr;gap:34px}
}
@media(max-width:560px){
 body:not(.admin-body) .mega-footer{padding-top:36px}
 body:not(.admin-body) .footer-grid{grid-template-columns:1fr;gap:26px}
 body:not(.admin-body) .footer-bottom{flex-direction:column;gap:5px}
 body:not(.admin-body) .core-value-card,
 body:not(.admin-body) .partner-card{padding:28px 22px}
 body:not(.admin-body) .contact-form{padding:22px 18px;border-radius:12px}
 body:not(.admin-body) .contact-fields{grid-template-columns:1fr}
 body:not(.admin-body) .contact-fields .full{grid-column:auto}
}
