/* CSS RESET & NORMALIZE */
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,
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 {
  scroll-behavior:smooth;
  font-size: 16px;
}
body {
  line-height:1.5;
  background-color:#EAEBED;
  color:#243F6E;
  font-family:'Open Sans', Arial, sans-serif;
}
a {
  color:inherit;
  text-decoration:none;
  transition:color 0.2s;
}
ul,ol {
  list-style:none;
}
img {
  max-width:100%;
  display:block;
  border:0;
}
button, input, select, textarea {
  font-family:inherit;
  font-size:inherit;
  color:inherit;
  background: none;
  border: none;
  outline: none;
}
button {
  cursor:pointer;
  transition:box-shadow 0.2s, background 0.2s, color 0.2s;
}

/* BRAND COLORS & TYPOGRAPHY */
:root {
  --primary:#243F6E;
  --secondary:#EAEBED;
  --accent:#E89C13;
  --danger:#ec5755;
  --success:#42d37d;
  --grey:#B7BCC6;
  --white:#fff;
  --black:#14192B;
}

@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&family=Open+Sans:wght@400;600;700&display=swap');

h1,h2,h3,h4,h5,h6 {
  font-family:'Oswald', Arial,sans-serif;
  font-weight:700;
  color:var(--primary);
  letter-spacing: 0.02em;
  margin-bottom:16px;
}
h1 {font-size:2.5rem;line-height:1.12;}
h2 {font-size:2rem;line-height:1.18;}
h3 {font-size:1.375rem;line-height:1.21;}
h4 {font-size:1.125rem;}
h5,h6{font-size:1rem;}
p,li,span,td,th {
  font-family:'Open Sans', Arial,sans-serif;
  font-size:1rem;
  color:var(--black);
}
strong {
  font-weight:600;
  color:var(--primary);
}

/* CONTAINER & SECTIONS */
.container {
  width:100%;
  max-width:1150px;
  margin:0 auto;
  padding-left:20px;
  padding-right:20px;
  display:flex;
  flex-direction:column;
}
.section, section {
  margin-bottom: 60px;
  padding: 40px 20px;
  background: none;
}
.content-wrapper {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

/* HEADER & NAV */
header {
  width:100%;
  background:var(--white);
  box-shadow:0 2px 10px 0 rgba(36,63,110,0.07);
  position:relative;
  z-index:30;
  padding-top:10px;
  padding-bottom:10px;
}
header .container {
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap: 30px;
}
header nav {
  display:flex;
  align-items:center;
  gap:20px;
}
header nav a {
  font-family:'Oswald', Arial,sans-serif;
  font-size:1.05rem;
  font-weight:500;
  color:var(--primary);
  padding:8px 10px;
  border-radius:16px;
  transition:background 0.18s,color 0.18s;
  position:relative;
}
header nav a:hover,header nav a:focus {
  background:var(--accent);
  color:var(--white);
}
header .button.primary {
  margin-left:10px;
}

/* LOGO IN HEADER/FOOTER */
header img,
footer img {
  height:42px;
  width:auto;
  border-radius:8px;
  background:var(--white);
  box-shadow:0 2px 10px 0 rgba(36,63,110,0.07);
  padding:2px 3px;
}

/* MOBILE NAVIGATION */
.mobile-menu-toggle {
  display: none;
  position: fixed;
  top:20px;right:20px;
  z-index:100;
  background: var(--accent);
  color:var(--white);
  border:none;
  width:48px;height:48px;
  font-size:2rem;
  border-radius:12px;
  box-shadow:0 3px 16px 0 rgba(36,63,110,0.18);
  justify-content:center;align-items:center;
  transition:background 0.18s, color 0.18s;
}
.mobile-menu-toggle:active,
.mobile-menu-toggle:focus {
  outline:none;
  background:var(--primary);
}
.mobile-menu {
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  align-items:stretch;
  position:fixed;
  top:0;left:0;
  width:100vw;
  height:100vh;
  background:var(--primary);
  color:var(--white);
  z-index:110;
  transform:translateX(100%);
  transition:transform 0.4s cubic-bezier(0.22,1,0.36,1);
  box-shadow:-1px 0 24px 0 rgba(36,63,110,0.12);
  opacity:0.97;
}
.mobile-menu.active {
  transform:translateX(0);
}
.mobile-menu-close {
  align-self:flex-end;
  background:var(--accent);
  color:var(--white);
  border:none;
  border-radius:12px;
  font-size:2rem;
  width:44px;
  height:44px;
  margin:18px;
  box-shadow:0 2px 8px 0 rgba(232,156,19,0.16);
  transition:background 0.2s;
}
.mobile-menu-close:hover,
.mobile-menu-close:focus {
  background:var(--danger);
}
.mobile-nav {
  display:flex;
  flex-direction:column;
  gap:20px;
  align-items:flex-start;
  margin:32px 28px;
}
.mobile-nav a {
  color:var(--white);
  font-family:'Oswald',Arial,sans-serif;
  font-size:1.3rem;
  padding:12px 4px 12px 0;
  border-radius:10px;
  transition:background 0.18s, color 0.16s, padding 0.16s;
  width:100%;
}
.mobile-nav a:hover,
.mobile-nav a:focus {
  background:var(--accent);
  color:var(--primary);
  padding-left:10px;
}

@media (max-width:1020px){
  header .container {gap:14px;}
  header nav {gap:13px;}
}

@media (max-width:900px){
  header nav{display:none;}
  .mobile-menu-toggle{display:flex;}
  header .button.primary{display:none;}
}

@media (max-width:768px){
  .mobile-menu-toggle{display:flex;}
  .container {padding-left:10px;padding-right:10px;}
  h1{font-size:2rem;}
  h2{font-size:1.2rem;}
  header nav{display:none;}
  .section, section {padding:28px 5px;}
  .content-wrapper{gap:18px;}
}

/* FOOTER */
footer{
  width:100%;
  background:var(--primary);
  color:var(--white);
  margin-top:48px;
  min-height:130px;
  padding:32px 0;
  position:relative;
  z-index:5;
}
footer .container{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
footer .content-wrapper{
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:32px;
}
footer nav{
  display:flex;
  gap:16px;
}
footer nav a{
  font-family:'Oswald', Arial,sans-serif;
  color:var(--accent);
  font-size:1rem;
  margin-right:8px;
  transition:color 0.15s;
  font-weight:500;
}
footer nav a:hover,
footer nav a:focus {
  color:var(--white);
  text-decoration: underline;
}
footer .mini-contact {
  display:flex;
  flex-direction:column;
  gap:8px;
  color:var(--white);
  font-size:0.98rem;
}
footer .mini-contact img{
  width:18px;height:18px;vertical-align:middle;margin-right:7px;
}

@media (max-width:768px){
  footer .content-wrapper{flex-direction:column;gap:15px;align-items:flex-start;}
  footer .mini-contact{align-items:flex-start; font-size:0.92rem;}
  footer .container {flex-direction:column;gap:8px;}
}

/* BUTTONS */
.button {
  font-family:'Oswald', Arial,sans-serif;
  font-size:1.08rem;
  font-weight:600;
  text-transform:uppercase;
  border-radius:22px;
  padding:11px 25px;
  border:none;
  margin:8px 0 0 0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 3px 16px 0 rgba(232,156,19,0.14);
  transition:background 0.2s,box-shadow 0.2s,color 0.2s,transform 0.13s;
  outline:none;
  gap:9px;
  text-shadow: 0 1px 0 rgba(255,255,255,0.08);
}
.button.primary{
  background:var(--accent);
  color:var(--white);
}
.button.primary:hover,
.button.primary:focus{
  background:var(--primary);
  color:var(--accent);
  transform:translateY(-2px) scale(1.045);
}
.button.secondary{
  background:var(--white);
  color:var(--primary);
  border:2px solid var(--accent);
}
.button.secondary:hover,
.button.secondary:focus{
  background:var(--accent);
  color:var(--white);
}
.button:active{
  transform:scale(0.98);
}

/* PLAYFUL_DYNAMIC SHAPES & ANIMATION EFFECTS */
.section, section {
  border-radius:32px;
  box-shadow:0 5px 24px 0 rgba(36,63,110,0.09), 0 2px 8px 0 rgba(232,156,19,0.09);
  position:relative;
  overflow:hidden;
}
@media (max-width:500px){
 .section,section{border-radius:19px; padding:16px 3px;}
}

/* HERO SECTION */
.hero {
  background:var(--accent);
  color:var(--white);
  min-height:300px;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 7px 28px 0 rgba(36,63,110,0.12);
  border-radius:32px;
  animation: hero-pop 1s cubic-bezier(0.22,1,0.36,1) 0.1s forwards;
}
@keyframes hero-pop {
  0% {transform: translateY(-24px) scale(0.98);opacity:0.2;}
  100% {transform: none;opacity:1;}
}
.hero h1{color:var(--white);font-size:2.7rem;line-height:1.09;text-shadow:0 2px 22px rgba(36,63,110,0.19);}
.hero p{color:var(--white);font-size:1.13rem;text-shadow:0 1px 8px rgba(36,63,110,0.09);}
.hero .button.primary {background:var(--white);color:var(--accent);border:none;box-shadow:0 3px 16px 0 rgba(36,63,110,0.14);}
.hero .button.primary:hover {background:var(--primary);color:var(--white);}

@media (max-width:768px){
  .hero{min-height:200px;}
  .hero h1{font-size:1.4rem;}
}

/* FEATURE GRID & ITEMS */
.features{
  background:var(--white);
}
.feature-grid{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:space-between;
  margin-top:20px;
}
.feature-grid li{
  background:var(--secondary);
  border-radius:21px;
  box-shadow:0 4px 16px 0 rgba(232,156,19,0.10);
  flex:1 1 210px;
  min-width:190px;
  max-width:340px;
  padding:24px 20px 22px 20px;
  margin-bottom:20px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:15px;
  position:relative;
  transition:transform 0.16s,box-shadow 0.18s;
  cursor:pointer;
}
.feature-grid li:hover {
  box-shadow:0 8px 32px 0 rgba(232,156,19,0.17),0 3px 16px 0 rgba(36,63,110,0.11);
  transform:translateY(-6px) scale(1.045) rotate(-2deg);
}
.feature-grid img {
  width:42px; height:42px; border-radius:50%; background:var(--accent);box-shadow:0 1px 6px 0 rgba(36,63,110,0.15);
  padding:6px;
}
.feature-grid h3{
  font-size:1.17rem; color:var(--primary);margin-bottom:0;}
.feature-grid p {font-size:1rem;color:var(--black); opacity:0.93;}

/* ABOUT PREVIEW & CTA BUTTON */
.about-preview,.cta, .services-preview{
  background:var(--accent);
  color:var(--white);
  box-shadow:0 4px 26px 0 rgba(36,63,110,0.11);
}
.about-preview h2, .cta h2, .services-preview h2{
  color:var(--white);
}
.about-preview p, .cta p, .services-preview p{color:#fff;}
.about-preview .button,
.cta .button,
.services-preview .button{
  background-color: var(--white);
  color: var(--accent);
  border: none;
  box-shadow:0 2px 10px 0 rgba(36,63,110,0.09);
}
.about-preview .button:hover,
.cta .button:hover,
.services-preview .button:hover{
  background-color: var(--primary);
  color: var(--white);
}

/* SERVICES PREVIEW & LIST */
.services-preview ul{
  display:flex;
  flex-wrap:wrap;
  gap:18px;
  margin-bottom:20px;
  margin-top:12px;
}
.services-preview li{
  background: var(--white);
  color: var(--primary);
  border-radius:18px;
  padding:9px 17px;
  font-family:'Oswald',Arial,sans-serif;
  font-size:1.1rem;
  box-shadow:0 1px 6px 0 rgba(36,63,110,0.14);
  margin-bottom:0;
  font-weight:600;
  letter-spacing:0.01em;
}

/* TESTIMONIALS PREVIEW/SLIDER */
.testimonials-preview{
  background:var(--white);
}
.testimonial-slider{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:flex-start;
  align-items:center;
  margin-bottom:28px;
}
.testimonial-card {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  background:var(--secondary);
  border-radius:22px;
  box-shadow:0 3px 12px 0 rgba(36,63,110,0.09);
  padding:20px 28px 16px 20px;
  min-width:210px;
  max-width:320px;
  color:#243F6E;
  font-size:1.01rem;
  margin-bottom: 20px;
  position:relative;
}
.testimonial-card strong, .testimonial-card span{
  color:var(--accent);
  font-size:0.98rem;
  font-weight:600;
}
.testimonial-card p {
  color:var(--primary);
  font-size:1.02rem;
  font-family: 'Open Sans', Arial, sans-serif;
}

/* REVIEW PAGE / TESTIMONIAL PAGE */
.testimonial-list {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  justify-content:flex-start;
  align-items:stretch;
}
.testimonial-list .testimonial-card{
  background: var(--secondary);
  border-left:6px solid var(--accent);
  min-width:217px;
  max-width:370px;
  box-shadow:0 8px 32px 0 rgba(232,156,19,0.11);
}
.testimonial-card img{
  width:28px; height:28px; margin-bottom:2px;
  display:inline-block;
  vertical-align:middle;
}
.testimonial-card strong{display:inline-block;margin-bottom:5px;}
.testimonial-card span {color: var(--primary); margin-top:4px;}

/* ABOUT VALUES */
.values ul{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:13px;
  align-items:flex-start;
}
.values li {
  background: var(--secondary);
  border-radius:20px;
  padding:19px 18px;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:18px;
  min-width:220px;
  max-width:400px;
  font-size:1rem;
  margin-bottom: 20px;
}
.values img{width:34px; height:34px;}

/* SERVICE CATEGORIES (services.html) */
.service-categories{
  display:flex;
  flex-direction:column;
  gap:20px;
}
.service-categories h2{font-size:1.23rem;margin-top:11px; color:var(--accent);}
.service-categories p{color:var(--primary);margin-bottom:8px;font-size:1rem;line-height:1.45;}

/* WORKFLOW SECTION */
.workflow ol{
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  padding-left:0;
  margin-top:16px;
}
.workflow li{
  background:var(--secondary);
  border-radius:16px;
  padding:15px 20px;
  min-width:200px;max-width:350px;
  box-shadow:0 1px 8px 0 rgba(232,156,19,0.12);
  display:flex;
  align-items:center;
  gap:13px;
  font-size:1.03rem;
  margin-bottom: 20px;
}
.workflow li img{width:24px; height:24px;}

/* FAQ SECTION */
.faq-list{
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  margin-top:18px;
}
.faq-list > div{
  background:var(--secondary);
  border-radius:16px;
  padding: 19px 18px;
  min-width:210px;max-width:425px;
  box-shadow:0 1px 8px 0 rgba(36,63,110,0.12);
  margin-bottom: 20px;
}
.faq-list strong {display:block;margin-bottom:5px; color:var(--primary);font-weight:700;}
.faq-list p {font-size:1rem; color: var(--black);margin-bottom:0;}

/* PRICING TABLE */
.pricing-table {
  width:100%;
  border-spacing:0;
  margin-bottom:19px;
  background:var(--white);
  box-shadow:0 2px 12px 0 rgba(36,63,110,0.07);
  border-radius:17px;
  overflow:hidden;
}
.pricing-table thead tr {
  background:var(--primary);
  color:var(--white);
  font-weight:600;
}
.pricing-table th, .pricing-table td {
  padding:13px 16px;
}
.pricing-table tr {border-bottom:1px solid var(--secondary);}
.pricing-table tbody tr:nth-child(even) {
  background:var(--secondary);
}
.pricing-table tbody tr:hover {
  background:var(--accent);
  color:var(--white);
  transition: background 0.17s, color 0.15s;
}
.pricing-table td {
  color:var(--primary);
}

.pricing-highlight {
  background: var(--accent);
  color: var(--white);
  padding:13px 18px;
  border-radius:14px;
  margin-bottom:18px;
  font-size:1.02rem;
  box-shadow:0 2px 10px 0 rgba(232,156,19,0.14);
}
.note-on-transparency p{
  font-size:0.99rem;
  color:var(--primary);
  background:var(--secondary);
  padding:11px 14px;
  border-radius:8px;
  margin-bottom:0;
}

/* TEAM SECTION */
.team-member-list {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  align-items:flex-start;
  margin-bottom:18px;
}
.team-member-list > div {
  background:var(--secondary);
  border-radius:17px;
  box-shadow:0 1px 8px 0 rgba(232,156,19,0.11);
  padding:20px 17px 16px 15px;
  min-width:190px;
  max-width:350px;
  margin-bottom: 20px;
}
.qualifications-overview ul{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:8px;
}
.qualifications-overview li{
  background:var(--accent);
  color:var(--white);
  border-radius:11px;
  padding:8px 16px;
  font-size:0.97rem;
  font-family:'Oswald',Arial,sans-serif;
  margin-bottom: 0;
}

.team-philosophy {margin-top:22px;background:var(--white);border-radius:13px;padding:12px 14px;box-shadow:0 1px 6px 0 rgba(36,63,110,0.10);}
.team-philosophy h2{font-size:1.1rem;margin-bottom:6px;}
.team-philosophy p{margin-bottom:0;}

/* CONTACT PAGE */
.address-details, .phone-email, .business-hours, .map-embed {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
}
.contact-form .content-wrapper {
  background: var(--secondary);
  padding: 20px 10px;
  border-radius: 17px;
}
.contact-form h2{
  font-size:1.18rem;}

/* THANK YOU PAGE */
.next-steps-info ul{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:9px;
}
.next-steps-info li {
  background:var(--secondary);
  border-radius:10px;
  padding: 8px 12px;
  font-size:0.99rem;
}
.next-steps-info h2{font-size:1.18rem; margin:9px 0 4px 0;}

/* MISC LAYOUTS (SPACING AND PATTERNS) */
.card-container,
.card-grid {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
}
.card {
  margin-bottom:20px;
  position:relative;
  background:var(--white);
  border-radius:19px;
  box-shadow:0 2px 14px 0 rgba(232,156,19,0.09);
  padding:22px 17px;
}
.content-grid,
.text-image-section {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  justify-content:space-between;
  align-items:center;
}
.text-image-section {gap:30px;}
.testimonial-card {display:flex;align-items:center;gap:20px;padding:20px;}
.feature-item {display:flex;flex-direction:column;align-items:flex-start;gap:15px;}

/* Responsive Direction Switches */
@media (max-width:768px){
  .feature-grid, .card-container,.card-grid,.testimonial-list,.team-member-list,.qualifications-overview ul,.values ul {
    flex-direction:column;
    gap:16px;
    align-items:stretch;
  }
  .content-grid,.text-image-section {
    flex-direction:column;
    gap:17px;
    align-items:center;
  }
}

/* PLAYFUL MICRO ANIMATIONS */
.button, .feature-grid li, .team-member-list > div, .testimonial-card, .card {
  transition:box-shadow 0.19s,transform 0.18s,background 0.15s,color 0.13s;
}
.button:active,.feature-grid li:active, .testimonial-card:active {
  transform:scale(0.98);
}
.button.primary:focus-visible,
.button.secondary:focus-visible,
.mobile-menu-close:focus-visible {
  outline:2px solid var(--accent);
  outline-offset:2px;
}

/* Fun energetic focus/hover effects */
.feature-grid li:focus-within{
  box-shadow:0 8px 32px 0 rgba(232,156,19,0.17),0 3px 16px 0 rgba(36,63,110,0.11);
  outline:2px solid var(--primary);
}
.testimonial-card:hover {
  box-shadow:0 10px 32px 0 rgba(36,63,110,0.14);
  background:var(--white);
  transform:rotate(2deg) scale(1.025);
}

/* Cookie Banner */
.cookie-banner {
  display:flex;
  flex-direction:row;
  justify-content:center;
  align-items:center;
  gap:30px;
  position:fixed;
  left:0;right:0;bottom:0;
  width:100vw;
  background:var(--primary);
  color:var(--white);
  box-shadow:0 -3px 16px 0 rgba(36,63,110,0.22);
  z-index:120;
  padding:24px 12px 21px 12px;
  animation: bannerSlideUp 0.6s cubic-bezier(0.22,1,0.36,1);
}
@keyframes bannerSlideUp{
  0%{transform:translateY(80px);opacity:0;}
  100%{transform:none;opacity:1;}
}
.cookie-banner p{
  margin:0;
  font-size:1rem;
  flex:1 1 320px;
  color:var(--white);
}
.cookie-banner button{
  min-width:44px;min-height:40px;
  padding:11px 16px;
  border-radius:18px;
  font-family:'Oswald',Arial,sans-serif;
  font-size:0.97rem;
  font-weight:600;
  margin:0 1px;
  box-shadow:0 1px 8px 0 rgba(232,156,19,0.09);
  transition:background 0.17s,color 0.17s;
}
.cookie-banner .accept{
  background:var(--success);
  color:var(--white);
}
.cookie-banner .accept:hover{background:#2bb36d;}
.cookie-banner .reject{
  background:var(--danger);
  color:var(--white);
}
.cookie-banner .reject:hover{background:#c83c36;}
.cookie-banner .settings{
  background:var(--accent);
  color:var(--primary);
}
.cookie-banner .settings:hover{background:var(--white);color:var(--accent);}

/* Cookie Preferences Modal */
.cookie-modal-overlay{
  display:none;
  position:fixed;
  top:0;left:0;width:100vw;height:100vh;
  background:rgba(36,63,110,0.43);
  z-index:130;
  align-items:center;
  justify-content:center;
}
.cookie-modal-overlay.active{display:flex;}
.cookie-modal{
  background:var(--white);
  color:var(--primary);
  padding:34px 21px 20px 21px;
  border-radius:22px;
  min-width:310px; max-width:98vw;
  min-height:210px;
  box-shadow:0 7px 44px 0 rgba(36,63,110,0.19);
  display:flex;
  flex-direction:column;
  gap:20px;
  animation:cookiePop 0.35s cubic-bezier(0.22,1,0.36,1);
}
@keyframes cookiePop{
  0%{transform:scale(0.75) translateY(90px);opacity:0.2;}
  100%{transform:none;opacity:1;}
}
.cookie-modal h2{
  color:var(--accent);
  font-size:1.23rem;
}
.cookie-modal .cookie-category{
  display:flex;
  align-items:center;
  gap:15px;
  font-size:1rem;
  margin:8px 0;
}
.cookie-modal .cookie-category input[type='checkbox']{
  width:22px;height:22px;
  accent-color:var(--accent);
}
.cookie-modal .cookie-category label{
  color:var(--primary);
}
.cookie-modal .always-on{
  font-size:0.96rem;
  color:var(--grey);
}
.cookie-modal .close-modal{
  align-self:flex-end;
  background:var(--danger);
  color:var(--white);
  border:none;
  border-radius:13px;
  font-size:1.15rem;
  width:35px;height:35px;
  margin:-18px -4px 0 0;
  box-shadow:0 2px 7px 0 rgba(232,156,19,0.14);
  display:flex;align-items:center;justify-content:center;padding:0;
  transition:background 0.12s;
}
.cookie-modal .close-modal:hover{background:var(--accent);}
.cookie-modal .modal-buttons{
  display:flex;
  gap:15px;
  justify-content:flex-end;margin-top:8px;
}
.cookie-modal .modal-buttons button{
  padding:8px 18px;
  border-radius:15px;
  font-family:'Oswald',Arial,sans-serif;
  font-size:0.93rem;
  font-weight:600;
}

/* RESPONSIVE CLASSES */
@media (max-width:600px){
  .cookie-banner{flex-direction:column;gap:16px;padding:14px 3px 16px 3px;}
  .cookie-banner p{font-size:0.97rem;}
  .cookie-modal{padding:14px 8px;}
}
@media (max-width:480px){
  h1{font-size:1.09rem;}
  .hero h1{font-size:1.25rem;}
  .pricing-table th,.pricing-table td{padding:8px 5px;font-size:0.92rem;}
  .section, section{padding:9px 2px;}
}

/* SCROLL BAR STYLE (subtly playful) */
::-webkit-scrollbar {
  width: 11px;
  background: var(--secondary);
  border-radius: 7px;
}
::-webkit-scrollbar-thumb {
  background: var(--accent);
  border-radius: 7px;
  border: 2px solid var(--secondary);
}

/* AUTOCOMPLETE DROPDOWNS & THIRD PARTY DIALOGS */
::-webkit-input-placeholder {color:var(--grey);}
::-moz-placeholder {color:var(--grey);}
:-ms-input-placeholder {color:var(--grey);}
::placeholder {color:var(--grey);}

/* ACCESSIBILITY: FOCUS OUTLINE */
:focus-visible{outline:2px solid var(--accent)!important;outline-offset:2px;}

/* PRINT (ensures background does not swallow content) */
@media print { 
  .section, section, .card, .about-preview, .cta, .features, .services-preview, .values li, .team-member-list > div {box-shadow:none!important;background:var(--white)!important;color:var(--primary)!important;} 
  header,footer,.mobile-menu,.cookie-banner{display:none!important;}
}
