/* ==========================================================
   DB BUILDERS — CORE BRAND STYLESHEET
   Industrial-Modern | Bold Typography | Gold + Steel
   ========================================================== */

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600;700&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;1,400&display=swap');

:root {
    --db-gold:       #C8922A;
    --db-gold-light: #E5A83A;
    --db-gold-dark:  #A07320;
    --db-steel:      #1A1F2E;
    --db-steel-mid:  #252B3B;
    --db-text-dark:  #1A1F2E;
    --db-text-mid:   #4A5068;
    --db-text-light: #F0EFE9;
    --db-white:      #FFFFFF;
    --db-off-white:  #F7F5F0;
    --db-border:     #E2DDD5;
    --db-radius:     4px;
    --db-radius-lg:  8px;
    --db-shadow:     0 4px 24px rgba(26,31,46,0.12);
    --db-font-head:  'Oswald', sans-serif;
    --db-font-body:  'Source Sans 3', sans-serif;
    --db-transition: all 0.25s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--db-font-body);font-size:17px;line-height:1.7;color:var(--db-text-dark);background:var(--db-off-white);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--db-gold-dark);text-decoration:none;transition:var(--db-transition)}
a:hover{color:var(--db-gold)}
h1,h2,h3,h4,h5{font-family:var(--db-font-head);font-weight:700;line-height:1.15;letter-spacing:0.02em;color:var(--db-text-dark)}
p{margin-bottom:1rem}

.db_page_container{display:flex;flex-direction:column;min-height:100vh}

/* HEADER */
.db_header{position:sticky;top:0;z-index:1000;background:var(--db-steel);display:flex;align-items:center;padding:0 40px;height:72px;box-shadow:0 2px 16px rgba(0,0,0,0.4)}
.db_header_logo a{display:flex;align-items:center}
.db_logo_img{height:80px;width:auto;filter:brightness(0) invert(1)}
.db_header_nav{margin-left:auto}
.db_nav_list{list-style:none;display:flex;align-items:center;gap:2px}
.db_nav_link{font-family:var(--db-font-head);font-size:14px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:rgba(240,239,233,0.8)!important;padding:8px 14px;border-radius:var(--db-radius);text-decoration:none!important;transition:var(--db-transition);border-bottom:2px solid transparent}
.db_nav_link:hover{color:var(--db-gold-light)!important;background:rgba(200,146,42,0.1)}
.db_nav_active{color:var(--db-gold-light)!important;border-bottom-color:var(--db-gold)}
.db_nav_cta{background:var(--db-gold);color:var(--db-steel)!important;padding:8px 20px;border-radius:var(--db-radius);font-weight:600;margin-left:10px}
.db_nav_cta:hover{background:var(--db-gold-light);color:var(--db-steel)!important;transform:translateY(-1px);box-shadow:0 4px 12px rgba(200,146,42,0.4)}

/* MOBILE */
.db_mobile_menu_checkbox{display:none}
.db_mobile_menu_button{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px;margin-left:auto;z-index:1100}
.db_mobile_menu_button span{display:block;width:26px;height:2px;background:var(--db-text-light);transition:var(--db-transition);border-radius:2px}
.db_mobile_menu{display:none;position:fixed;top:0;right:-320px;width:280px;height:100vh;background:var(--db-steel);padding:100px 32px 40px;flex-direction:column;gap:4px;z-index:1050;transition:right 0.3s ease;box-shadow:-4px 0 24px rgba(0,0,0,0.4)}
.db_mobile_menu .db_nav_link{display:block;font-size:18px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,0.08);border-radius:0}
.db_mobile_menu_backdrop{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:1040}
.db_mobile_menu_checkbox:checked ~ .db_mobile_menu_button span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.db_mobile_menu_checkbox:checked ~ .db_mobile_menu_button span:nth-child(2){opacity:0}
.db_mobile_menu_checkbox:checked ~ .db_mobile_menu_button span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}
.db_mobile_menu_checkbox:checked ~ .db_mobile_menu{right:0;display:flex}
.db_mobile_menu_checkbox:checked ~ .db_mobile_menu_backdrop{display:block}

/* HERO */
.db_home_hero{position:relative;min-height:92vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:80px 80px 80px 10%;overflow:hidden;background:var(--db-steel)}
.db_home_hero::before{content:'';position:absolute;inset:0;background:url('../img/ButteCityViewWithOverlay.webp') center/cover no-repeat;opacity:0.18;z-index:0}
.db_home_hero::after{content:'';position:absolute;left:0;top:0;width:6px;height:100%;background:var(--db-gold);z-index:1}
.db_home_hero > *{position:relative;z-index:2}
.db_home_hero h1{font-size:clamp(2.8rem,6vw,5.5rem);color:var(--db-white);line-height:1.05;max-width:780px;margin-bottom:8px}
.db_hero_rule{width:80px;height:4px;background:var(--db-gold);border:none;margin:20px 0}
.db_home_hero p{font-size:clamp(1.05rem,2vw,1.3rem);color:rgba(240,239,233,0.75);max-width:580px;margin-bottom:40px;font-weight:300;letter-spacing:0.02em}
.db_hero_buttons{display:flex;gap:16px;flex-wrap:wrap}

/* BUTTONS */
.db_btn_primary,.db_btn_secondary,.db_btn_white{display:inline-block;font-family:var(--db-font-head);font-size:14px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none!important;padding:14px 32px;border-radius:var(--db-radius);transition:var(--db-transition);border:2px solid transparent;cursor:pointer}
.db_btn_primary{background:var(--db-gold);color:var(--db-steel)!important;border-color:var(--db-gold)}
.db_btn_primary:hover{background:var(--db-gold-light);border-color:var(--db-gold-light);transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,146,42,0.4);color:var(--db-steel)!important}
.db_btn_secondary{background:transparent;color:var(--db-white)!important;border-color:rgba(255,255,255,0.5)}
.db_btn_secondary:hover{background:rgba(255,255,255,0.1);border-color:var(--db-white);color:var(--db-white)!important;transform:translateY(-2px)}
.db_btn_white{background:var(--db-white);color:var(--db-steel)!important;border-color:var(--db-white)}
.db_btn_white:hover{background:var(--db-gold);border-color:var(--db-gold);color:var(--db-steel)!important;transform:translateY(-2px)}
.db_btn_outline{display:inline-block;font-family:var(--db-font-head);font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none!important;padding:10px 24px;border-radius:var(--db-radius);border:2px solid var(--db-gold);color:var(--db-gold-dark)!important;transition:var(--db-transition)}
.db_btn_outline:hover{background:var(--db-gold);color:var(--db-steel)!important}

/* SECTIONS */
.db_section{padding:96px 32px;max-width:1200px;margin:0 auto;width:100%}
.db_section_dark{background:var(--db-steel);padding:96px 32px}
.db_section_dark_inner{max-width:1200px;margin:0 auto}
.db_section_alt{background:var(--db-white);padding:96px 32px}
.db_section_alt_inner{max-width:1200px;margin:0 auto}
.db_section_label{font-family:var(--db-font-head);font-size:12px;font-weight:600;letter-spacing:0.2em;text-transform:uppercase;color:var(--db-gold);margin-bottom:12px;display:block}
.db_section_title{font-size:clamp(2rem,4vw,3rem);color:var(--db-text-dark);margin-bottom:20px}
.db_section_title_light{font-size:clamp(2rem,4vw,3rem);color:var(--db-white);margin-bottom:20px}
.db_section_rule{width:60px;height:3px;background:var(--db-gold);border:none;margin-bottom:40px}
.db_section_intro{font-size:1.1rem;color:var(--db-text-mid);max-width:660px;margin-bottom:56px;line-height:1.8}
.db_section_intro_light{font-size:1.1rem;color:rgba(240,239,233,0.72);max-width:660px;margin-bottom:56px;line-height:1.8}

/* STATS STRIP */
.db_stats_strip{background:var(--db-gold);padding:48px 32px}
.db_stats_inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;text-align:center}
.db_stat_number{font-family:var(--db-font-head);font-size:3rem;font-weight:700;color:var(--db-steel);line-height:1;display:block}
.db_stat_label{font-family:var(--db-font-head);font-size:12px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(26,31,46,0.7);margin-top:6px;display:block}

/* SERVICES */
.db_services_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--db-border)}
.db_service_card{background:var(--db-white);padding:48px 40px;transition:var(--db-transition);position:relative;overflow:hidden}
.db_service_card::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:var(--db-gold);transition:height 0.3s ease}
.db_service_card:hover{background:var(--db-off-white);transform:translateY(-4px);box-shadow:var(--db-shadow);z-index:1}
.db_service_card:hover::before{height:100%}
.db_service_icon{font-size:2.2rem;margin-bottom:20px;display:block}
.db_service_card h3{font-size:1.35rem;margin-bottom:12px}
.db_service_card p{color:var(--db-text-mid);font-size:0.95rem;line-height:1.7;margin-bottom:24px}
.db_service_btn{font-family:var(--db-font-head);font-size:13px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--db-gold-dark)!important;text-decoration:none;border-bottom:2px solid var(--db-gold);padding-bottom:2px;transition:var(--db-transition);display:inline-block}
.db_service_btn:hover{color:var(--db-gold)!important}

/* FEATURES */
.db_features_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px}
.db_feature_card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);padding:36px 28px;border-radius:var(--db-radius-lg);transition:var(--db-transition)}
.db_feature_card:hover{background:rgba(200,146,42,0.1);border-color:rgba(200,146,42,0.3);transform:translateY(-4px)}
.db_feature_icon{font-size:2rem;margin-bottom:16px;display:block}
.db_feature_title{font-family:var(--db-font-head);font-size:1.1rem;font-weight:600;color:var(--db-white);margin-bottom:8px}
.db_feature_text{font-size:0.9rem;color:rgba(240,239,233,0.62);line-height:1.6;margin:0}

/* GALLERY */
.db_gallery_flex{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.db_gallery_grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px;max-width:1200px;margin:0 auto;padding:0 32px}
.db_gallery_item{display:block;overflow:hidden;border-radius:var(--db-radius)}
.db_gallery_item img{width:100%;height:260px;object-fit:cover;transition:transform 0.4s ease;display:block}
.db_gallery_item:hover img{transform:scale(1.06)}

/* CTA */
.db_home_cta{background:var(--db-steel);padding:96px 32px;text-align:center;position:relative;overflow:hidden}
.db_home_cta::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:100px;height:4px;background:var(--db-gold)}
.db_home_cta h2{font-size:clamp(2rem,4vw,3.2rem);color:var(--db-white);margin-bottom:16px}
.db_home_cta p{color:rgba(240,239,233,0.68);font-size:1.1rem;margin-bottom:40px;max-width:540px;margin-left:auto;margin-right:auto}

/* PAGE BANNER */
.db_page_banner{background:var(--db-steel);padding:72px 40px 64px;position:relative}
.db_page_banner::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--db-gold)}
.db_page_banner_inner{max-width:1200px;margin:0 auto}
.db_page_banner h1{font-size:clamp(2.2rem,5vw,3.8rem);color:var(--db-white);margin-bottom:12px}
.db_page_banner p{font-size:1.1rem;color:rgba(240,239,233,0.68);max-width:580px;margin:0}

/* LEGACY COMPAT */
.db_headline_container,.db_banner_about{background:var(--db-steel);padding:64px 40px}
.db_headline_text{font-family:var(--db-font-head);font-size:clamp(2rem,4vw,3.2rem);color:var(--db-white);margin:0}
.db_page_content_container{padding:0 16px}

/* CONTACT & FORMS */
.db_contact_layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.db_contact_info_block h3{font-family:var(--db-font-head);font-size:12px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--db-gold-dark);margin-bottom:6px;margin-top:28px}
.db_contact_info_block h3:first-child{margin-top:0}
.db_contact_info_block p{font-size:1.05rem;color:var(--db-text-mid);margin-bottom:0}
.db_contact_info_block a{color:var(--db-text-mid);transition:var(--db-transition)}
.db_contact_info_block a:hover{color:var(--db-gold-dark)}
.db_form_card{background:var(--db-white);padding:48px;border-radius:var(--db-radius-lg);box-shadow:var(--db-shadow)}
.db_form_card h3{font-size:1.6rem;margin-bottom:28px}
.db_form_group{margin-bottom:20px}
.db_form_group label{display:block;font-family:var(--db-font-head);font-size:12px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--db-text-mid);margin-bottom:7px}
.db_form_group input,.db_form_group select,.db_form_group textarea{width:100%;padding:13px 16px;border:2px solid var(--db-border);border-radius:var(--db-radius);font-family:var(--db-font-body);font-size:16px;color:var(--db-text-dark);background:var(--db-off-white);transition:var(--db-transition);outline:none;appearance:none}
.db_form_group input:focus,.db_form_group select:focus,.db_form_group textarea:focus{border-color:var(--db-gold);background:var(--db-white);box-shadow:0 0 0 3px rgba(200,146,42,0.15)}
.db_form_group textarea{resize:vertical;min-height:130px}
.db_form_submit{width:100%;padding:16px;background:var(--db-gold);color:var(--db-steel);font-family:var(--db-font-head);font-size:15px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;border:none;border-radius:var(--db-radius);cursor:pointer;transition:var(--db-transition)}
.db_form_submit:hover{background:var(--db-gold-light);transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,146,42,0.4)}

/* ABOUT */
.db_about_grid{display:grid;grid-template-columns:1fr 340px;gap:80px;align-items:center}
.db_about_text h2{font-size:2rem;margin-bottom:20px}
.db_about_text p{color:var(--db-text-mid);font-size:1.05rem;line-height:1.8}
.db_about_image_wrap{position:relative;border:3px solid var(--db-gold);border-radius:var(--db-radius-lg);padding:24px;background:var(--db-white);box-shadow:8px 8px 0 var(--db-gold-dark)}
.db_about_image_wrap::before{display:none}
.db_about_image_wrap img{width:100%;display:block;border-radius:var(--db-radius)}

/* FOOTER */
.db_footer{background:var(--db-steel);color:rgba(240,239,233,0.72);font-size:0.9rem;margin-top:auto;border-top:4px solid var(--db-gold)}
.db_footer_inner{max-width:1200px;margin:0 auto;padding:64px 40px 32px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}
.db_footer_col h4{font-family:var(--db-font-head);font-size:12px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--db-gold);margin-bottom:20px}
.db_footer_col p{color:rgba(240,239,233,0.62);line-height:1.7;margin-bottom:6px;font-size:0.9rem}
.db_footer_col a{display:block;color:rgba(240,239,233,0.62);text-decoration:none;margin-bottom:8px;font-size:0.9rem;transition:var(--db-transition)}
.db_footer_col a:hover{color:var(--db-gold-light);padding-left:4px}
.db_footer_bottom{max-width:1200px;margin:0 auto;padding:20px 40px;border-top:1px solid rgba(255,255,255,0.07);display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;color:rgba(240,239,233,0.38)}
.db_footer_social{display:flex;gap:16px;align-items:center}
.db_footer_social img{height:32px;width:auto;opacity:0.85;transition:var(--db-transition)}
.db_footer_social img:hover{opacity:0.9}

/* FLOATING CTA */
.db_floating_estimate_btn{display:none;position:fixed;bottom:24px;right:24px;background:var(--db-gold);color:var(--db-steel)!important;font-family:var(--db-font-head);font-size:13px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;text-decoration:none!important;padding:14px 24px;border-radius:40px;box-shadow:0 4px 20px rgba(200,146,42,0.5);z-index:999;animation:db_breathe 3s ease-in-out infinite}
@keyframes db_breathe{0%,100%{transform:scale(1);box-shadow:0 4px 20px rgba(200,146,42,0.5)}50%{transform:scale(1.04);box-shadow:0 6px 28px rgba(200,146,42,0.7)}}
.db_floating_estimate_btn.db_breathe_paused{animation-play-state:paused}

/* RESPONSIVE */
@media(max-width:1024px){.db_home_hero{padding:80px 40px}.db_about_grid{grid-template-columns:1fr;gap:48px}.db_contact_layout{grid-template-columns:1fr;gap:48px}.db_footer_inner{grid-template-columns:1fr 1fr;gap:32px}.db_services_grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:768px){.db_header{padding:0 20px;height:64px}.db_header_nav{display:none}.db_mobile_menu_button{display:flex}.db_mobile_menu{display:flex}.db_home_hero{padding:60px 24px;min-height:80vh}.db_section,.db_section_dark,.db_section_alt{padding:64px 20px}.db_gallery_flex{grid-template-columns:1fr 1fr}.db_gallery_grid{grid-template-columns:1fr;padding:0 16px}.db_stats_inner{grid-template-columns:1fr 1fr}.db_footer_inner{grid-template-columns:1fr;padding:48px 24px 24px}.db_footer_bottom{flex-direction:column;gap:8px;text-align:center;padding:20px 24px}.db_floating_estimate_btn{display:block}.db_about_image_wrap::before{display:none}.db_form_card{padding:32px 24px}}
@media(max-width:480px){.db_services_grid{grid-template-columns:1fr}.db_features_grid{grid-template-columns:1fr}.db_gallery_flex{grid-template-columns:1fr}.db_gallery_grid{grid-template-columns:1fr;padding:0 16px}.db_hero_buttons{flex-direction:column}}