If you are comparing bids and wondering, is commercial painting more expensive than residential, the honest answer is yes – often, but not always. The price difference usually comes down to access, scheduling, production speed, surface conditions, and how much coordination the job takes. A small storefront repaint can cost less per project than a detailed historic home, while a large occupied office or multi-unit facility can easily outpace residential pricing because the logistics are tougher.
That is the part many people miss. Painting is not priced by category alone. It is priced by labor difficulty, material needs, risk, timeline, and how efficiently a crew can move through the space.
Why commercial painting often costs more
Commercial work tends to carry more moving parts. There may be stricter deadlines, after-hours scheduling, tenant coordination, lift access, parking challenges, security rules, and more square footage to cover without disrupting business. In Philadelphia and the Tri-State area, that can also mean dealing with Center City access limits, older masonry surfaces, condo association rules, and buildings that are simply harder to work in.
A residential project is usually more straightforward. The crew arrives, protects the floors and furnishings, preps the walls, paints, cleans up, and moves on. Commercial jobs can involve phased work, multiple stakeholders, occupied spaces, and a stronger need for speed. Faster turnaround sounds efficient, but it often requires a larger crew, tighter scheduling, or night and weekend work, all of which can raise the cost.
Is commercial painting more expensive than residential per square foot?
Sometimes yes, sometimes no. This is where owners and managers can get tripped up.
Large commercial spaces can actually cost less per square foot when the work is repetitive and open. Think warehouse walls, empty retail shells, or standard office corridors with easy access and minimal trim detail. A crew can move quickly in that kind of environment, so the production rate improves.
Residential work usually has more detail packed into a smaller footprint. Bedrooms, bathrooms, trim, doors, stairwells, patching, furniture protection, color changes, and careful cut-ins all take time. So even though the total project may be smaller, the per-square-foot rate can be higher.
On the other hand, commercial pricing climbs fast when the building is occupied, the ceilings are high, the surfaces need specialty coatings, or the work has to happen in off-hours. In those cases, the per-square-foot number may end up well above a typical house interior.
What actually drives the price difference
The biggest factor is labor. Paint itself matters, but labor is where most of the budget goes. Commercial painting can cost more because labor becomes less simple.
Access and equipment
A ranch house with standard ceilings is one thing. A church ceiling, apartment common area, retail facade, or office stair tower is another. Once ladders get taller, lifts are needed, or setup takes extra time, the price changes. Exterior commercial work may also involve traffic management, parking limitations, and safety requirements that do not come up on most homes.
Scheduling demands
Many commercial clients need work done around business hours, tenant occupancy, or contractor deadlines. Night work, weekend work, and fast-turn schedules can add cost because they require tighter crew planning and sometimes premium labor conditions. Residential jobs are usually scheduled in a more predictable daytime window.
Surface type and prep
Commercial spaces are not always easier just because they are bigger. Block walls, high-durability coatings, grease exposure, water stains, old plaster, damage from tenant wear, and frequent touch-up zones all affect prep time. Prep is where a lot of budgets are won or lost.
In residential settings, prep may involve drywall repairs, nail pops, caulking, and trim sanding. In commercial settings, prep can include surface cleaning, patching impact damage, dealing with prior maintenance coats, or matching existing finishes across a larger area.
Scope complexity
A house may have more detail work, but a commercial project can have more coordination. Property managers may need one floor completed before another. Retail owners may need sections finished without shutting down. Nonprofits and community facilities may need rooms turned over in phases. The more sequencing involved, the more the project behaves like an operations job, not just a paint job.
When residential painting can cost more than commercial
There are definitely cases where residential painting is the more expensive project.
A luxury home with detailed trim, stair rails, plaster repair, imported wood surfaces, wallpaper removal, or high-end finish expectations can exceed the cost of a basic commercial repaint. Older homes in neighborhoods with historic materials often need slower prep and more care. That is especially true when you are dealing with plaster walls, ornate molding, or surfaces that cannot be rushed.
Exterior residential work can also get expensive when the house sits on steep terrain or has difficult ladder access. Anyone who has worked around Roxborough or Manayunk knows that some homes are more challenging than small commercial buildings because setup and safety become a real issue.
So if you are asking whether commercial is always more expensive, the answer is no. Complexity beats category every time.
Commercial vs residential painting: what owners should compare
The best comparison is not just the bottom-line number. It is what you are getting for the price.
If one commercial quote is higher, ask whether it includes after-hours work, multiple mobilizations, detailed surface prep, premium coatings, or tighter completion windows. If a residential quote is higher, ask whether it covers trim, ceilings, wall repair, color changes, and full protection of floors and furnishings.
A cheap price can get expensive later if the prep is rushed, the wrong product is used, or the crew is not equipped for the site conditions. That matters for landlords trying to turn units quickly, business owners protecting customer-facing spaces, and property managers juggling multiple deadlines.
How to budget smarter for either type of painting
Start with the real conditions of the job, not the label. A contractor should know whether the space is vacant or occupied, how quickly it needs to be completed, what condition the surfaces are in, and what level of finish you actually need. Those details shape price more than the word commercial or residential.
It also helps to be clear about priorities. If speed matters most, say that. If budget matters most, say that too. There may be practical ways to phase the work, simplify the scope, or choose materials that hold up well without overspending.
For example, a rental turnover does not need the same product spec as a luxury living room. A community center hallway may need durability more than designer finishes. An office refresh might be priced more efficiently if done in one open block rather than split into multiple small visits.
This is where a straightforward pricing approach helps. Instead of dragging customers through a long estimate process, some contractors now use remote quoting, square-footage based pricing, and budget-first conversations to keep things moving. That is especially useful when owners and managers need answers fast and do not have time for back-and-forth site meetings on every project.
So, is commercial painting more expensive than residential?
In many cases, yes, commercial painting is more expensive than residential because it often involves tougher logistics, stricter timelines, and more coordination. But that is not a rule you can apply blindly. A simple commercial repaint may be cheaper than a highly detailed home, and a difficult residential project may cost more than people expect.
The smartest way to look at painting cost is this: price follows conditions. Size matters, but access, prep, scheduling, and finish expectations matter more.
If you are pricing a commercial space, a rental turnover, a condo, or a house and you want a number that fits the real job, keep the conversation practical. Share the photos, square footage, timeline, and budget range. A contractor who knows how to work fast, stay neat, and keep pricing transparent can usually save you more than a low quote with a lot left unsaid.
A good painting job should make the property easier to rent, easier to manage, or easier to do business in – not harder to budget for.
/* === UMAR PAGE STYLES === */
/* ===== RESET & BASE ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: ‘Segoe UI’, Arial, sans-serif; background: #ffffff; color: #1a1a1a; line-height: 1.6; }
/* ===== COLORS ===== */
:root {
–green-dark: #0a1a0f;
–green-mid: #1b4332;
–green-bright: #2d6a4f;
–green-accent: #40916c;
–green-light: #74c69d;
–green-pale: #b7e4c7;
–gold: #f4a261;
–white: #f8fffe;
–text-light: #d8f3dc;
}
/* ===== TRUST BAR ===== */
.trust-bar {
background: linear-gradient(90deg, #1b4332, #2d6a4f);
padding: 8px 20px;
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 16px;
font-size: 12px;
font-weight: 700;
color:#111111;
letter-spacing: 0.5px;
border-bottom: 2px solid #40916c;
}
.trust-bar span { display: flex; align-items: center; gap: 5px; }
.trust-bar .badge { background: #40916c; color:#111111; padding: 2px 8px; border-radius: 20px; font-size: 11px; }
/* ===== HEADER ===== */
header {
background: #ffffff;
border-bottom: 2px solid #2d6a4f;
position: sticky;
top: 0;
z-index: 1000;
box-shadow: 0 2px 20px rgba(0,0,0,0.5);
}
.header-inner {
max-width: 1200px;
margin: 0 auto;
padding: 12px 20px;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 10px;
}
.logo-area { display: flex; align-items: center; gap: 12px; }
.logo-area img { height: 60px; width: auto; }
.logo-text h1 { font-size: 18px; color:#111111; font-weight: 800; line-height: 1.2; }
.logo-text p { font-size: 11px; color:#111111; }
nav { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; }
nav a {
color:#111111;
text-decoration: none;
padding: 6px 12px;
border-radius: 4px;
font-size: 13px;
font-weight: 600;
transition: all 0.2s;
}
nav a:hover { background: #2d6a4f; color:#111111; }
nav a.cta-nav { background: #40916c; color:#111111; border-radius: 20px; }
nav a.cta-nav:hover { background: #74c69d; color: #0a1a0f; }
.header-phone { color:#111111; font-weight: 800; font-size: 16px; text-decoration: none; }
.header-phone:hover { color:#111111; }
/* ===== HERO ===== */
.hero {
background: linear-gradient(135deg, #1b4332 0%, #2d6a4f 50%, #40916c 100%);
min-height: 85vh;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
padding: 60px 20px;
position: relative;
overflow: hidden;
}
.hero::before {
content: ”;
position: absolute;
inset: 0;
background: radial-gradient(ellipse at center, rgba(64,145,108,0.15) 0%, transparent 70%);
}
.hero-content { position: relative; z-index: 1; max-width: 900px; }
.hero-badge {
display: inline-block;
background: linear-gradient(90deg, #40916c, #74c69d);
color: #0a1a0f;
padding: 6px 20px;
border-radius: 30px;
font-size: 13px;
font-weight: 800;
letter-spacing: 1px;
margin-bottom: 20px;
text-transform: uppercase;
}
.hero h2 {
color: #ffffff;
line-height: 1.1;
margin-bottom: 16px;
text-shadow: 0 2px 20px rgba(0,0,0,0.5);
}
.hero h2 span { color:#111111; }
.hero p {
font-size: clamp(16px, 2.5vw, 22px);
color: #ffffff;
margin-bottom: 30px;
max-width: 700px;
margin-left: auto;
margin-right: auto;
}
.hero-btns { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; margin-bottom: 40px; }
.btn-primary {
background: linear-gradient(135deg, #40916c, #74c69d);
color: #0a1a0f;
padding: 16px 36px;
border-radius: 50px;
font-size: 16px;
font-weight: 800;
text-decoration: none;
transition: all 0.3s;
box-shadow: 0 4px 20px rgba(64,145,108,0.4);
border: none;
cursor: pointer;
display: inline-block;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(64,145,108,0.6); }
.btn-secondary {
background: transparent;
color: #ffffff;
padding: 16px 36px;
border-radius: 50px;
font-size: 16px;
font-weight: 700;
text-decoration: none;
border: 2px solid #40916c;
transition: all 0.3s;
display: inline-block;
}
.btn-secondary:hover { background: #2d6a4f; color:#111111; }
.hero-trust { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; }
.hero-trust-item { display: flex; align-items: center; gap: 8px; color:#111111; font-size: 14px; font-weight: 600; }
.hero-trust-item .icon { font-size: 20px; }
/* ===== SECTION BASE ===== */
section { padding: 70px 20px; }
.section-inner { max-width: 1200px; margin: 0 auto; }
.section-title {
text-align: center;
margin-bottom: 50px;
}
.section-title h2 {
font-size: clamp(26px, 4vw, 44px);
font-weight: 900;
color:#111111;
margin-bottom: 12px;
}
.section-title p { color:#111111; font-size: 17px; max-width: 700px; margin: 0 auto; }
.section-title .divider {
width: 60px;
height: 4px;
background: linear-gradient(90deg, #40916c, #74c69d);
margin: 16px auto;
border-radius: 2px;
}
/* ===== SERVICES GRID ===== */
.services-section { background: #f8fffe; }
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.service-card {
background: linear-gradient(135deg, #f0faf5, #e8f5e9);
border: 1px solid #2d6a4f;
border-radius: 16px;
padding: 30px;
transition: all 0.3s;
position: relative;
overflow: hidden;
}
.service-card::before {
content: ”;
position: absolute;
top: 0; left: 0; right: 0;
height: 3px;
background: linear-gradient(90deg, #40916c, #74c69d);
}
.service-card:hover { transform: translateY(-5px); border-color:#111111; box-shadow: 0 10px 40px rgba(64,145,108,0.2); }
.service-card .icon { font-size: 40px; margin-bottom: 16px; }
.service-card h3 { color: #111111 !important; font-size: 20px; font-weight: 800; margin-bottom: 10px; }
.service-card p { color:#111111; font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
.service-card a { color:#111111; font-weight: 700; text-decoration: none; font-size: 14px; }
.service-card a:hover { color:#111111; }
/* ===== SYS PRICING ===== */
.pricing-section { background: #f8fffe; }
.pricing-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 20px; margin-bottom: 40px; }
.price-card {
background: rgba(27,67,50,0.8);
border: 1px solid #40916c;
border-radius: 16px;
padding: 28px 20px;
text-align: center;
transition: all 0.3s;
}
.price-card:hover { transform: scale(1.03); border-color:#111111; }
.price-card .price-label { color:#111111; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; }
.price-card .price-value { color:#111111; font-size: 36px; font-weight: 900; line-height: 1; margin-bottom: 6px; }
.price-card .price-unit { color:#111111; font-size: 13px; }
.price-card .price-desc { color:#111111; font-size: 12px; margin-top: 10px; }
.sys-tagline {
text-align: center;
background: linear-gradient(135deg, #2d6a4f, #1b4332);
border: 2px solid #40916c;
border-radius: 16px;
padding: 30px;
margin-top: 30px;
}
.sys-tagline h3 { color:#111111; font-size: 24px; font-weight: 900; margin-bottom: 10px; }
.sys-tagline p { color:#111111; font-size: 16px; margin-bottom: 20px; }
.negotiable-badge {
display: inline-block;
background: linear-gradient(90deg, #f4a261, #e76f51);
color:#111111;
padding: 10px 28px;
border-radius: 30px;
font-size: 15px;
font-weight: 800;
margin-bottom: 20px;
}
/* ===== PAINTER QUEST GAME ===== */
.game-section { background: #ffffff; }
.game-container {
background: linear-gradient(135deg, #f0faf5, #e8f5e9);
border: 2px solid #40916c;
border-radius: 20px;
padding: 40px;
max-width: 800px;
margin: 0 auto;
}
.game-header { text-align: center; margin-bottom: 30px; }
.game-header h3 { color:#111111; font-size: 28px; font-weight: 900; margin-bottom: 8px; }
.game-header p { color:#111111; font-size: 15px; }
.game-step { display: none; }
.game-step.active { display: block; }
.game-question { color:#111111; font-size: 18px; font-weight: 700; margin-bottom: 20px; text-align: center; }
.game-options { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 20px; }
.game-option {
background: rgba(27,67,50,0.6);
border: 2px solid #2d6a4f;
border-radius: 12px;
padding: 16px;
text-align: center;
cursor: pointer;
transition: all 0.2s;
color:#111111;
font-weight: 600;
font-size: 14px;
}
.game-option:hover, .game-option.selected { background: #2d6a4f; border-color:#111111; color:#111111; }
.game-input-group { margin-bottom: 16px; }
.game-input-group label { display: block; color:#111111; font-size: 14px; font-weight: 600; margin-bottom: 6px; }
.game-input-group input {
width: 100%;
background: rgba(27,67,50,0.6);
border: 2px solid #2d6a4f;
border-radius: 10px;
padding: 12px 16px;
color:#111111;
font-size: 16px;
transition: border-color 0.2s;
}
.game-input-group input:focus { outline: none; border-color:#111111; }
.game-progress {
display: flex;
gap: 8px;
justify-content: center;
margin-bottom: 24px;
}
.progress-dot {
width: 12px; height: 12px;
border-radius: 50%;
background: #2d6a4f;
transition: background 0.3s;
}
.progress-dot.done { background: #74c69d; }
.progress-dot.active { background: #40916c; transform: scale(1.3); }
.game-result {
text-align: center;
padding: 20px;
background: rgba(64,145,108,0.1);
border-radius: 16px;
border: 1px solid #40916c;
}
.game-result .total-price { font-size: 48px; font-weight: 900; color:#111111; }
.game-result .price-breakdown { color:#111111; font-size: 14px; margin: 16px 0; }
.game-result .price-breakdown div { padding: 4px 0; border-bottom: 1px solid #2d6a4f; }
/* ===== NEIGHBORHOODS ===== */
.neighborhoods-section { background: #0d2818; }
.neighborhoods-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.neighborhood-card {
background: linear-gradient(135deg, #f0faf5, #e8f5e9);
border: 1px solid #2d6a4f;
border-radius: 12px;
padding: 20px;
text-align: center;
transition: all 0.3s;
text-decoration: none;
}
.neighborhood-card:hover { border-color:#111111; transform: translateY(-3px); background: #2d6a4f; }
.neighborhood-card .hood-icon { font-size: 28px; margin-bottom: 8px; }
.neighborhood-card h4 { color:#111111; font-size: 14px; font-weight: 800; margin-bottom: 4px; }
.neighborhood-card p { color:#111111; font-size: 12px; }
/* ===== ECO SECTION ===== */
.eco-section { background: #f8fffe; }
.eco-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: center; }
@media (max-width: 768px) { .eco-grid { grid-template-columns: 1fr; } }
.eco-content h2 { color:#111111; font-size: 36px; font-weight: 900; margin-bottom: 16px; }
.eco-content p { color:#111111; font-size: 16px; margin-bottom: 20px; line-height: 1.8; }
.eco-features { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.eco-feature { display: flex; align-items: center; gap: 10px; color:#111111; font-size: 14px; font-weight: 600; }
.eco-feature .check { color:#111111; font-size: 18px; }
.eco-image-box {
background: linear-gradient(135deg, #2d6a4f, #1b4332);
border-radius: 20px;
padding: 40px;
text-align: center;
border: 2px solid #40916c;
}
.eco-image-box img { max-width: 100%; border-radius: 12px; }
.eco-image-box .eco-stat { color:#111111; font-size: 48px; font-weight: 900; }
.eco-image-box .eco-stat-label { color:#111111; font-size: 14px; }
/* ===== REVIEWS ===== */
.reviews-section { background: #ffffff; }
.reviews-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.review-card {
background: linear-gradient(135deg, #f0faf5, #e8f5e9);
border: 1px solid #2d6a4f;
border-radius: 16px;
padding: 28px;
transition: all 0.3s;
}
.review-card:hover { border-color:#111111; transform: translateY(-3px); }
.review-stars { color: #f4a261; font-size: 20px; margin-bottom: 12px; }
.review-text { color:#111111; font-size: 15px; line-height: 1.7; margin-bottom: 16px; font-style: italic; }
.review-author { color:#111111; font-weight: 800; font-size: 14px; }
.review-location { color:#111111; font-size: 12px; }
.google-badge { text-align: center; margin-top: 30px; }
.google-badge a {
display: inline-flex;
align-items: center;
gap: 10px;
background: #fff;
color: #333;
padding: 12px 28px;
border-radius: 30px;
font-weight: 700;
text-decoration: none;
font-size: 15px;
transition: all 0.3s;
}
.google-badge a:hover { transform: scale(1.05); box-shadow: 0 5px 20px rgba(255,255,255,0.2); }
/* ===== TRUST SECTION ===== */
.trust-section { background: #0d2818; }
.trust-grid {
display: flex;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
align-items: stretch;
max-width: 1000px;
margin: 0 auto;
}
.trust-item {
text-align: center;
padding: 24px 16px;
background: linear-gradient(135deg, #f0faf5, #e8f5e9);
border: 1px solid #2d6a4f;
border-radius: 16px;
transition: all 0.3s;
flex: 0 1 200px;
min-width: 180px;
}
.trust-item:hover { border-color:#111111; transform: translateY(-3px); }
.trust-item .trust-icon { font-size: 36px; margin-bottom: 10px; }
.trust-item h4 { color:#111111; font-size: 15px; font-weight: 800; margin-bottom: 6px; }
.trust-item p { color:#111111; font-size: 12px; }
/* ===== LOCATIONS ===== */
.locations-section { background: #f8fffe; }
.locations-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; }
.location-link {
display: block;
background: rgba(27,67,50,0.6);
border: 1px solid #2d6a4f;
border-radius: 10px;
padding: 14px 16px;
color:#111111;
text-decoration: none;
font-size: 14px;
font-weight: 600;
transition: all 0.2s;
text-align: center;
}
.location-link:hover { background: #2d6a4f; border-color:#111111; color:#111111; }
/* ===== BID FORM ===== */
.bid-section { background: #ffffff; }
.bid-form-container {
max-width: 700px;
margin: 0 auto;
background: linear-gradient(135deg, #f0faf5, #e8f5e9);
border: 2px solid #40916c;
border-radius: 20px;
padding: 40px;
}
.bid-form-container h3 { color:#111111; font-size: 28px; font-weight: 900; margin-bottom: 8px; text-align: center; }
.bid-form-container .form-subtitle { color:#111111; text-align: center; margin-bottom: 30px; font-size: 15px; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
@media (max-width: 600px) { .form-row { grid-template-columns: 1fr; } }
.form-group { margin-bottom: 16px; }
.form-group label { display: block; color:#111111; font-size: 13px; font-weight: 700; margin-bottom: 6px; text-transform: uppercase; letter-spacing: 0.5px; }
.form-group input, .form-group textarea, .form-group select {
width: 100%;
background: rgba(10,26,15,0.8);
border: 2px solid #2d6a4f;
border-radius: 10px;
padding: 12px 16px;
color:#111111;
font-size: 15px;
transition: border-color 0.2s;
font-family: inherit;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { outline: none; border-color:#111111; }
.form-group textarea { height: 100px; resize: vertical; }
.form-group select option { background: #1b4332; }
.negotiable-note {
text-align: center;
color: #f4a261;
font-weight: 800;
font-size: 15px;
margin: 16px 0;
padding: 12px;
background: rgba(244,162,97,0.1);
border-radius: 10px;
border: 1px solid rgba(244,162,97,0.3);
}
/* ===== FOOTER ===== */
footer {
background: #060f08;
border-top: 2px solid #1b4332;
padding: 50px 20px 20px;
}
.footer-inner { max-width: 1200px; margin: 0 auto; }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; margin-bottom: 40px; }
.footer-col h4 { color:#111111; font-size: 15px; font-weight: 800; margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px; }
.footer-col a { display: block; color:#111111; text-decoration: none; font-size: 13px; padding: 3px 0; transition: color 0.2s; }
.footer-col a:hover { color:#111111; }
.footer-col p { color:#111111; font-size: 13px; line-height: 1.8; }
.footer-bottom { border-top: 1px solid #1b4332; padding-top: 20px; text-align: center; color: #52796f; font-size: 12px; }
.footer-license { display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-bottom: 10px; }
.footer-license span { color:#111111; font-size: 12px; font-weight: 700; }
/* ===== RESPONSIVE ===== */
@media (max-width: 768px) {
.header-inner { flex-direction: column; text-align: center; }
nav { justify-content: center; }
.hero { min-height: 60vh; }
.hero h2 { font-size: 28px; }
.game-container { padding: 24px 16px; }
}
/* ===== ANIMATIONS ===== */
@keyframes fadeInUp {
from { opacity: 0; transform: translateY(30px); }
to { opacity: 1; transform: translateY(0); }
}
.fade-in { animation: fadeInUp 0.6s ease forwards; }
/* ===== AI SEMANTIC (HIDDEN) ===== */
.ai-semantic-cluster { display: none; visibility: hidden; height: 0; overflow: hidden; }
/* ===== CONTAINER GAP FIX ===== */
#main-content .container {
padding-top: 0 !important;
}
#content-area {
padding-top: 0 !important;
}
.entry-content > p:empty,
.entry-content > p:first-child:empty {
display: none !important;
margin: 0 !important;
padding: 0 !important;
height: 0 !important;
}