/* Content pages and archives — Commit #8.3 */
.sp-page-hero{background:linear-gradient(135deg,#073f79,#0a67b8);color:#fff;padding:54px 0 48px;position:relative;overflow:hidden}.sp-page-hero:after{content:"";position:absolute;width:330px;height:330px;border:70px solid rgba(255,255,255,.05);border-radius:50%;right:-90px;top:-160px}.sp-page-hero .container{position:relative;z-index:1}.sp-page-hero__eyebrow{display:block;margin-bottom:8px;font:700 11px/1.2 Poppins,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#b8dcff}.sp-page-hero h1{margin:0;font:700 clamp(30px,4vw,48px)/1.15 Poppins,sans-serif}.sp-page-hero p{max-width:720px;margin:12px 0 0;color:#e7f3ff;font-size:16px;line-height:1.75}.sp-content-page{padding:54px 0 72px}.sp-content-page .entry-content{width:min(920px,92%);margin:0 auto}.sp-content-page .entry-content>.wp-block-heading,.sp-content-page .entry-content>h2{color:#123f72;margin:38px 0 15px;font-family:Poppins,sans-serif}.sp-content-page .entry-content h3{color:#17558f}.sp-content-page .entry-content p,.sp-content-page .entry-content li{font-size:16px;line-height:1.8}.sp-content-page .sp-lead{font-size:19px;line-height:1.75;color:#425b73}.sp-content-page .wp-block-columns{gap:20px;margin:26px 0}.sp-content-page .wp-block-column{padding:24px;background:#fff;border:1px solid #e3ebf3;border-radius:10px;box-shadow:0 8px 26px rgba(13,65,112,.06)}
.sp-archive{padding:48px 0 76px;background:#f5f8fb}.sp-archive__intro{margin-bottom:28px}.sp-archive__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.sp-archive-card{background:#fff;border:1px solid #e0e9f2;border-radius:9px;overflow:hidden;box-shadow:0 8px 22px rgba(14,63,108,.06);transition:transform .2s,box-shadow .2s}.sp-archive-card:hover{transform:translateY(-4px);box-shadow:0 15px 32px rgba(14,63,108,.11)}.sp-archive-card__image{aspect-ratio:16/9;background:#dceaf6;overflow:hidden}.sp-archive-card__image img{width:100%;height:100%;object-fit:cover}.sp-archive-card__body{padding:20px}.sp-archive-card__meta{font-size:12px;color:#668097;margin-bottom:7px}.sp-archive-card h2,.sp-archive-card h3{margin:0 0 9px;font:700 18px/1.35 Poppins,sans-serif;color:#103f70}.sp-archive-card p{font-size:14px;line-height:1.65;color:#5d6e7d}.sp-archive-card__link{display:inline-block;margin-top:14px;color:#0870cb;font-size:12px;font-weight:700;text-transform:uppercase}.sp-archive-empty{padding:35px;background:#fff;border:1px dashed #bdd0e2;border-radius:10px;color:#5d7183}.sp-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.sp-gallery-card{position:relative;overflow:hidden;border-radius:8px;background:#dce9f5;aspect-ratio:4/3}.sp-gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .25s}.sp-gallery-card:hover img{transform:scale(1.04)}.sp-gallery-card span{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;color:#fff;background:linear-gradient(transparent,rgba(3,34,65,.82));font-weight:700;font-size:13px}.sp-contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:28px;margin-top:30px}.sp-contact-card{background:#f6f9fc;border:1px solid #e0e9f2;border-radius:10px;padding:25px}.sp-contact-list{list-style:none;margin:0;padding:0}.sp-contact-list li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid #e2eaf2}.sp-contact-list li:last-child{border-bottom:0}.sp-contact-map{border-radius:10px;overflow:hidden;min-height:340px}.sp-contact-map iframe{display:block;width:100%;height:100%;min-height:340px;border:0}.nav-links{display:flex;justify-content:center;gap:8px;margin-top:34px}.nav-links .page-numbers{padding:8px 12px;border-radius:5px;background:#fff;border:1px solid #dce7f0;color:#15568f}.nav-links .current{background:#0757a4;color:#fff;border-color:#0757a4}
@media(max-width:900px){.sp-archive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sp-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sp-contact-grid{grid-template-columns:1fr}}
@media(max-width:600px){.sp-page-hero{padding:40px 0 36px}.sp-content-page{padding:38px 0 54px}.sp-archive__grid{grid-template-columns:1fr}.sp-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Commit 08.3.5: preserve native page composition when Elementor wraps content. */
.sp-content-page .elementor,
.sp-content-page .elementor-section-wrap,
.sp-content-page .e-con,
.sp-content-page .elementor-widget-wrap,
.sp-content-page .elementor-widget-container {
    max-width: 100%;
}
.sp-content-page .elementor-widget-text-editor > .elementor-widget-container > .wp-block-columns,
.sp-content-page .elementor-widget-theme-post-content .wp-block-columns {
    gap: 20px;
    margin: 26px 0;
}
.sp-content-page .elementor-widget-text-editor > .elementor-widget-container > .wp-block-columns > .wp-block-column,
.sp-content-page .elementor-widget-theme-post-content .wp-block-columns > .wp-block-column {
    padding: 24px;
    background: #fff;
    border: 1px solid #e3ebf3;
    border-radius: 10px;
    box-shadow: 0 8px 26px rgba(13,65,112,.06);
}
