/* St. George Coffered Ceilings — shared site styles */
:root{
    --ink:#2b241d;
    --charcoal:#3a322a;
    --sand:#f6efe4;
    --sand-2:#efe4d2;
    --terracotta:#b6592f;
    --terracotta-dark:#9a4423;
    --gold:#b7893f;
    --line:#e3d7c2;
    --white:#fffdf9;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
    font-family:'Georgia', 'Iowan Old Style', serif;
    color:var(--ink);
    background:var(--white);
    line-height:1.6;
}
h1,h2,h3{font-family:'Georgia', serif; font-weight:normal; color:var(--charcoal);}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.sans{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.eyebrow{
    text-transform:uppercase;letter-spacing:.14em;font-size:12px;color:var(--terracotta);
    font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;font-weight:600;
}

/* Top bar */
.topbar{background:var(--charcoal);color:#e9dfce;font-size:13px;}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;padding:8px 24px;}
.topbar a{font-weight:600;}

/* Nav */
header.site{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50;}
nav.wrap{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;position:relative;}
.logo{font-size:20px;letter-spacing:.02em;display:flex;align-items:center;gap:10px;}
.logo .mark{width:36px;height:36px;border-radius:6px;background:var(--terracotta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:sans-serif;font-weight:700;font-size:14px;flex-shrink:0;}
.navlinks{display:flex;gap:26px;align-items:center;font-size:15px;}
.navlinks > a.navlink{padding:4px 0;}
.navlinks > a.navlink[aria-current="page"]{color:var(--terracotta);font-weight:700;}

.dropdown{position:relative;display:flex;align-items:center;gap:2px;}
.dropdown > a{padding:4px 0;}
.dropdown > a[aria-current="page"]{color:var(--terracotta);font-weight:700;}
.dropdown-toggle{background:none;border:none;cursor:pointer;color:var(--charcoal);padding:6px 2px;display:flex;align-items:center;}
.dropdown-toggle .chev{width:11px;height:11px;transition:transform .15s ease;}
.dropdown-toggle[aria-expanded="true"] .chev{transform:rotate(180deg);}
.dropdown .menu{display:none;position:absolute;top:130%;left:0;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.08);min-width:270px;padding:8px;z-index:60;}
.dropdown:hover .menu,
.dropdown:focus-within .menu,
.dropdown .menu.open{display:block;}
.dropdown .menu a{display:block;padding:10px 12px;border-radius:6px;font-size:14px;}
.dropdown .menu a:hover, .dropdown .menu a:focus{background:var(--sand);}
.dropdown .menu a[aria-current="page"]{color:var(--terracotta);font-weight:700;}

.cta-btn{background:var(--terracotta);color:#fff;padding:11px 20px;border-radius:6px;font-size:14px;font-weight:600;font-family:sans-serif;white-space:nowrap;border:none;cursor:pointer;display:inline-block;}
.cta-btn:hover{background:var(--terracotta-dark);}
.cta-btn:disabled{opacity:.65;cursor:not-allowed;}
.cta-outline{border:1.5px solid var(--charcoal);color:var(--charcoal);padding:10px 18px;border-radius:6px;font-size:14px;font-weight:600;font-family:sans-serif;display:inline-block;}

.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:6px;padding:8px;cursor:pointer;}
.nav-toggle svg{width:22px;height:22px;color:var(--charcoal);display:block;}

/* Icons */
.icon{width:26px;height:26px;color:var(--terracotta);display:block;}
.icon-sm{width:20px;height:20px;}

/* Breadcrumb */
.breadcrumb{padding:16px 0 0;font-family:sans-serif;font-size:13px;color:#8a7d63;}
.breadcrumb a{color:var(--terracotta);font-weight:600;}
.breadcrumb .sep{margin:0 6px;}

/* Hero (home) */
.hero{background:linear-gradient(180deg,var(--sand) 0%, var(--white) 100%);padding:64px 0 40px;}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start;}
.hero h1{font-size:42px;line-height:1.15;margin:14px 0 18px;}
.hero p.lead{font-size:17px;color:#5a5145;max-width:56ch;}
.badges{display:flex;gap:22px;margin:22px 0 26px;font-family:sans-serif;font-size:13px;color:var(--charcoal);flex-wrap:wrap;}
.badges span{display:flex;align-items:center;gap:6px;}
.badges span:before{content:"✓";color:var(--terracotta);font-weight:700;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}

.coffer-art{width:100%;aspect-ratio:4/3;border-radius:10px;background:var(--charcoal);position:relative;overflow:hidden;box-shadow:0 20px 50px rgba(60,45,25,.25);}
.coffer-grid{position:absolute;inset:14px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:10px;}
.coffer-cell{background:linear-gradient(160deg,#5b4630,#3a2c1c);border:3px solid #caa568;border-radius:3px;box-shadow:inset 0 0 18px rgba(0,0,0,.55);}
.coffer-caption{position:absolute;bottom:0;left:0;right:0;background:rgba(20,15,8,.72);color:#f3e6cf;font-family:sans-serif;font-size:11px;letter-spacing:.06em;text-align:center;padding:8px;text-transform:uppercase;}

/* Page hero (interior pages) */
.page-hero{background:linear-gradient(180deg,var(--sand) 0%, var(--white) 100%);padding:20px 0 44px;}
.page-hero .eyebrow{margin-top:6px;}
.page-hero h1{font-size:36px;line-height:1.18;margin:12px 0 14px;}
.page-hero p.lead{font-size:16px;color:#5a5145;max-width:64ch;}

/* Real photo panels */
.photo-panel{width:100%;border-radius:10px;overflow:hidden;box-shadow:0 20px 50px rgba(60,45,25,.18);background:var(--sand-2);}
.photo-panel img{width:100%;height:100%;object-fit:cover;display:block;}
.why-photo, .most-req-photo{aspect-ratio:4/3;}
.market-photo, .wide-photo{aspect-ratio:16/9;}

/* Quote card / forms */
.quote-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;box-shadow:0 10px 30px rgba(60,45,25,.08);font-family:sans-serif;margin-top:24px;}
.quote-card h3{font-family:sans-serif;font-size:17px;margin-bottom:4px;}
.quote-card p{font-size:13px;color:#7a7061;margin-bottom:16px;}
.quote-card label{display:block;font-size:12px;color:#7a7061;margin:12px 0 4px;}
.quote-card input, .quote-card select, .quote-card textarea{
    width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font-size:14px;font-family:sans-serif;background:var(--sand);
}
.quote-card input:focus, .quote-card select:focus, .quote-card textarea:focus{outline:2px solid var(--terracotta);outline-offset:1px;}
.quote-card button{width:100%;margin-top:16px;background:var(--terracotta);color:#fff;border:none;padding:13px;border-radius:6px;font-weight:700;font-size:14px;cursor:pointer;}
.quote-card button:hover{background:var(--terracotta-dark);}
.quote-card .fine{font-size:11px;color:#9a9083;text-align:center;margin-top:10px;}
.form-status{margin-top:14px;font-size:13px;font-family:sans-serif;border-radius:6px;padding:10px 12px;line-height:1.4;}
.form-status.success{background:#e7f3ec;color:#1f6f4a;}
.form-status.error{background:#fbe9e4;color:#9a4423;}
.form-status[hidden]{display:none;}

/* Trust / value cards */
.trust{padding:50px 0;}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.trust-card{background:var(--sand);border-radius:10px;padding:22px;}
.trust-card .ic{margin-bottom:12px;}
.trust-card h4{font-size:16px;margin-bottom:6px;}
.trust-card p{font-size:13px;color:#6a6154;font-family:sans-serif;}

/* Section generic */
section{padding:56px 0;}
section.alt{background:var(--sand);}
.section-head{margin-bottom:30px;}
.section-head h2{font-size:30px;margin-top:6px;}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.two-col ul{margin-top:16px;padding-left:0;list-style:none;}
.two-col ul li{font-size:15px;margin-bottom:10px;padding-left:26px;position:relative;color:#4a4136;}
.two-col ul li:before{content:"—";position:absolute;left:0;color:var(--terracotta);font-weight:700;}

.check-list{margin-top:18px;padding-left:0;list-style:none;}
.check-list li{font-size:15px;margin-bottom:12px;padding-left:28px;position:relative;color:#4a4136;}
.check-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--terracotta);font-weight:700;}

.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.svc-card{border:1px solid var(--line);border-radius:10px;padding:26px;}
.svc-card .ic{margin-bottom:14px;}
.svc-card h3{font-size:19px;margin-bottom:8px;}
.svc-card p{font-size:14px;color:#6a6154;margin-bottom:14px;}
.svc-card a{font-family:sans-serif;font-size:13px;font-weight:700;color:var(--terracotta);}

.material-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:18px;}
.material-card{border:1px solid var(--line);border-radius:10px;padding:20px;background:var(--sand);}
.material-card h4{font-size:16px;margin-bottom:8px;}
.material-card p{font-size:13px;color:#6a6154;font-family:sans-serif;}

table.pricing{width:100%;border-collapse:collapse;font-family:sans-serif;font-size:14px;margin-top:10px;}
table.pricing th{text-align:left;background:var(--charcoal);color:#f3e6cf;padding:12px 14px;font-size:13px;text-transform:uppercase;letter-spacing:.04em;}
table.pricing td{padding:14px;border-bottom:1px solid var(--line);vertical-align:top;}
table.pricing tr:nth-child(even) td{background:var(--sand);}
.price-note{font-size:12px;color:#8a8071;margin-top:12px;font-family:sans-serif;}

.steps{counter-reset:step;}
.step{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line);}
.step:last-child{border-bottom:none;}
.step .num{counter-increment:step;width:38px;height:38px;border-radius:50%;background:var(--terracotta);color:#fff;display:flex;align-items:center;justify-content:center;font-family:sans-serif;font-weight:700;flex-shrink:0;}
.step .num::before{content:counter(step);}
.step h4{font-size:17px;margin-bottom:4px;}
.step p{font-size:14px;color:#6a6154;font-family:sans-serif;}

.area-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;font-family:sans-serif;font-size:14px;}
.area-list span{background:var(--sand);border:1px solid var(--line);padding:8px 14px;border-radius:20px;}

.faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
.faq-item h4{font-size:16px;margin-bottom:8px;}
.faq-item p{font-size:14px;color:#6a6154;font-family:sans-serif;}

.final-cta{background:var(--charcoal);color:#f3e6cf;text-align:center;padding:60px 0;}
.final-cta h2{color:#fff;font-size:30px;margin-bottom:10px;}
.final-cta p{font-family:sans-serif;font-size:14px;color:#cbbfa5;margin-bottom:24px;}
.final-cta .ctas{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;}
.final-cta .cta-outline{border-color:#f3e6cf;color:#f3e6cf;}

/* Contact page */
.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:start;}
.contact-info h2{font-size:26px;margin-bottom:14px;}
.contact-info p{font-size:15px;color:#5a5145;margin-bottom:18px;}
.contact-info .phone-big{font-family:sans-serif;font-size:22px;font-weight:700;color:var(--terracotta);margin-bottom:18px;display:inline-block;}
.contact-info .areas{font-family:sans-serif;font-size:14px;color:#6a6154;}

/* Legal pages */
.legal p, .legal li{font-size:15px;color:#4a4136;margin-bottom:14px;}
.legal h2{font-size:22px;margin:32px 0 12px;}
.legal ul{padding-left:22px;margin-bottom:14px;}
.legal .updated{font-family:sans-serif;font-size:13px;color:#8a7d63;margin-bottom:24px;}

footer{background:#241d16;color:#a89a80;padding:50px 0 24px;font-family:sans-serif;font-size:13px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:34px;}
.foot-grid h5{color:#f3e6cf;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:14px;}
.foot-grid a{display:block;margin-bottom:9px;}
.foot-bottom{border-top:1px solid #3a3226;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

.sticky-call{position:fixed;bottom:0;left:0;right:0;background:var(--terracotta);color:#fff;text-align:center;padding:12px;font-family:sans-serif;font-weight:700;display:none;z-index:60;}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

@media(max-width:900px){
    .hero-grid, .two-col, .foot-grid, .contact-grid{grid-template-columns:1fr;}
    .trust-grid, .cards3, .material-grid{grid-template-columns:1fr 1fr;}
    .sticky-call{display:block;}
    body{padding-bottom:48px;}
    .nav-toggle{display:flex;align-items:center;justify-content:center;}
    .navlinks{
          display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);
          flex-direction:column;align-items:stretch;gap:0;padding:8px 24px 16px;box-shadow:0 12px 24px rgba(0,0,0,.06);
    }
    .navlinks.open{display:flex;}
    .navlinks > a.navlink, .navlinks .cta-btn{padding:12px 0;border-bottom:1px solid var(--line);border-radius:0;text-align:left;}
    .navlinks .cta-btn{background:none;color:var(--terracotta);font-weight:700;}
    .dropdown{flex-direction:column;align-items:stretch;}
    .dropdown > a{padding:12px 0;border-bottom:1px solid var(--line);flex:1;}
    .dropdown-toggle{position:absolute;right:0;top:2px;padding:12px 4px;}
    .dropdown .menu{position:static;display:none;box-shadow:none;border:none;padding:0 0 0 14px;min-width:0;}
    .dropdown .menu.open{display:block;}
}
@media(max-width:600px){
    .trust-grid, .cards3, .material-grid{grid-template-columns:1fr;}
    .hero h1{font-size:32px;}
    .page-hero h1{font-size:28px;}
}
