/* ===== CSS RESET & INDUSTRIAL MODERN BASE VARIABLES ===== */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,main,menu,nav,output,ruby,section,summary,time,mark,audio,video{
  margin:0;  padding:0;  border:0;  font-size:100%; font:inherit; vertical-align:baseline; box-sizing:border-box;
}
html{box-sizing:border-box;scroll-behavior:smooth;background:#171b1d}
*,*:before,*:after{box-sizing:inherit}
body{line-height:1;font-family:'Roboto',Arial,sans-serif;background-color:#171b1d;color:#EEE;min-height:100vh}

/* ===== BRAND - INDUSTRIAL MODERN VARIABLES ===== */
:root {
  --primary: #164A41;
  --secondary: #F1B24A;
  --accent: #F6F5F3;
  --dark:#171b1d;
  --mid: #26292B;
  --meta: #50545a;
  --metal:#bec2c8;
  --text-main:#EEE;
  --text-invert: #232628;
  --border-gray: #3b4246;
  --shadow-strong:0 6px 20px 0 rgba(0,0,0,0.60);
  --shadow-soft:0 2px 10px 0 rgba(0,0,0,0.28);
  --shadow-card:0 1.5px 11px -2px #181b1c,0 0.5px 2.5px -1.5px #666;
  --radius:12px;
  --duration: 0.25s;
}

/* ===== TYPOGRAPHY ===== */
@import url('https://fonts.googleapis.com/css?family=Montserrat:700,600,500&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,700&display=swap');
h1,h2,h3,h4,h5,h6{font-family:'Montserrat',Arial,sans-serif;font-weight:700;letter-spacing:0.01em;color:var(--accent);text-shadow:1px 1px 0 #151718}
h1{font-size:2.4rem;margin-bottom:20px;}
h2{font-size:1.7rem;margin-bottom:18px;}
h3{font-size:1.2rem;margin-bottom:10px;}
p,li,dd{font-size:1rem;line-height:1.6;color:var(--text-main);margin-bottom:8px;}
ul,ol{margin-left:1.25em;margin-bottom:18px;}
strong{font-weight:600;color:var(--accent);}

/* ===== LAYOUT CONTAINERS & BASE SPACING ===== */
.container{max-width:1180px;margin:0 auto;padding:0 20px;width:100%;}
.content-wrapper{display:flex;flex-direction:column;gap:24px;justify-content:center;}
.section{margin-bottom:60px;padding:40px 20px;background:var(--mid);border-radius:var(--radius);box-shadow:var(--shadow-soft);}

@media (max-width: 768px){
  .section{padding:28px 8px;margin-bottom:32px;}
}

/* ===== HEADER & NAV ===== */
header{
  width:100%;height:70px;background:var(--dark);box-shadow:0 1px 3px #181b1c;
  display:flex;align-items:center;justify-content:space-between;
  position:relative;z-index:101;
  padding:0 20px;
}
.logo img{height:44px;filter: drop-shadow(0 0 2px #26292B);} 
.desktop-nav{display:flex;align-items:center;gap:24px;}
.desktop-nav a{
  color:var(--text-main);text-decoration:none;
  font-family:'Montserrat',Arial,sans-serif;font-size:1rem;font-weight:500;
  letter-spacing:0.02em;padding:8px 0;transition:color var(--duration);
  position:relative;
}
.desktop-nav a:after{
  content:'';display:block;width:0;height:2px;background:var(--secondary);
  transition:width var(--duration);position:absolute;left:0;bottom:0;
}
.desktop-nav a:hover,.desktop-nav a:focus{color:var(--secondary);}
.desktop-nav a:hover:after{width:100%;}
.header-cta-btn {
  margin-left:24px;padding:10px 24px;border-radius:var(--radius);
  background:var(--secondary);color:var(--dark);
  font-weight:600;font-family:'Montserrat',Arial,sans-serif;font-size:1rem;text-decoration:none;
  box-shadow:0 2px 6px 0 rgba(0,0,0,0.18);
  transition:background var(--duration),transform var(--duration);
  border:none;display:inline-block;
}
.header-cta-btn:hover, .header-cta-btn:focus{background:#FACF7C;transform:translateY(-2px);color:#232628;}

@media (max-width:990px){
  .desktop-nav{gap:12px;}
  .header-cta-btn{padding:10px 16px;font-size:0.98rem;}
}
@media (max-width: 768px){
  header{padding:7px 10px;height:58px;}
  .desktop-nav{display:none;}
  .header-cta-btn{display:none;}
}

/* ===== MOBILE BURGER MENU ===== */
.mobile-menu-toggle{
  display:none;position:absolute;top:17px;right:20px;z-index:102;
  width:44px;height:44px;border:0;background:var(--metal);color:var(--dark);
  font-size:2.1rem;border-radius:8px;box-shadow:0 1px 5px #131516;cursor:pointer;
  transition:background var(--duration), color var(--duration);
}
.mobile-menu-toggle:focus,.mobile-menu-toggle:hover{background:var(--secondary);color:var(--dark);}

@media (max-width:768px){
  .mobile-menu-toggle{display:block;}
}

.mobile-menu{
  position:fixed;top:0;left:0;width:100vw;height:100vh;
  background:rgba(18,20,23,0.97);transform:translateX(-100%);
  z-index:999;transition:transform 0.3s cubic-bezier(.87,-.41,.19,1.29);
  display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;
  padding-top:60px;box-shadow:5px 0 40px 0 #0009;
}
.mobile-menu.open{transform:translateX(0);}
.mobile-menu-close{
  position:absolute;top:16px;right:20px;background:var(--metal);color:var(--dark);
  font-size:2rem;border:0;border-radius:6px;
  width:44px;height:44px;cursor:pointer;z-index:1001;
  transition:background var(--duration),color var(--duration);
}
.mobile-menu-close:hover,.mobile-menu-close:focus{background:var(--secondary);color:var(--dark);}
.mobile-nav{display:flex;flex-direction:column;gap:22px;margin-top:15px;width:100%;}
.mobile-nav a{
  color:var(--accent);text-decoration:none;padding:16px 32px 12px 32px;font-size:1.18rem;
  font-family:'Montserrat',Arial,sans-serif;font-weight:500;letter-spacing:0.03em;
  transition:background var(--duration),color var(--duration);
  border-left:4px solid transparent;width:100%;display:block;
}
.mobile-nav a:focus,.mobile-nav a:hover{
  background:var(--mid);color:var(--secondary);border-left:4px solid var(--secondary);
}

@media (min-width:769px){.mobile-menu{display:none !important;}}

/* ===== HERO SECTION/INTRO ===== */
.hero{
  background: linear-gradient(110deg, #171b1d 80%, #232628 100%);
  padding:64px 0 36px 0; margin-bottom:60px; min-height:320px; border-bottom: 4px solid var(--border-gray);
}
.hero .container{
  display:flex;flex-direction:column;align-items:flex-start;gap:24px;
}
.hero .content-wrapper{
  max-width:720px; gap:28px; display:flex; flex-direction:column;align-items:flex-start;
}
.hero h1{font-size:2.6rem;color:var(--secondary);text-shadow:2px 2px 0 #16191a, 0 2px 10px #171b1d}
.hero p{font-size:1.22rem;color:var(--metal);margin-bottom:20px;}
.primary-btn{
  display:inline-block;background:var(--secondary);color:var(--dark);border-radius:var(--radius);padding:13px 30px;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:1.08rem;text-decoration:none;margin-top:12px;box-shadow:var(--shadow-card);transition:background var(--duration),color var(--duration),transform var(--duration),box-shadow var(--duration);
}
.primary-btn:hover,.primary-btn:focus{background:#fad591; color:var(--dark); box-shadow:0 4px 16px var(--secondary); transform:translateY(-2px);}

@media (max-width:768px){
  .hero{padding:36px 0 18px 0;margin-bottom:32px;min-height:170px;}
  .hero .content-wrapper{max-width:100%;gap:14px;}
  .hero h1{font-size:1.5rem;}
  .hero p{font-size:1rem;}
}

/* ===== FEATURES ===== */
.features, .feature-grid, .service-list{
  width:100%; margin-bottom:60px; padding:0;
}
.features .content-wrapper>h2{margin-bottom:16px;}
.feature-grid,
.service-list{
  display:flex;flex-wrap:wrap;gap:24px; justify-content:space-between;
}
.feature-card{
  background:var(--mid);border:1.5px solid var(--border-gray);border-radius:var(--radius); box-shadow:var(--shadow-card);
  flex:1 1 280px;min-width:260px;max-width:340px;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:26px 22px;transition:box-shadow var(--duration),transform var(--duration);margin-bottom:20px;position:relative;
}
.feature-card img{height:48px;width:48px;filter:grayscale(15%) brightness(0.90) drop-shadow(0 1px 3px #151718);margin-bottom:10px;}
.feature-card h3{color:var(--secondary);font-size:1.13rem;letter-spacing:0.01em;margin-bottom:7px;}
.feature-card p{color:var(--metal);font-size:0.99rem;line-height:1.6;}
.feature-card:hover,.feature-card:focus-within{transform:translateY(-3px) scale(1.025);box-shadow:0 4px 20px #0008;z-index:2;}

@media(max-width:1100px){
  .feature-grid, .service-list{gap:16px;}
  .feature-card{min-width:200px;max-width:100%;}
}
@media (max-width:768px){
  .feature-grid, .service-list{flex-direction:column;gap:14px;}
  .feature-card{padding:18px 11px;}
}

/* ===== ABOUT / USP / BADGES / TEXT-SECTIONS ===== */
.about-brief, .usp, .cta-section{
  margin-bottom:60px;padding:40px 20px;background:var(--mid);border-radius:var(--radius);box-shadow:var(--shadow-soft);
}
.about-brief h2, .usp h2, .cta-section h2{margin-bottom:10px;}
.text-section, .infobox{
  background:rgba(40,41,46,0.85); border-radius:8px; padding:18px 16px; box-shadow: 0 2px 10px #181b1c27; margin-bottom:18px;
  font-family:'Roboto',Arial,sans-serif;color:var(--meta);
}
.text-section ul, .text-section ol{margin-left:15px;}
.privacy-notice{
  background:rgba(200,200,200,0.11); padding:9px 14px;border-radius:6px; margin-top:11px;font-size:0.98rem;color:var(--metal);}
.contact-details {margin:10px 0 24px 0;}
.contact-details li{margin-bottom:9px;}
.badge {
  display:inline-block;background:var(--dark);color:var(--secondary);font-weight:700;border:1.5px solid var(--secondary);
  border-radius:7px;padding:7px 16px;font-size:0.97rem;margin-right:12px;box-shadow:0 1px 6px #24282e56;letter-spacing:0.04em;
}
.trust-badges {display:flex;gap:12px;flex-wrap:wrap;margin-top:18px;}
.location-map {background:rgba(24,25,28,0.85);padding:10px 14px;border-radius:8px;margin-top:10px;font-size:0.97rem;color:var(--secondary);}

/* ===== PRICING TABLE ===== */
.pricing-table{
  width:100%;border-collapse:separate;border-spacing:0 0;
  margin:20px 0;background:var(--mid);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card);
}
.pricing-table th,
.pricing-table td{
  padding:13px 18px;font-size:1.03rem;vertical-align:middle;}
.pricing-table th{background:var(--primary);color:var(--accent);font-family:'Montserrat',Arial,sans-serif;font-size:1.07rem;font-weight:600;letter-spacing:0.02em;}
.pricing-table tr{border-bottom:1.5px solid var(--border-gray);}
.pricing-table tr:last-child, .pricing-table tbody tr:last-child{border-bottom:none;}
.pricing-table td{background:rgba(29,31,33,0.84);color:var(--metal);font-family:'Roboto',Arial,sans-serif;}

@media (max-width:600px){
  .pricing-table th,.pricing-table td{padding:9px 7px;}
  .pricing-table {font-size:0.95rem;}
}

/* ===== FAQ ======================== */
.faq-list{margin-bottom:18px;}
.faq-list dt{font-family:'Montserrat',Arial,sans-serif;color:var(--secondary);font-size:1.05rem;font-weight:600; margin:18px 0 6px 0;}
.faq-list dd{margin-left:15px;color:var(--meta);margin-bottom:7px;font-size:1.01rem;}

/* ===== TESTIMONIALS =============== */
.testimonials{margin-bottom:60px;}
.testimonials .content-wrapper>h2{margin-bottom:16px;}
.testimonial-card{
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:20px 27px;background:var(--accent);
  color:var(--text-invert);box-shadow:0 1.5px 10px -2px #282a2c,0 0.5px 2.5px -1.5px #555;border-radius:var(--radius);
  margin-bottom:20px;min-width:200px;max-width:560px;position:relative;
  border-left:7px solid var(--secondary);
  font-family:'Roboto',Arial,sans-serif;
  transition:box-shadow var(--duration),transform var(--duration);overflow-wrap:break-word;
}
.testimonial-card p{color:var(--text-invert);font-size:1.07rem;line-height:1.7;margin-bottom:5px;}
.testimonial-card span{font-size:1rem;color:var(--primary);font-weight:600;letter-spacing:0.04em;}
.testimonial-card:hover,.testimonial-card:focus-within{box-shadow:0 5px 30px #2227;transform:translateY(-2px) scale(1.011);}

@media(max-width:600px){
  .testimonial-card{padding:14px 12px;}
}

/* ===== BUTTONS, LINKS, EFFECTS ===== */
button,.primary-btn,.header-cta-btn{cursor:pointer;outline:none;transition:background var(--duration),color var(--duration),box-shadow var(--duration),transform var(--duration);}
button:focus,.primary-btn:focus,.header-cta-btn:focus{box-shadow:0 0 0 2px var(--secondary);}
a{color:var(--secondary);transition:color var(--duration);}
a:hover,a:focus{color:#FACF7C;text-decoration:underline;}

/* ===== CTA SECTION ===== */
.cta-section{
  background:var(--primary);color:var(--accent);box-shadow:0 2px 9px #1b201b66;
  border-radius:var(--radius);margin-bottom:56px;
}
.cta-section h2{color:var(--secondary);margin-bottom:10px;}
.cta-section p{color:var(--accent);}
.primary-btn{margin-top:12px;border:0;}

/* ===== FOOTER ===== */
footer{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--mid);padding:48px 14px 24px 14px;border-top:5px solid var(--border-gray);margin-top:44px;
}
.footer-nav, .footer-contact, .footer-brand {
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:22px;margin-bottom:18px;font-size:0.98rem;color:var(--metal);
}
.footer-nav a{
  color:var(--meta);text-decoration:none;font-size:0.99rem;font-family:'Montserrat',Arial;transition:color var(--duration);padding:6px 6px;border-radius:4px;
}
.footer-nav a:hover,.footer-nav a:focus{color:var(--secondary);background:rgba(222,155,9,0.06);}
.footer-brand img{height:35px;filter: grayscale(30%) brightness(0.82);margin:8px 18px;}
.footer-contact{flex-direction:column;gap:5px;color:var(--metal);}
.footer-contact a{color:var(--secondary);text-decoration:none;}
.footer-contact a:hover{text-decoration:underline;}
@media(max-width:768px){
  footer{padding:28px 5px 18px 5px;font-size:0.91rem;}
  .footer-nav{gap:14px;margin-bottom:12px;}
  .footer-brand img{height:28px;margin:7px 10px;}
}

/* ======= CARDS / FLEX LAYOUTS / SPACING ======= */
.card-container{display:flex;flex-wrap:wrap;gap:24px;}
.card{margin-bottom:20px;position:relative;box-shadow:var(--shadow-card);background:var(--mid);border-radius:var(--radius);padding:18px 20px;}
.content-grid{display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;}
.text-image-section{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.testimonial-card{display:flex;align-items:center;gap:20px;padding:20px;}
.feature-item{display:flex;flex-direction:column;align-items:flex-start;gap:15px;}

@media(max-width:900px){
  .card-container,.content-grid{gap:16px;}
  .text-image-section{gap:18px;}
}
@media(max-width:768px){
  .content-grid,.card-container{flex-direction:column;gap:11px;}
  .text-image-section{flex-direction:column;align-items:flex-start;gap:12px;}
}

/* All content cards/sections must have minimum 20px margin between them...
   Already enforced above. */

/* ===== FORMS (if added in the future) ===== */
input, select, textarea {
  font-family:'Roboto',Arial,sans-serif;font-size:1rem;border-radius:7px;border:1.2px solid var(--border-gray);
  padding: 8px 12px; margin-bottom:12px;background:var(--meta);color:var(--accent);
  transition:border-color var(--duration),box-shadow var(--duration);
}
input:focus, select:focus, textarea:focus{outline:none;border-color:var(--secondary);box-shadow:0 0 0 1.5px var(--secondary);}

/* ===== INFOBOX ===== */
.infobox{background:var(--meta);color:var(--accent);}
.privacy-notice a{color:var(--secondary);text-decoration:underline;}

/* ======== COOKIE CONSENT BANNER ========== */
.cookie-banner {
  position:fixed;bottom:0;left:0;width:100vw;background:var(--mid);color:var(--accent);
  display:flex;flex-direction:row;align-items:center;gap:24px;justify-content:space-between;padding:18px 30px;
  box-shadow:0 -4px 32px #0007;z-index:1500;transition:transform var(--duration);
  font-size:1.05rem;
  border-top: 3px solid var(--secondary);
}
.cookie-banner.hide{transform:translateY(120%);}
.cookie-banner p{color:var(--accent);margin:0;max-width:400px;}
.cookie-banner .cookie-btns{display:flex;align-items:center;gap:14px;}
.cookie-banner button{
  padding:9px 18px;border-radius:7px;border:0;
  font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:1rem;
  background:var(--secondary);color:var(--dark);margin-right:0;box-shadow:0 1px 5px #15171823;letter-spacing:0.02em;
  transition:background var(--duration),color var(--duration),transform var(--duration);
}
.cookie-banner button:focus,.cookie-banner button:hover{background:#FACF7C;color:var(--dark);}
.cookie-banner .cookie-btns .cookie-settings-btn{
  background: var(--metal);color: var(--dark);margin-left:4px;
}
.cookie-banner .cookie-btns .cookie-settings-btn:hover, .cookie-banner .cookie-btns .cookie-settings-btn:focus {
  background:var(--secondary);color:var(--dark);
}
@media(max-width:700px){
  .cookie-banner{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 10px;font-size:0.98rem;}
  .cookie-banner .cookie-btns{gap:9px;}
}

/* Cookie modal overlay (hidden by default) */
.cookie-modal {
  position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:1550;
  background:rgba(24,27,29,0.85);display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 0.2s;
}
.cookie-modal.open{opacity:1;pointer-events:auto;}
.cookie-modal .modal-content{
  background:var(--accent);color:var(--dark);padding:36px 24px 26px 24px;
  border-radius:var(--radius);box-shadow:0 3px 35px #161b1f96;min-width:320px;max-width:90vw;
  display:flex;flex-direction:column;gap:22px;position:relative;
}
.cookie-modal .modal-content h3{color:var(--primary);margin-bottom:6px;}
.cookie-modal .modal-content label{display:flex;align-items:center;gap:7px;color:var(--dark);font-weight:500;margin-bottom:10px;font-family:'Roboto',Arial,sans-serif;}
.cookie-modal .cookie-modal-close{
  position:absolute;top:13px;right:16px;background:var(--metal);color:var(--primary);border:0;border-radius:8px;width:38px;height:38px;font-size:1.4rem;cursor:pointer;transition:background var(--duration);}
.cookie-modal .cookie-modal-close:hover{background:var(--secondary);color:var(--dark);}
.cookie-modal .cookie-categories{
  display:flex;flex-direction:column;gap:13px;margin-bottom:5px;
}
.cookie-modal .cookie-category-toggle{
  accent-color:var(--secondary);margin-right:5px;
}
.cookie-modal .cookie-category-essential[disabled], .cookie-modal .cookie-category-essential[readonly]{opacity:0.65;cursor:not-allowed;}
.cookie-modal .cookie-actions{display:flex;gap:12px;margin-top:7px;}
.cookie-modal button{
  background:var(--secondary);color:var(--dark);border:0;border-radius:7px;padding:8px 16px;font-size:1rem;font-family:'Montserrat',Arial,sans-serif;font-weight:600;transition:background var(--duration),color var(--duration);box-shadow:0 1px 5px #15171829;}
.cookie-modal button:hover,.cookie-modal button:focus{background:#FACF7C;color:var(--dark);}

@media(max-width:500px){
  .cookie-modal .modal-content{min-width:0;padding:18px 5vw 14px 5vw;font-size:0.965rem;}
}

/* ====== ACCESSIBILITY FOCUS STATES ====== */
:focus-visible{outline:2.5px solid var(--secondary);outline-offset:1.8px;}

/* ======= RESPONSIVE FIXES ====== */
@media (max-width:991px) {
  .container{max-width:98vw;}
}

/* ===== UTILITIES ===== */
.d-none{display:none !important;}
.mt-0{margin-top:0 !important;}
.mt-1{margin-top:8px !important;}
.mb-0{margin-bottom:0 !important;}

/* ===== PRINT (remove backgrounds/shadows) ===== */
@media print {
  body,header,footer,section,.card,.card-container,.feature-card,.cookie-banner,.cookie-modal{
    background:none !important;box-shadow:none !important;color:#111 !important;
  }
}
