/* Long's 2026 — ported from the Figma Make mockup (Tailwind) */
:root {
	--navy-950: #07142a;
	--navy: #0d2144;
	--orange: #e8751a;
	--orange-400: #f08830;
	--orange-50: #fff7f0;
	--slate-50: #f8f9fb;
	--slate-100: #f1f5f9;
	--slate-200: #e2e8f0;
	--slate-300: #cbd5e1;
	--slate-400: #94a3b8;
	--slate-500: #64748b;
	--slate-600: #475569;
	--slate-700: #334155;
	--sans: 'DM Sans', system-ui, sans-serif;
	--serif: 'Fraunces', Georgia, serif;
	--i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");
	--i-check-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z'/%3E%3C/svg%3E");
	--i-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z'/%3E%3C/svg%3E");
	--i-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M2 3a1 1 0 011-1h2.153a1 1 0 01.986.836l.74 4.435a1 1 0 01-.54 1.06l-1.548.773a11.037 11.037 0 006.105 6.105l.774-1.548a1 1 0 011.059-.54l4.435.74a1 1 0 01.836.986V17a1 1 0 01-1 1h-2C7.82 18 2 12.18 2 5V3z'/%3E%3C/svg%3E");
	--i-arrow-up: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17L17 7M17 7H7M17 7v10'/%3E%3C/svg%3E");
	--i-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 8l4 4m0 0l-4 4m4-4H3'/%3E%3C/svg%3E");
	--i-bolt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill-rule='evenodd' d='M11.3 1.046A1 1 0 0112 2v5h4a1 1 0 01.82 1.573l-7 10A1 1 0 018 18v-5H4a1 1 0 01-.82-1.573l7-10a1 1 0 011.12-.38z'/%3E%3C/svg%3E");
	--i-star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 20'%3E%3Cg id='s'%3E%3Cpath d='M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z'/%3E%3C/g%3E%3Cuse href='%23s' x='20'/%3E%3Cuse href='%23s' x='40'/%3E%3Cuse href='%23s' x='60'/%3E%3Cuse href='%23s' x='80'/%3E%3C/svg%3E");
	--i-fire: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M24 8C24 8 14 16 14 26a10 10 0 0020 0c0-10-10-18-10-18z'/%3E%3Cpath d='M24 26v8M20 30l4-4 4 4'/%3E%3C/svg%3E");
	--i-ac: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Crect x='8' y='14' width='32' height='20' rx='4'/%3E%3Cpath d='M20 34v4M28 34v4M16 38h16M16 22h16M16 27h10'/%3E%3C/svg%3E");
	--i-panel: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round'%3E%3Crect x='14' y='6' width='20' height='36' rx='3'/%3E%3Cpath d='M20 14h8M20 20h8M20 26h5'/%3E%3Ccircle cx='32' cy='14' r='2' fill='black'/%3E%3Ccircle cx='32' cy='20' r='2' fill='black'/%3E%3C/svg%3E");
	--i-building: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 36V20l12-12 12 12v16'/%3E%3Crect x='18' y='26' width='12' height='10' rx='1'/%3E%3Cpath d='M24 26v10'/%3E%3C/svg%3E");
	--i-fb: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z'/%3E%3C/svg%3E");
}

html { scroll-behavior: smooth; }
body { font-family: var(--sans); color: #1a1a2e; background: #fff; margin: 0; }
.longs-main, .longs-main > .wp-block-post-content { margin: 0; }
.longs-main p, .longs-main h1, .longs-main h2, .longs-main h3, .longs-main h4, .longs-footer p { margin: 0; }
.longs-main figure, .longs-header figure, .longs-footer figure { margin: 0; }
.longs-main ul, .longs-footer ul { margin: 0; padding: 0; list-style: none; }
mark.has-inline-color { background: transparent; }
[id] { scroll-margin-top: 90px; }

/* Container */
.longs-wrap { max-width: 1280px; margin-left: auto !important; margin-right: auto !important; padding-left: 16px; padding-right: 16px; box-sizing: border-box; width: 100%; }
@media (min-width: 640px) { .longs-wrap { padding-left: 24px; padding-right: 24px; } }
@media (min-width: 1024px) { .longs-wrap { padding-left: 32px; padding-right: 32px; } }
.longs-center { text-align: center; }

/* Sections */
.longs-section { padding: 96px 0; position: relative; }
.longs-section.is-slate { background: var(--slate-50); }
.longs-section.is-navy { background: var(--navy); }
.longs-section-head { text-align: center; margin-bottom: 64px; }
.longs-kicker { color: var(--orange); font-weight: 600; font-size: .875rem; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 12px !important; }
.longs-kicker.is-light { color: var(--orange-400); }
.longs-h2 { font-family: var(--serif); font-weight: 900; color: var(--navy); font-size: 2.25rem; line-height: 1.2; margin-bottom: 20px !important; }
@media (min-width: 1024px) { .longs-h2 { font-size: 3rem; line-height: 1.15; } }
.longs-h2.is-light { color: #fff; }
.longs-lead { color: var(--slate-500); font-size: 1.125rem; line-height: 1.65; margin-bottom: 32px !important; }
.longs-section-head .longs-lead { max-width: 36rem; margin: 16px auto 0 !important; }
.longs-lead.is-light { color: var(--slate-300); }
.longs-split { display: grid; gap: 64px; align-items: center; }
.longs-split.is-top { align-items: start; }
@media (min-width: 1024px) { .longs-split { grid-template-columns: 1fr 1fr; } }

/* Buttons */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 16px; }
.wp-block-button .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; font-weight: 700; padding: 14px 28px; font-size: 1rem; text-decoration: none; transition: all .2s; line-height: 1.3; }
.wp-block-button.is-large .wp-block-button__link { padding: 16px 32px; }
.wp-block-button.is-small .wp-block-button__link { padding: 12px 24px; font-size: .875rem; border-radius: 8px; }
.longs-btn-primary .wp-block-button__link { background: var(--orange); color: #fff; box-shadow: 0 10px 15px -3px rgba(124,45,18,.3); }
.longs-btn-primary .wp-block-button__link:hover { filter: brightness(1.1); }
.longs-btn-ghost .wp-block-button__link { background: transparent; color: #fff; border: 1px solid rgba(255,255,255,.25); font-weight: 600; }
.longs-btn-ghost .wp-block-button__link:hover { background: rgba(255,255,255,.1); border-color: rgba(255,255,255,.5); }
.longs-btn-white .wp-block-button__link { background: #fff; color: #ea580c; font-size: 1.125rem; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.longs-btn-white .wp-block-button__link:hover { background: var(--orange-50); }
.longs-btn-outline-white .wp-block-button__link { background: transparent; color: #fff; border: 2px solid rgba(255,255,255,.6); font-weight: 600; font-size: 1.125rem; }
.longs-btn-outline-white .wp-block-button__link:hover { background: rgba(255,255,255,.1); }
.longs-arrow-up .wp-block-button__link::after, .longs-arrow-right .wp-block-button__link::after,
.longs-phone .wp-block-button__link::before { content: ""; width: 16px; height: 16px; background: currentColor; -webkit-mask: var(--i-arrow-up) center/contain no-repeat; mask: var(--i-arrow-up) center/contain no-repeat; flex-shrink: 0; }
.longs-arrow-right .wp-block-button__link::after { -webkit-mask-image: var(--i-arrow-right); mask-image: var(--i-arrow-right); }
.longs-phone .wp-block-button__link::before { -webkit-mask-image: var(--i-phone); mask-image: var(--i-phone); }

/* Header */
.longs-header-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .longs-header-wrap { top: 32px; }
.longs-header { height: auto !important; min-height: 0 !important; background: #fff; border-bottom: 1px solid var(--slate-200); box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.longs-header-row { display: flex; align-items: center; justify-content: space-between; height: 80px; gap: 16px; }
.longs-logo img { height: 56px; width: auto; display: block; }
.longs-nav { font-size: .875rem; font-weight: 500; color: var(--slate-700); }
.longs-nav .wp-block-navigation__container { gap: 4px; }
.longs-nav .wp-block-navigation-item__content { padding: 8px 12px; color: var(--slate-700); }
.longs-nav .wp-block-navigation-item__content:hover { color: #0f172a; }
.longs-nav .wp-block-navigation__submenu-icon { color: var(--slate-400); width: 14px; height: 14px; }
.longs-new { background: var(--orange); color: #fff; font-size: .7rem; padding: 2px 8px; border-radius: 4px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; margin-left: 6px; vertical-align: 1px; }
.longs-nav .wp-block-navigation__submenu-container { background: #fff !important; border: 1px solid var(--slate-100) !important; border-radius: 12px; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); padding: 8px 0 !important; min-width: 240px !important; margin-top: 4px; }
.longs-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 10px 16px; color: var(--slate-600); font-weight: 400; }
.longs-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--slate-50); color: #0f172a; }
.longs-nav .is-view-all .wp-block-navigation-item__content { font-weight: 700; color: var(--navy); }
.longs-sub-electrical > .wp-block-navigation__submenu-container::before { content: "New Division — Now Available"; display: block; background: var(--orange-50); border-bottom: 1px solid #fed7aa; color: var(--orange); font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; padding: 8px 16px; margin: -8px 0 4px; border-radius: 12px 12px 0 0; }
.longs-sub-areas > .wp-block-navigation__submenu-container { max-height: 70vh; overflow-y: auto; }
.longs-mobile-only { display: none !important; }
.wp-block-navigation__responsive-container.is-menu-open .longs-mobile-only { display: block !important; }
.longs-header-cta { flex-shrink: 0; }
body { padding-top: 0 !important; }
@media (max-width: 767px) {
	.longs-header-cta { display: none !important; }
	.longs-logo img { height: 48px; }
	.longs-header-row { gap: 8px; }
}
.longs-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; }
.longs-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { box-shadow: none; border: 0 !important; min-width: 0 !important; padding: 0 0 8px 16px !important; }

/* Hero */
.longs-hero { display: flex; min-height: 92vh; position: relative; }
.longs-hero-panel { position: relative; z-index: 10; display: flex; flex-direction: column; justify-content: center; width: 100%; padding: 96px 32px; background: var(--navy); box-sizing: border-box; }
@media (min-width: 640px) { .longs-hero-panel { padding-left: 56px; padding-right: 56px; } }
@media (min-width: 1024px) { .longs-hero-panel { width: 52%; padding-left: 80px; padding-right: 80px; } }
.longs-eyebrow { color: var(--orange); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .2em; display: flex; align-items: center; gap: 12px; margin-bottom: 40px !important; }
.longs-eyebrow.is-rule::before { content: ""; width: 32px; height: 1px; background: var(--orange); }
.longs-hero-title { font-family: var(--sans) !important; font-weight: 900; color: #fff !important; text-transform: uppercase; font-size: clamp(3.2rem, 5.5vw, 5.2rem); line-height: 1; margin-bottom: 32px !important; letter-spacing: -.01em; }
.longs-hero-sub { color: var(--slate-300); font-size: 1.125rem; line-height: 2; max-width: 24rem; margin-bottom: 48px !important; }
.longs-hero-ctas { margin-bottom: 48px; flex-direction: column; }
@media (min-width: 640px) { .longs-hero-ctas { flex-direction: row; } }
.longs-hero-stats { display: flex; flex-wrap: wrap; gap: 24px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,.1); }
.longs-stat + .longs-stat { border-left: 1px solid rgba(255,255,255,.1); padding-left: 24px; }
.longs-stat-value { color: #fff; font-weight: 900; font-size: 1.5rem; line-height: 1; }
.longs-stat-label { color: var(--slate-400); font-size: .75rem; margin-top: 4px !important; text-transform: uppercase; letter-spacing: .025em; }
.longs-hero-media { display: none; flex: 1; position: relative; }
@media (min-width: 1024px) { .longs-hero-media { display: block; } }
.longs-fill { position: absolute !important; inset: 0; }
.longs-fill img { width: 100%; height: 100%; object-fit: cover; display: block; }
.longs-hero-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, var(--navy) 0%, transparent 18%); pointer-events: none; }
.longs-glass-badge { position: absolute; bottom: 32px; right: 32px; z-index: 2; background: rgba(255,255,255,.1); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); border: 1px solid rgba(255,255,255,.2); border-radius: 16px; padding: 16px 24px; text-align: right; }
.longs-glass-title { color: #fff; font-weight: 900; font-size: .875rem; text-transform: uppercase; letter-spacing: .1em; }
.longs-glass-sub { color: var(--slate-300); font-size: .75rem; margin-top: 4px !important; }

/* Trust bar */
.longs-trustbar { background: var(--slate-50); border-bottom: 1px solid var(--slate-200); padding: 20px 0; }
.longs-trust-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; text-align: center; }
@media (min-width: 768px) { .longs-trust-grid { grid-template-columns: repeat(4, 1fr); } }
.longs-trust-value { color: var(--orange); font-weight: 900; font-size: 1.5rem; }
.longs-trust-label { color: var(--slate-500); font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; margin-top: 4px !important; }

/* Electrical callout */
.longs-elec { padding: 80px 0; overflow: hidden; }
.longs-bg { position: absolute !important; inset: 0; z-index: 0; }
.longs-bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.longs-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,20,42,.97) 0%, rgba(7,20,42,.92) 50%, rgba(232,117,26,.7) 100%); }
.longs-elec > .longs-wrap { position: relative; z-index: 1; }
.longs-elec-inner { max-width: 42rem; }
.longs-pill { display: inline-flex; align-items: center; gap: 8px; background: var(--orange); color: #fff; font-size: .75rem; font-weight: 700; padding: 6px 12px; border-radius: 999px; text-transform: uppercase; letter-spacing: .1em; margin-bottom: 24px !important; }
.longs-bolt::before { content: ""; width: 14px; height: 14px; background: currentColor; -webkit-mask: var(--i-bolt) center/contain no-repeat; mask: var(--i-bolt) center/contain no-repeat; }

/* Check lists */
.longs-check li { display: flex; align-items: center; gap: 8px; font-size: .875rem; color: var(--slate-600); }
.longs-check li + li { margin-top: 8px; }
.longs-check li::before { content: ""; width: 14px; height: 14px; flex-shrink: 0; background: var(--orange); -webkit-mask: var(--i-check) center/contain no-repeat; mask: var(--i-check) center/contain no-repeat; }
.longs-check a:hover { color: var(--orange); }
.longs-check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 32px !important; }
.longs-check-grid li + li { margin-top: 0; }
.longs-check.is-light li { color: #e2e8f0; }
.longs-check-grid li::before { width: 16px; height: 16px; }

/* Service cards */
.longs-cards { display: grid; gap: 24px; }
@media (min-width: 768px) { .longs-cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .longs-cards { grid-template-columns: repeat(4, 1fr); } }
.longs-card { position: relative; background: #fff; border: 1px solid var(--slate-100); border-radius: 16px; padding: 28px; box-shadow: 0 1px 2px rgba(0,0,0,.05); transition: all .3s; }
.longs-card:hover { box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); transform: translateY(-4px); }
.longs-card::before { content: ""; display: block; width: 40px; height: 40px; margin-bottom: 20px; background: var(--orange); -webkit-mask: var(--i-fire) center/contain no-repeat; mask: var(--i-fire) center/contain no-repeat; transition: transform .3s; transform-origin: left; }
.longs-card:hover::before { transform: scale(1.1); }
.longs-card.is-cooling::before { -webkit-mask-image: var(--i-ac); mask-image: var(--i-ac); }
.longs-card.is-electrical::before { -webkit-mask-image: var(--i-panel); mask-image: var(--i-panel); }
.longs-card.is-commercial::before { -webkit-mask-image: var(--i-building); mask-image: var(--i-building); }
.longs-card h3 { font-family: var(--serif); font-weight: 700; font-size: 1.25rem; color: var(--navy); margin-bottom: 12px !important; }
.longs-card > p { color: var(--slate-500); font-size: .875rem; line-height: 1.65; margin-bottom: 20px !important; }
.longs-card .longs-card-new { position: absolute; top: 16px; right: 16px; margin: 0 !important; background: var(--orange); color: #fff; font-size: .75rem; font-weight: 700; padding: 2px 8px; border-radius: 999px; text-transform: uppercase; letter-spacing: .03em; line-height: 1.5; }

/* Why Long's */
.longs-daikin { display: flex; align-items: center; gap: 16px; padding: 20px; border-radius: 12px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); }
.longs-daikin-logo img { height: 40px; width: auto; filter: brightness(0) invert(1); opacity: .9; display: block; }
.longs-daikin-title { color: #fff; font-weight: 700; font-size: .875rem; }
.longs-daikin-sub { color: var(--slate-400); font-size: .75rem; }
.longs-why-grid { display: grid; gap: 16px; }
@media (min-width: 640px) { .longs-why-grid { grid-template-columns: 1fr 1fr; } }
.longs-why-item { padding: 20px; border-radius: 12px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); transition: background .2s; }
.longs-why-item:hover { background: rgba(255,255,255,.1); }
.longs-why-item::before { content: ""; display: block; width: 20px; height: 20px; margin-bottom: 8px; background: var(--orange); -webkit-mask: var(--i-check-circle) center/contain no-repeat; mask: var(--i-check-circle) center/contain no-repeat; }
.longs-why-label { color: #fff; font-weight: 700; font-size: .875rem; margin-bottom: 4px !important; }
.longs-why-detail { color: var(--slate-400); font-size: .75rem; line-height: 1.65; }

/* Service areas */
.longs-areas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.longs-areas li a { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 8px; border: 1px solid var(--slate-100); font-size: .875rem; font-weight: 500; color: var(--slate-700); transition: all .2s; }
.longs-areas li a::before { content: ""; width: 12px; height: 12px; flex-shrink: 0; background: var(--slate-400); -webkit-mask: var(--i-pin) center/contain no-repeat; mask: var(--i-pin) center/contain no-repeat; }
.longs-areas li a:hover { border-color: #fed7aa; background: var(--orange-50); }
.longs-areas li a:hover::before { background: var(--orange); }
.longs-note { margin-top: 32px; padding: 20px; border-radius: 12px; background: var(--slate-50); border-left: 4px solid var(--orange); font-size: .875rem; color: var(--slate-500); }
.longs-note-title { color: var(--slate-700); font-weight: 500; margin-bottom: 4px !important; }
.longs-note a { color: var(--orange); font-weight: 600; }
.longs-areas-media { position: relative; }
.longs-photo-frame { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 4 / 3; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); }
.longs-photo-caption { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; padding: 24px; background: linear-gradient(to top, rgba(7,20,42,.8) 0%, transparent 60%); color: var(--slate-300); font-size: .875rem; }
.longs-photo-caption-title { color: #fff; font-weight: 700; font-size: 1.125rem; font-family: var(--serif); }
.longs-float-badge { position: absolute; top: -16px; right: -16px; background: #fff; border: 1px solid var(--slate-100); border-radius: 16px; box-shadow: 0 20px 25px -5px rgba(0,0,0,.1); padding: 16px; text-align: center; }
.longs-float-num { color: var(--orange); font-family: var(--serif); font-weight: 900; font-size: 1.875rem; line-height: 1.2; }
.longs-float-label { color: var(--slate-500); font-size: .75rem; font-weight: 500; text-transform: uppercase; letter-spacing: .025em; }

/* Reviews */
.longs-rating { display: flex; align-items: center; justify-content: center; gap: 12px; color: var(--slate-400); font-size: .875rem; margin-top: 16px !important; }
.longs-rating::before { content: ""; width: 88px; height: 16px; background: var(--orange-400); -webkit-mask: var(--i-star) left center/contain no-repeat; mask: var(--i-star) left center/contain no-repeat; }
.longs-rating strong { color: var(--slate-700); font-size: 1rem; }
.longs-review-feature { max-width: 48rem; margin: 0 auto 32px !important; background: #fff; border: 1px solid var(--slate-100); border-radius: 16px; padding: 32px; text-align: center; box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.longs-review-feature::before { content: ""; display: block; width: 88px; height: 16px; margin: 0 auto 16px; background: var(--orange-400); -webkit-mask: var(--i-star) center/contain no-repeat; mask: var(--i-star) center/contain no-repeat; }
.longs-review-quote { font-family: var(--serif); font-style: italic; font-size: 1.25rem; line-height: 1.65; color: var(--slate-700); margin-bottom: 24px !important; }
.longs-review-who { font-size: .75rem; color: var(--orange); font-weight: 600; line-height: 1.5; }
.longs-review-who strong { color: #1e293b; font-size: .875rem; font-weight: 700; }
.longs-review-picker { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 768px) { .longs-review-picker { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .longs-review-picker { grid-template-columns: repeat(6, 1fr); } }
.longs-review { background: #fff; border: 1px solid var(--slate-100); border-radius: 12px; padding: 12px; cursor: pointer; transition: all .2s; }
.longs-review::before { content: ""; display: block; width: 64px; height: 12px; margin-bottom: 4px; background: var(--orange-400); -webkit-mask: var(--i-star) left center/contain no-repeat; mask: var(--i-star) left center/contain no-repeat; }
.longs-review:hover { border-color: var(--slate-200); }
.longs-review.is-active { background: var(--orange-50); border-color: var(--orange); box-shadow: 0 4px 6px -1px rgba(0,0,0,.1); }
.longs-review-name { font-size: .75rem; font-weight: 700; color: var(--slate-700); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.longs-review-tag { font-size: .75rem; color: var(--slate-400); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.longs-review-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Photo strip */
.longs-strip { padding: 64px 0; }
.longs-strip-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.longs-strip-img { aspect-ratio: 4 / 3; overflow: hidden; border-radius: 12px; }
.longs-strip-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.longs-strip-img img:hover { transform: scale(1.05); }

/* Emergency */
.longs-emergency { background: var(--orange); padding: 56px 0; }
.longs-emergency .longs-wrap { max-width: 1024px; }
.longs-emergency .longs-h2 { font-size: 1.875rem; margin-bottom: 12px !important; }
@media (min-width: 1024px) { .longs-emergency .longs-h2 { font-size: 2.25rem; } }
.longs-emergency-sub { color: #ffedd5; font-size: 1.125rem; margin-bottom: 28px !important; }
.longs-center-buttons { justify-content: center; flex-direction: column; }
@media (min-width: 640px) { .longs-center-buttons { flex-direction: row; } }

/* Contact */
.longs-contact-list li { position: relative; padding-left: 48px; min-height: 40px; color: var(--slate-700); font-weight: 600; }
.longs-contact-list li + li { margin-top: 20px; }
.longs-contact-list li::before { position: absolute; left: 0; top: 0; font-size: 1.5rem; line-height: 1.4; }
.longs-contact-list li.is-phone::before { content: "📞"; }
.longs-contact-list li.is-email::before { content: "✉️"; }
.longs-contact-list li.is-office::before { content: "📍"; }
.longs-contact-list li.is-hours::before { content: "🕐"; }
.longs-contact-list strong { display: inline-block; font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; color: var(--slate-400); margin-bottom: 2px; }
.longs-contact-list a { color: var(--orange); }
.longs-contact-list a:hover { opacity: .8; }
.longs-form-card { background: var(--slate-50); border: 1px solid var(--slate-100); border-radius: 16px; padding: 32px; }
.longs-form-card h3 { font-family: var(--serif); font-weight: 700; font-size: 1.25rem; color: var(--navy); margin-bottom: 24px !important; }
/* Existing Forminator form, restyled to match */
.longs-form-card .forminator-ui.forminator-custom-form { margin: 0 !important; }
.longs-form-card .forminator-ui input:not([type=checkbox]):not([type=radio]):not([type=submit]),
.longs-form-card .forminator-ui textarea,
.longs-form-card .forminator-ui select,
.longs-form-card .forminator-ui .select2-selection { border: 1px solid var(--slate-200) !important; border-radius: 8px !important; background: #fff !important; padding: 12px 16px !important; font-family: var(--sans) !important; font-size: .875rem !important; box-shadow: none !important; }
.longs-form-card .forminator-ui input:focus, .longs-form-card .forminator-ui textarea:focus { outline: 2px solid var(--orange-400) !important; outline-offset: 0; }
.longs-form-card .forminator-ui label { font-family: var(--sans) !important; color: var(--slate-600) !important; font-size: .8rem !important; }
.longs-form-card .forminator-ui .forminator-button-submit { width: 100%; background: var(--orange) !important; color: #fff !important; border-radius: 8px !important; padding: 14px !important; font-weight: 700 !important; font-family: var(--sans) !important; border: 0 !important; box-shadow: none !important; }
.longs-form-card .forminator-ui .forminator-button-submit:hover { opacity: .9; }

/* Footer */
.longs-footer { background: var(--navy-950); padding: 56px 0 32px; color: var(--slate-400); font-size: .875rem; }
.longs-footer-grid { display: grid; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid rgba(255,255,255,.1); }
@media (min-width: 768px) { .longs-footer-grid { grid-template-columns: 2fr 1fr 1fr; } }
.longs-footer-logo img { height: 64px; width: auto; display: block; margin-bottom: 16px; }
.longs-footer-about { line-height: 1.65; max-width: 24rem; margin-bottom: 20px !important; }
.longs-social a { display: inline-flex; width: 36px; height: 36px; border-radius: 8px; background: rgba(255,255,255,.1); font-size: 0; align-items: center; justify-content: center; transition: background .2s; }
.longs-social a::before { content: ""; width: 16px; height: 16px; background: var(--slate-400); -webkit-mask: var(--i-fb) center/contain no-repeat; mask: var(--i-fb) center/contain no-repeat; }
.longs-social a:hover { background: rgba(255,255,255,.2); }
.longs-social a:hover::before { background: #fff; }
.longs-footer h4 { font-family: var(--sans); color: #fff; font-weight: 700; font-size: .875rem; text-transform: uppercase; letter-spacing: .05em; margin: 0 0 16px; }
.longs-footer-col li + li { margin-top: 10px; }
.longs-footer-col p + p { margin-top: 12px; }
.longs-footer a:hover { color: #fff; }
.longs-footer-phone a { color: var(--orange-400); font-weight: 700; font-size: 1rem; }
.longs-orange { color: var(--orange); }
.longs-footer-bottom { padding-top: 24px; display: flex; flex-direction: column; gap: 16px; align-items: center; justify-content: space-between; font-size: .75rem; color: var(--slate-500); text-align: center; }
@media (min-width: 768px) { .longs-footer-bottom { flex-direction: row; text-align: left; } }
.longs-footer-bottom a { text-decoration: underline; }

/* Editor tweaks */
.editor-styles-wrapper .longs-review-text { position: static !important; width: auto; height: auto; clip: auto; white-space: normal; font-size: .7rem; color: var(--slate-500); }
.editor-styles-wrapper .longs-hero { min-height: 70vh; }

/* ===== Interior pages ===== */
.longs-ihero { position: relative; overflow: hidden; background: var(--navy); }
.longs-ihero-bg { position: absolute !important; inset: 0; z-index: 0; }
@media (min-width: 1024px) { .longs-ihero-bg { left: 50%; } }
.longs-ihero-bg img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .35; }
@media (min-width: 1024px) { .longs-ihero-bg img { opacity: .9; } }
.longs-ihero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, var(--navy), rgba(13,33,68,.7), rgba(13,33,68,.1)); }
.longs-ihero > .longs-wrap { position: relative; z-index: 1; padding-top: 96px; padding-bottom: 96px; }
@media (min-width: 1024px) { .longs-ihero > .longs-wrap { padding-top: 128px; padding-bottom: 128px; } }
.longs-ihero-inner { max-width: 42rem; }
.longs-ihero-eyebrow { color: var(--orange-400); font-size: .75rem; font-weight: 700; text-transform: uppercase; letter-spacing: .22em; margin-bottom: 16px !important; }
.longs-ihero-title { font-family: var(--serif); font-weight: 900; color: #fff !important; font-size: 3rem; line-height: 1.05; }
@media (min-width: 640px) { .longs-ihero-title { font-size: 3.75rem; } }
.longs-ihero-summary { color: var(--slate-300); font-size: 1.125rem; line-height: 1.65; max-width: 36rem; margin-top: 28px !important; }
.longs-ihero-ctas { margin-top: 36px; gap: 12px; flex-direction: column; }
@media (min-width: 640px) { .longs-ihero-ctas { flex-direction: row; } }
.longs-ihero-ctas .longs-btn-ghost .wp-block-button__link { border-color: rgba(255,255,255,.3); font-weight: 700; }

/* Markdown-driven copy */
.longs-md-h2 { font-family: var(--serif); font-weight: 900; color: var(--navy); font-size: 2.25rem; line-height: 1.2; margin-top: 8px !important; }
.longs-md-h3 { font-family: var(--serif); font-weight: 700; color: var(--navy); font-size: 1.5rem; margin-top: 32px !important; }
.longs-md-p { color: var(--slate-600); font-size: 1.125rem; line-height: 1.65; margin-top: 20px !important; }
.longs-check-circle { margin: 24px 0 !important; }
.longs-check-circle li { display: flex; align-items: flex-start; gap: 12px; color: var(--slate-600); }
.longs-check-circle li + li { margin-top: 12px; }
.longs-check-circle li::before { content: ""; width: 20px; height: 20px; margin-top: 3px; flex-shrink: 0; background: var(--orange); -webkit-mask: var(--i-check-circle) center/contain no-repeat; mask: var(--i-check-circle) center/contain no-repeat; }
.is-navy .longs-check-circle li { color: var(--slate-300); }

/* Category intro + service cards */
.longs-cat-intro { max-width: 42rem; margin-bottom: 48px; }
.longs-cat-intro .longs-kicker { font-weight: 700; }
.longs-card-grid { display: grid; gap: 20px; }
@media (min-width: 768px) { .longs-card-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .longs-card-grid { grid-template-columns: repeat(3, 1fr); } }
.longs-link-card { position: relative; background: #fff; border: 1px solid var(--slate-100); border-radius: 16px; padding: 28px; box-shadow: 0 1px 2px rgba(0,0,0,.05); transition: all .2s; }
.longs-link-card:hover { transform: translateY(-4px); box-shadow: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1); }
.longs-link-card h3 { font-family: var(--serif); font-weight: 700; font-size: 1.25rem; color: var(--navy); }
.longs-link-card h3 a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.longs-link-card > p { margin-top: 12px !important; font-size: .875rem; line-height: 1.65; color: var(--slate-500); }
.longs-link-card > p.longs-link-more { margin-top: 20px !important; font-weight: 700; color: var(--orange); }
.longs-link-card.has-icon::before { content: ""; display: block; width: 44px; height: 44px; margin-bottom: 20px; border-radius: 12px; background: var(--orange-50) center/20px no-repeat; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23e8751a'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z'/%3E%3C/svg%3E"); }
.longs-link-card.is-outline { border-color: var(--slate-200); border-radius: 12px; padding: 20px; box-shadow: none; }
.longs-link-card.is-outline:hover { transform: none; box-shadow: none; border-color: #fdba74; background: var(--orange-50); }
.longs-link-card.is-outline h3 { font-size: 1rem; }
.longs-link-card.is-soft { background: var(--slate-50); border: 0; box-shadow: none; padding: 24px; }
.longs-link-card.is-soft:hover { transform: none; box-shadow: none; background: var(--orange-50); }

/* Service page */
.longs-service-split { display: grid; gap: 64px; }
@media (min-width: 1024px) { .longs-service-split { grid-template-columns: 1.1fr .9fr; } }
.longs-expect { background: var(--slate-50); border-radius: 16px; padding: 32px; align-self: start; }
.longs-expect h3 { font-family: var(--serif); font-weight: 700; font-size: 1.5rem; color: var(--navy); }
.longs-expect .longs-check-circle li { color: var(--slate-700); }
.longs-expect .wp-block-buttons { margin-top: 32px; }
.wp-block-button.is-full { width: 100%; }
.wp-block-button.is-full .wp-block-button__link { width: 100%; box-sizing: border-box; }
.longs-steps { display: grid; gap: 20px; margin-top: 48px; }
@media (min-width: 768px) { .longs-steps { grid-template-columns: repeat(4, 1fr); } }
.longs-step { background: #fff; border-radius: 16px; padding: 24px; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.longs-step-num { color: var(--orange); font-weight: 900; font-size: .875rem; }
.longs-step h3 { font-family: var(--serif); font-weight: 700; font-size: 1.25rem; color: var(--navy); margin-top: 16px !important; }
.longs-step p:last-child { margin-top: 8px !important; font-size: .875rem; line-height: 1.65; color: var(--slate-500); }
.longs-section-head .longs-h2 { margin-bottom: 0 !important; }
.longs-related { padding: 80px 0; }
.longs-h2.is-small { font-size: 1.875rem; }
.longs-related-grid { display: grid; gap: 16px; margin-top: 32px; }
@media (min-width: 768px) { .longs-related-grid { grid-template-columns: repeat(3, 1fr); } }

/* Trust band (interior) */
.longs-trust { padding: 80px 0; }
.longs-trust .longs-lead { margin-bottom: 0 !important; }
.longs-trust-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.longs-trust-stat { border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.05); border-radius: 16px; padding: 20px; }
.longs-trust-stat-value { color: var(--orange-400); font-weight: 900; font-size: 1.5rem; }
.longs-trust-stat-label { color: var(--slate-400); font-size: .75rem; text-transform: uppercase; letter-spacing: .05em; margin-top: 4px !important; }

/* Service areas */
.longs-city-grid { display: grid; gap: 20px; }
@media (min-width: 640px) { .longs-city-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 768px) { .longs-city-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .longs-city-grid { grid-template-columns: repeat(4, 1fr); } }
.longs-city-grid li a { display: block; background: #fff; border-radius: 16px; padding: 24px; font-family: var(--serif); font-weight: 700; font-size: 1.25rem; color: var(--navy); box-shadow: 0 1px 2px rgba(0,0,0,.05); transition: all .2s; }
.longs-city-grid li a:hover { color: var(--orange); box-shadow: 0 10px 15px -3px rgba(0,0,0,.1); }
.longs-area-cards { display: grid; gap: 16px; }
@media (min-width: 640px) { .longs-area-cards { grid-template-columns: 1fr 1fr; } }
.longs-area-cta { display: flex; }
.longs-area-cta p { display: flex; width: 100%; }
.longs-area-cta a { display: flex; width: 100%; align-items: center; justify-content: center; text-align: center; background: var(--orange); color: #fff; font-weight: 700; border-radius: 16px; padding: 24px; }
.longs-area-cta a:hover { filter: brightness(1.08); }

/* Why Long's */
.longs-why-photo { border-radius: 16px; overflow: hidden; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); aspect-ratio: 4 / 3; }
.longs-why-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.longs-values { display: grid; gap: 20px; margin-top: 48px; }
@media (min-width: 768px) { .longs-values { grid-template-columns: repeat(3, 1fr); } }
.longs-value { background: #fff; border-radius: 16px; padding: 28px; box-shadow: 0 1px 2px rgba(0,0,0,.05); }
.longs-value h3 { font-family: var(--serif); font-weight: 700; font-size: 1.25rem; color: var(--navy); }
.longs-value p { margin-top: 12px !important; font-size: .875rem; line-height: 1.65; color: var(--slate-500); }

/* Reviews CTA */
.longs-reviews-cta { margin-top: 40px; justify-content: center; }
.longs-section-head .longs-lead { margin-top: 12px !important; }

/* Prose pages (privacy policy), map, FAQ */
.longs-prose { max-width: 760px; }
.longs-prose h2 { font-family: var(--serif); font-weight: 700; font-size: 1.5rem; color: var(--navy); margin: 40px 0 12px !important; }
.longs-prose h2:first-child { margin-top: 0 !important; }
.longs-prose p, .longs-prose li { color: var(--slate-600); line-height: 1.7; }
.longs-prose p + p { margin-top: 14px !important; }
.longs-prose ul { list-style: disc; padding-left: 22px; margin: 12px 0 !important; }
.longs-prose li + li { margin-top: 6px; }
.longs-prose a { color: var(--orange); font-weight: 600; }
.longs-map { line-height: 0; border-top: 6px solid var(--orange); }
.longs-faq { max-width: 52rem; margin: 40px auto 0; }
.longs-faq .longs-md-h3:first-child { margin-top: 0 !important; }
.longs-form-card > p { color: var(--slate-500); margin-bottom: 16px !important; }
.longs-check-circle a:hover { color: var(--orange); }

/* Mobile polish */
@media (max-width: 639px) {
	.longs-float-badge { right: 8px; top: -12px; padding: 10px 14px; }
	.longs-areas { grid-template-columns: repeat(2, 1fr); }
	.longs-check-grid { grid-template-columns: 1fr; }
	.longs-hero-stats { gap: 16px; }
	.longs-stat + .longs-stat { padding-left: 16px; }
	.longs-hero-title { font-size: 2.75rem; }
	.longs-section { padding: 72px 0; }
	.longs-h2, .longs-md-h2 { font-size: 1.9rem; }
	.longs-ihero-title { font-size: 2.5rem; }
	.longs-ihero > .longs-wrap { padding-top: 72px; padding-bottom: 72px; }
	.longs-form-card { padding: 24px; }
	.longs-review-feature { padding: 24px; }
	.longs-review-quote { font-size: 1.1rem; }
	.longs-strip-grid { grid-template-columns: 1fr 1fr; }
	.longs-strip-grid > :last-child { display: none; }
	.wp-block-button .wp-block-button__link { width: 100%; box-sizing: border-box; }
	.longs-hero-ctas .wp-block-button, .longs-ihero-ctas .wp-block-button, .longs-center-buttons .wp-block-button { width: 100%; }
}
:root, html body { overflow-x: clip; }

/* Larger logo + nav (Nov 13 post-launch edit) */
html body .longs-header-row { height: 96px; }
html body .longs-logo img { height: 76px; }
html body .longs-nav { font-size: 1rem; font-weight: 600; }
html body .longs-nav .wp-block-navigation-item__content { padding: 8px 14px; }
html body .longs-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: .95rem; padding: 10px 16px; }
html body [id] { scroll-margin-top: 106px; }
@media (max-width: 1100px) { html body .longs-nav { font-size: .95rem; } html body .longs-nav .wp-block-navigation-item__content { padding: 8px 9px; } }
@media (max-width: 767px) { html body .longs-header-row { height: 80px; } html body .longs-logo img { height: 60px; } }

/* Why Long's poster: show full portrait image */
html body .longs-why-photo { aspect-ratio: auto; max-width: 480px; margin: 0 auto; width: 100%; }
html body .longs-why-photo img { height: auto; object-fit: contain; }
/* Nav fits 6 items: tighten on mid widths, hamburger below 1024px */
@media (max-width: 1200px) { html body .longs-nav { font-size: .9rem; } html body .longs-nav .wp-block-navigation-item__content { padding: 8px 7px; } }
@media (max-width: 1023px) {
	html body .longs-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	html body .longs-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	html body .longs-header-row { gap: 12px; }
	html body .longs-nav { margin-left: auto; }
}

/* Header: 6 nav items + CTA only fit at 1280px+; hide CTA on small laptops */
@media (min-width: 1024px) and (max-width: 1279px) {
	html body .longs-header-cta { display: none !important; }
	html body .longs-nav { font-size: .95rem; }
	html body .longs-nav .wp-block-navigation-item__content { padding: 8px 10px; }
}
html body .longs-social { display: block; }
