@import url(‘https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Rubik:wght@500;600;700;800&display=swap’);
/* ===================== VARIABLES ===================== */
:root {
–primary: #02503c;
–primary-dark: #024f1b;
–primary-light: #0a7a5a;
–accent: #fcfbf0;
–accent-warm: #f5f0dc;
–gold: #c9a227;
–gold-light: #e8d48b;
–text: #1a2e1a;
–text-light: #4a5f4a;
–white: #ffffff;
–gray-50: #f8faf8;
–gray-100: #eef2ee;
–gray-200: #dde4dd;
–gray-600: #6b7b6b;
–shadow-sm: 0 1px 3px rgba(2,80,60,0.08);
–shadow-md: 0 4px 15px rgba(2,80,60,0.1);
–shadow-lg: 0 10px 40px rgba(2,80,60,0.12);
–shadow-xl: 0 20px 60px rgba(2,80,60,0.15);
–radius: 12px;
–radius-lg: 20px;
–transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* ===================== WRAPPER BASE ===================== */
/* Override ALL WordPress constrained layout ancestors */
.entry-content.is-layout-constrained,
.wp-block-post-content.is-layout-constrained,
main.wp-block-group,
.is-layout-constrained > *,
.is-layout-flow > * {
overflow: visible !important;
max-width: none !important;
}
.morgano-service {
font-family: ‘Inter’, system-ui, -apple-system, sans-serif;
color: var(–text);
line-height: 1.7;
overflow: visible;
background: var(–white);
max-width: none !important;
}
.morgano-service h1, .morgano-service h2, .morgano-service h3, .morgano-service h4, .morgano-service h5 {
font-family: ‘Rubik’, sans-serif;
line-height: 1.2;
}
.morgano-service a {
color: var(–primary);
text-decoration: none;
transition: color var(–transition);
}
.morgano-service a:hover {
color: var(–primary-light);
}
.morgano-service img {
max-width: 100%;
height: auto;
}
/* ===================== ANIMATIONS ===================== */
.morgano-service .animate { opacity: 0; transform: translateY(30px); transition: opacity 0.7s ease, transform 0.7s ease; }
.morgano-service .animate.visible { opacity: 1; transform: translateY(0); }
.morgano-service .animate-delay-1 { transition-delay: 0.1s; }
.morgano-service .animate-delay-2 { transition-delay: 0.2s; }
.morgano-service .animate-delay-3 { transition-delay: 0.3s; }
.morgano-service .animate-delay-4 { transition-delay: 0.4s; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } }
/* ===================== HERO LINK FIX ===================== */
.morgano-service .hero-banner a { color: var(–gold-light); text-decoration: underline; }
.morgano-service .hero-banner a:hover { color: var(–white); }
.morgano-service .hero-banner .breadcrumb a { text-decoration: none; }
/* ===================== CONTAINER ===================== */
.morgano-service .container { max-width: 1100px; margin: 0 auto; padding: 0 24px; }
/* ===================== HERO BANNER ===================== */
.morgano-service .hero-banner {
background: linear-gradient(135deg, var(–primary) 0%, #013d2d 50%, var(–primary-dark) 100%);
padding: 80px 0 70px;
position: relative;
overflow: hidden;
}
.morgano-service .hero-banner::before {
content: ”;
position: absolute;
inset: 0;
background: radial-gradient(circle at 80% 20%, rgba(201,162,39,0.08) 0%, transparent 50%),
radial-gradient(circle at 10% 90%, rgba(10,122,90,0.15) 0%, transparent 50%);
}
.morgano-service .hero-banner::after {
content: ”;
position: absolute;
bottom: -2px;
left: 0;
right: 0;
height: 80px;
background: linear-gradient(to top, var(–white), transparent);
}
.morgano-service .hero-banner .container {
position: relative;
z-index: 1;
}
.morgano-service .hero-banner .breadcrumb {
font-size: 14px;
color: rgba(255,255,255,0.6);
margin-bottom: 20px;
animation: fadeInUp 0.6s ease both;
}
.morgano-service .hero-banner .breadcrumb a {
color: rgba(255,255,255,0.7);
}
.morgano-service .hero-banner .breadcrumb a:hover {
color: var(–gold-light);
}
.morgano-service .hero-banner .breadcrumb span {
color: var(–gold-light);
}
.morgano-service .hero-banner h1 {
font-size: clamp(28px, 4.5vw, 48px);
font-weight: 800;
color: var(–white);
margin-bottom: 20px;
letter-spacing: -1px;
animation: fadeInUp 0.7s ease 0.15s both;
}
.morgano-service .hero-banner h1 em {
font-style: normal;
color: var(–gold);
}
.morgano-service .hero-banner .hero-intro {
font-size: clamp(16px, 1.8vw, 19px);
color: rgba(255,255,255,0.88);
max-width: 900px;
line-height: 1.75;
animation: fadeInUp 0.7s ease 0.3s both;
}
/* ===================== SECTION COMMON ===================== */
.morgano-service .section { padding: 48px 0; }
.morgano-service .section-alt { background: var(–gray-50); }
.morgano-service .section-accent { background: var(–accent); }
.morgano-service .section-dark { background: var(–primary); color: var(–white); }
.morgano-service .section-header {
margin-bottom: 32px;
}
.morgano-service .section-header h2 {
font-size: clamp(26px, 3.5vw, 38px);
font-weight: 700;
color: var(–primary);
margin-bottom: 12px;
letter-spacing: -0.5px;
}
.morgano-service .section-header .underline {
width: 60px;
height: 4px;
background: var(–gold);
border-radius: 2px;
margin-bottom: 16px;
}
.morgano-service .section-header p {
font-size: 17px;
color: var(–text-light);
max-width: 900px;
line-height: 1.75;
}
/* ===================== CONTENT IMAGES ===================== */
.morgano-service .content-image-wrapper {
margin: 36px 0;
text-align: center;
}
.morgano-service .content-image-wrapper img {
width: 100%;
max-height: 400px;
object-fit: cover;
border-radius: var(–radius);
display: block;
}
.morgano-service .content-image-wrapper .image-caption {
font-size: 14px;
color: var(–text-light);
font-style: italic;
margin-top: 10px;
line-height: 1.6;
}
.morgano-service .content-image-wrapper .image-attribution {
font-size: 11px;
color: var(–gray-600);
margin-top: 4px;
}
/* ===================== COVERAGE TABLE ===================== */
.morgano-service .coverage-table-wrap {
overflow-x: auto;
border-radius: var(–radius);
box-shadow: var(–shadow-md);
margin-top: 32px;
}
.morgano-service .coverage-table {
width: 100%;
border-collapse: collapse;
font-size: 15px;
min-width: 650px;
}
.morgano-service .coverage-table thead th {
background: var(–primary);
color: var(–white);
padding: 16px 20px;
text-align: left;
font-family: ‘Rubik’, sans-serif;
font-weight: 600;
font-size: 14px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.morgano-service .coverage-table thead th:first-child {
border-radius: var(–radius) 0 0 0;
}
.morgano-service .coverage-table thead th:last-child {
border-radius: 0 var(–radius) 0 0;
}
.morgano-service .coverage-table tbody tr {
transition: background var(–transition);
}
.morgano-service .coverage-table tbody tr:nth-child(even) {
background: var(–gray-50);
}
.morgano-service .coverage-table tbody tr:hover {
background: var(–accent);
}
.morgano-service .coverage-table tbody td {
padding: 14px 20px;
border-bottom: 1px solid var(–gray-100);
vertical-align: top;
}
.morgano-service .coverage-table tbody td:first-child {
font-weight: 600;
color: var(–primary);
white-space: nowrap;
}
.morgano-service .coverage-table .badge-yes {
display: inline-block;
background: var(–primary);
color: var(–white);
font-size: 12px;
font-weight: 600;
padding: 3px 10px;
border-radius: 50px;
}
.morgano-service .coverage-table .badge-no {
display: inline-block;
background: var(–gray-200);
color: var(–text-light);
font-size: 12px;
font-weight: 600;
padding: 3px 10px;
border-radius: 50px;
}
.morgano-service .coverage-note {
font-size: 15px;
color: var(–text-light);
margin-top: 20px;
line-height: 1.7;
padding: 16px 20px;
background: var(–accent);
border-left: 4px solid var(–gold);
border-radius: 0 var(–radius) var(–radius) 0;
}
/* ===================== COST SECTION ===================== */
.morgano-service .cost-factors {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
margin-top: 28px;
}
.morgano-service .cost-factor {
display: flex;
gap: 12px;
align-items: flex-start;
padding: 16px 20px;
background: var(–white);
border-radius: var(–radius);
box-shadow: var(–shadow-sm);
border: 1px solid var(–gray-100);
transition: all var(–transition);
}
.morgano-service .cost-factor:hover {
box-shadow: var(–shadow-md);
transform: translateY(-2px);
}
.morgano-service .cost-factor-icon {
flex-shrink: 0;
width: 36px;
height: 36px;
background: var(–accent);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
font-size: 18px;
}
.morgano-service .cost-factor-text strong {
display: block;
font-size: 14px;
color: var(–primary);
margin-bottom: 2px;
}
.morgano-service .cost-factor-text span {
font-size: 13px;
color: var(–text-light);
line-height: 1.5;
}
.morgano-service .cost-intro {
font-size: 17px;
color: var(–text-light);
line-height: 1.8;
margin-bottom: 8px;
}
.morgano-service .cost-intro strong {
color: var(–primary);
}
.morgano-service .cost-note {
font-size: 15px;
color: var(–text-light);
margin-top: 28px;
line-height: 1.7;
}
/* ===================== BENEFITS CARDS ===================== */
.morgano-service .benefits-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 24px;
margin-top: 32px;
}
.morgano-service .benefit-card {
background: var(–white);
border-radius: var(–radius);
padding: 32px 28px;
box-shadow: var(–shadow-sm);
border: 1px solid var(–gray-100);
transition: all var(–transition);
position: relative;
overflow: hidden;
}
.morgano-service .benefit-card::before {
content: ”;
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(–primary), var(–gold));
transform: scaleX(0);
transform-origin: left;
transition: transform var(–transition);
}
.morgano-service .benefit-card:hover {
box-shadow: var(–shadow-lg);
transform: translateY(-4px);
}
.morgano-service .benefit-card:hover::before {
transform: scaleX(1);
}
.morgano-service .benefit-icon {
width: 48px;
height: 48px;
background: var(–accent);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 24px;
margin-bottom: 16px;
}
.morgano-service .benefit-card h3 {
font-size: 18px;
font-weight: 700;
color: var(–primary);
margin-bottom: 10px;
}
.morgano-service .benefit-card p {
font-size: 15px;
color: var(–text-light);
line-height: 1.7;
}
/* ===================== NLP CONTENT SECTIONS ===================== */
.morgano-service .content-section {
max-width: 1100px;
margin: 0 auto;
padding: 48px 24px;
}
.morgano-service .content-section h2 {
font-size: 28px;
font-weight: 700;
color: var(–primary);
margin-bottom: 20px;
}
.morgano-service .content-section p {
font-size: 16px;
color: var(–text);
line-height: 1.8;
margin-bottom: 16px;
}
.morgano-service .content-section p:last-child {
margin-bottom: 0;
}
.morgano-service .eeat-trust {
background: var(–gray-50);
border-left: 4px solid var(–primary);
border-radius: var(–radius);
padding: 36px 32px;
max-width: 1100px;
margin: 32px auto;
}
.morgano-service .eeat-trust h2 {
font-size: 24px;
color: var(–primary);
margin-bottom: 16px;
}
.morgano-service .author-byline {
display: flex;
align-items: center;
gap: 8px;
font-size: 14px;
color: var(–text-light);
margin-top: 12px;
padding-top: 12px;
border-top: 1px solid var(–gray-200);
}
.morgano-service .author-byline strong {
color: var(–text);
}
/* ===================== LOCAL IMAGE ===================== */
.morgano-service .local-image-section {
padding: 0;
margin: 0;
}
.morgano-service .local-image-section img {
width: 100%;
height: 320px;
object-fit: cover;
display: block;
}
/* ===================== MAP WRAPPER ===================== */
.morgano-service .map-wrapper {
border-radius: var(–radius);
overflow: hidden;
box-shadow: var(–shadow-md);
}
/* ===================== FAQ ACCORDION ===================== */
.morgano-service .faq-list {
margin-top: 32px;
display: flex;
flex-direction: column;
gap: 12px;
}
.morgano-service .faq-item {
border: 1px solid var(–gray-200);
border-radius: var(–radius);
overflow: hidden;
transition: box-shadow var(–transition);
}
.morgano-service .faq-item:hover {
box-shadow: var(–shadow-sm);
}
.morgano-service .faq-item.open {
border-color: var(–primary);
box-shadow: var(–shadow-md);
}
.morgano-service .faq-question {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
padding: 20px 24px;
background: var(–white);
border: none;
cursor: pointer;
text-align: left;
font-family: ‘Rubik’, sans-serif;
font-size: 16px;
font-weight: 600;
color: var(–text);
transition: all var(–transition);
}
.morgano-service .faq-question:hover {
color: var(–primary);
}
.morgano-service .faq-item.open .faq-question {
color: var(–primary);
background: var(–accent);
}
.morgano-service .faq-chevron {
flex-shrink: 0;
width: 28px;
height: 28px;
border-radius: 50%;
background: var(–gray-50);
display: flex;
align-items: center;
justify-content: center;
transition: all var(–transition);
font-size: 14px;
color: var(–text-light);
}
.morgano-service .faq-item.open .faq-chevron {
background: var(–primary);
color: var(–white);
transform: rotate(180deg);
}
.morgano-service .faq-answer {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease, padding 0.4s ease;
}
.morgano-service .faq-answer-inner {
padding: 0 24px 24px;
font-size: 15px;
color: var(–text-light);
line-height: 1.8;
}
/* ===================== CTA SECTION ===================== */
.morgano-service .cta-section {
background: linear-gradient(135deg, var(–primary) 0%, #013d2d 50%, var(–primary-dark) 100%);
padding: 80px 0;
text-align: center;
position: relative;
overflow: hidden;
margin-bottom: 16px;}
.morgano-service .cta-section::before {
content: ”;
position: absolute;
inset: 0;
background: radial-gradient(circle at 50% 0%, rgba(201,162,39,0.08) 0%, transparent 60%);
}
.morgano-service .cta-section .container {
position: relative;
z-index: 1;
}
.morgano-service .cta-section h2 {
font-size: clamp(28px, 4vw, 42px);
font-weight: 800;
color: var(–white);
margin-bottom: 16px;
letter-spacing: -0.5px;
}
.morgano-service .cta-section h2 em {
font-style: normal;
color: var(–gold);
}
.morgano-service .cta-subtitle {
font-size: 18px;
color: rgba(255,255,255,0.85);
margin-bottom: 36px;
max-width: 600px;
margin-left: auto;
margin-right: auto;
}
.morgano-service .cta-actions {
display: flex;
gap: 16px;
justify-content: center;
flex-wrap: wrap;
margin-bottom: 40px;
}
.morgano-service .btn-primary {
background: var(–gold);
color: var(–primary-dark);
padding: 16px 36px;
border-radius: 50px;
font-weight: 700;
font-size: 16px;
transition: all var(–transition);
border: none;
cursor: pointer;
text-transform: uppercase;
letter-spacing: 0.5px;
box-shadow: 0 4px 20px rgba(201,162,39,0.3);
display: inline-flex;
align-items: center;
gap: 8px;
}
.morgano-service .btn-primary:hover {
background: var(–white);
color: var(–primary);
transform: translateY(-3px);
box-shadow: 0 6px 30px rgba(201,162,39,0.4);
}
.morgano-service .btn-outline {
background: transparent;
color: var(–white);
padding: 16px 36px;
border-radius: 50px;
font-weight: 600;
font-size: 16px;
border: 2px solid rgba(255,255,255,0.3);
transition: all var(–transition);
cursor: pointer;
display: inline-flex;
align-items: center;
gap: 8px;
}
.morgano-service .btn-outline:hover {
border-color: var(–white);
background: rgba(255,255,255,0.1);
color: var(–white);
transform: translateY(-3px);
}
.morgano-service .cta-info {
display: flex;
justify-content: center;
gap: 48px;
flex-wrap: wrap;
}
.morgano-service .cta-info-item {
text-align: center;
}
.morgano-service .cta-info-label {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 1px;
color: rgba(255,255,255,0.5);
margin-bottom: 6px;
}
.morgano-service .cta-info-value {
font-family: ‘Rubik’, sans-serif;
font-size: 16px;
font-weight: 600;
color: var(–white);
}
.morgano-service .cta-info-value a {
color: var(–gold);
}
.morgano-service .cta-info-value a:hover {
color: var(–gold-light);
}
/* ===================== RESPONSIVE ===================== */
}
@media (max-width: 600px) {
.morgano-service .hero-banner {
padding: 60px 0 50px;
}
.morgano-service .section {
padding: 60px 0;
}
.morgano-service .benefits-grid {
grid-template-columns: 1fr;
}
.morgano-service .cta-info {
gap: 24px;
flex-direction: column;
align-items: center;
}
.morgano-service .coverage-table {
font-size: 13px;
}
}
.morgano-service .hero-subtitle { font-size: clamp(16px, 1.8vw, 19px); color: rgba(255,255,255,0.88); max-width: 900px; line-height: 1.75; animation: fadeInUp 0.7s ease 0.3s both; }
.morgano-service .content-text { font-size: 16px; color: var(–text-light); line-height: 1.8; }
.morgano-service .content-text p { margin-bottom: 16px; }
.morgano-service .content-text h3 { font-size: 20px; font-weight: 700; color: var(–primary); margin-bottom: 12px; margin-top: 28px; }
.morgano-service .content-text ul { margin: 12px 0 16px 20px; }
.morgano-service .content-text ul li { margin-bottom: 8px; }
/* ===================== MOBILE: TABLET ===================== */
@media (max-width: 768px) {
.morgano-service .hero-banner {
padding: 50px 0 40px;
}
.morgano-service .hero-banner h1 {
font-size: clamp(24px, 6vw, 36px);
letter-spacing: -0.5px;
}
.morgano-service .section {
padding: 36px 0;
}
.morgano-service .section-header {
margin-bottom: 24px;
}
.morgano-service .section-header h2 {
font-size: clamp(22px, 5vw, 30px);
}
.morgano-service .cta-actions {
flex-direction: column;
align-items: center;
gap: 12px;
}
.morgano-service .cta-actions .btn-primary,
.morgano-service .cta-actions .btn-outline {
width: 100%;
max-width: 320px;
text-align: center;
box-sizing: border-box;
}
.morgano-service .cta-info {
flex-direction: column;
gap: 16px;
align-items: center;
}
.morgano-service .benefits-grid {
grid-template-columns: 1fr;
}
.morgano-service .cost-factors {
grid-template-columns: 1fr;
}
.morgano-service .coverage-table-wrap {
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.morgano-service .map-wrapper iframe {
height: 280px;
}
.morgano-service .local-image-section img {
height: 200px;
}
}
/* ===================== MOBILE: PHONE ===================== */
@media (max-width: 480px) {
.morgano-service .container {
padding: 0 16px;
}
.morgano-service .hero-banner {
padding: 40px 0 30px;
}
.morgano-service .hero-banner {
overflow-x: clip;
overflow-y: visible;
}
.morgano-service .hero-banner h1 {
font-size: 22px;
word-wrap: break-word;
overflow-wrap: break-word;
}
.morgano-service .hero-banner .hero-intro,
.morgano-service .hero-subtitle {
font-size: 15px;
}
.morgano-service .hero-banner .breadcrumb {
font-size: 12px;
}
.morgano-service .section {
padding: 28px 0;
}
.morgano-service .section-header h2 {
font-size: 22px;
}
.morgano-service .section-header p {
font-size: 15px;
}
.morgano-service .content-text {
font-size: 15px;
}
.morgano-service .content-text h3 {
font-size: 18px;
}
.morgano-service .coverage-table-wrap {
overflow-x: scroll;
-webkit-overflow-scrolling: touch;
max-width: 100%;
display: block;
}
.morgano-service .coverage-table {
font-size: 12px;
min-width: 580px;
}
.morgano-service .coverage-table tbody td:first-child {
white-space: normal;
}
.morgano-service .coverage-table thead th {
padding: 10px 12px;
font-size: 11px;
}
.morgano-service .coverage-table tbody td {
padding: 10px 12px;
}
.morgano-service .faq-question {
font-size: 15px;
padding: 14px 16px;
}
.morgano-service .faq-answer {
padding: 0 16px 14px;
font-size: 14px;
}
.morgano-service .eeat-trust {
padding: 24px 20px;
}
.morgano-service .eeat-trust h2 {
font-size: 22px;
}
.morgano-service .benefit-card {
padding: 20px 16px;
}
.morgano-service .cta-section {
padding: 50px 0;
}
.morgano-service .cta-section h2 {
font-size: clamp(22px, 5vw, 32px);
}
.morgano-service .cta-subtitle {
font-size: 15px;
}
.morgano-service .map-wrapper iframe {
height: 240px;
border-radius: 8px;
}
.morgano-service .local-image-section img {
height: 180px;
}
/* Map fix for mobile */
.morgano-service .map-wrapper {
overflow: hidden;
border-radius: 8px;
}
.morgano-service .map-wrapper iframe {
width: 100% !important;
min-height: 250px;
}
/* Footer fix for mobile */
.site-footer .footer-widget-area,
.site-footer .site-footer-section,
.site-bottom-footer-wrap .site-footer-section {
flex-wrap: wrap !important;
}
.site-footer .footer-widget-area .widget,
.site-footer .site-footer-section > div {
min-width: 100% !important;
flex: 1 1 100% !important;
text-align: center;
margin-bottom: 24px;
}
}
.site-middle-footer-wrap { display: none !important; }
/* ===================== NEIGHBORHOOD TICKER ===================== */
.morgano-service .hood-ticker {
background: var(–primary);
padding: 14px 0;
overflow: hidden;
position: relative;
width: 100vw;
margin-left: calc(-50vw + 50%);
}
.morgano-service .hood-ticker::before,
.morgano-service .hood-ticker::after {
content: ”;
position: absolute;
top: 0;
width: 80px;
height: 100%;
z-index: 2;
}
.morgano-service .hood-ticker::before {
left: 0;
background: linear-gradient(90deg, var(–primary), transparent);
}
.morgano-service .hood-ticker::after {
right: 0;
background: linear-gradient(270deg, var(–primary), transparent);
}
.morgano-service .hood-ticker-label {
text-align: center;
font-size: 11px;
text-transform: uppercase;
letter-spacing: 2px;
color: var(–gold);
font-weight: 600;
margin-bottom: 8px;
font-family: ‘Rubik’, sans-serif;
}
.morgano-service .hood-ticker-track {
display: flex;
gap: 12px;
animation: hoodScroll 35s linear infinite;
width: max-content;
}
.morgano-service .hood-ticker-track a {
display: inline-flex;
align-items: center;
gap: 8px;
white-space: nowrap;
color: rgba(255,255,255,0.85);
font-size: 14px;
font-weight: 500;
text-decoration: none;
transition: color 0.2s ease;
font-family: ‘Inter’, sans-serif;
}
.morgano-service .hood-ticker-track a:hover {
color: var(–gold);
}
.morgano-service .hood-ticker-track a::before {
content: ”;
width: 6px;
height: 6px;
border-radius: 50%;
background: var(–gold);
flex-shrink: 0;
}
@keyframes hoodScroll {
0% { transform: translateX(0); }
100% { transform: translateX(-50%); }
}
