/* Google Fonts */@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700&family=Open+Sans:wght@400;600&display=swap');/* Custom Properties (Design Tokens) */:root{--color-primary:#0056b3;--color-accent:#ffc107;--color-text:#333333;--color-bg:#f4f4f4;--color-surface:#ffffff;--font-heading:'Montserrat',sans-serif;--font-body:'Open Sans',sans-serif;--hero-min-height:100vh;--hero-overlay-alpha:0.45;--hero-focus:center;--animation-reveal-duration:600ms;--animation-card-lift:-4px;--animation-image-scale:1.05;}/* Base Styles */*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}html{scroll-behavior:smooth;font-size:16px;}body{font-family:var(--font-body);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}.container{max-width:1200px;margin:0 auto;padding:1rem;}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);line-height:1.2;margin-bottom:0.8em;}h1{font-size:clamp(2.5rem,6vw,4rem);color:#fff;}h2{font-size:clamp(2rem,5vw,3rem);text-align:center;margin-bottom:1.5em;}h3{font-size:clamp(1.5rem,4vw,2rem);}p{margin-bottom:1em;}a{color:var(--color-primary);text-decoration:none;}a:hover{text-decoration:underline;}img{max-width:100%;height:auto;display:block;}/* Buttons & CTAs */.button,.cta{display:inline-block;background-color:var(--color-accent);color:var(--color-text);padding:0.8rem 1.8rem;border-radius:8px;text-decoration:none;font-weight:600;font-family:var(--font-heading);border:none;cursor:pointer;text-align:center;transition:background-color 0.3s ease;margin-top:1.5rem;}.button:hover,.cta:hover{filter:brightness(1.1);text-decoration:none;}/* Header & Navigation */.site-header{background-color:var(--color-surface);box-shadow:0 2px 10px rgba(0,0,0,0.05);position:sticky;top:0;z-index:1000;}.main-nav{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;}.logo{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;color:var(--color-primary);text-decoration:none;}.nav-links{list-style:none;display:none;flex-grow:1;justify-content:flex-end;}.nav-links.is-open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;width:100%;background-color:var(--color-surface);box-shadow:0 2px 10px rgba(0,0,0,0.05);padding:1rem;gap:0.5rem;}.nav-links li a{display:block;padding:0.5rem 1rem;color:var(--color-text);text-decoration:none;font-weight:600;}.nav-links li a:hover{color:var(--color-primary);text-decoration:underline;}.menu-toggle{display:flex;flex-direction:column;justify-content:space-around;width:30px;height:25px;background:none;border:none;cursor:pointer;padding:0;position:relative;z-index:1001;}.menu-toggle .icon-bar{width:100%;height:3px;background-color:var(--color-primary);transition:all 0.3s ease-in-out;}.menu-toggle[aria-expanded="true"] .icon-bar:nth-child(2){opacity:0;}.menu-toggle[aria-expanded="true"] .icon-bar:nth-child(1){transform:translateY(11px) rotate(45deg);}.menu-toggle[aria-expanded="true"] .icon-bar:nth-child(3){transform:translateY(-11px) rotate(-45deg);}@media (min-width:768px){.menu-toggle{display:none;}.nav-links{display:flex;flex-direction:row;position:static;box-shadow:none;padding:0;gap:1.5rem;}.nav-links li a{padding:0;}}/* Hero Section */.hero{min-height:var(--hero-min-height);display:grid;place-items:center;position:relative;overflow:hidden;}.hero__image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--hero-focus,center);z-index:0;}.hero__overlay{position:relative;z-index:1;max-width:720px;padding:clamp(1rem,4vw,2.5rem);background:rgba(0,0,0,var(--hero-overlay-alpha,0.45));color:#fff;border-radius:12px;text-align:center;}.hero__overlay h1{color:white;margin-bottom:0.5em;}.hero__overlay .tagline{font-size:clamp(1.1rem,2.5vw,1.5rem);margin-bottom:1.5rem;color:rgba(255,255,255,0.9);}/* Sections */section{padding:4rem 0;}section:nth-of-type(even){background-color:var(--color-bg);}/* About Section */.about{text-align:center;}.about p{max-width:800px;margin-left:auto;margin-right:auto;font-size:1.1rem;}/* Services Section */.services__grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem;}@media (min-width:640px){.services__grid{grid-template-columns:repeat(2,1fr);}}@media (min-width:1024px){.services__grid{grid-template-columns:repeat(3,1fr);}}.service-item.card{background-color:var(--color-surface);padding:1.5rem;border-radius:12px;box-shadow:0 4px 15px rgba(0,0,0,0.08);text-align:center;overflow:hidden;}.service-item img{width:100%;height:200px;object-fit:cover;border-radius:8px;margin-bottom:1rem;}.service-item h3{color:var(--color-primary);margin-bottom:0.5rem;}/* Contact Section */.contact-info{text-align:center;margin-bottom:2rem;font-size:1.1rem;}.contact-info p strong{color:var(--color-primary);}.map-container{width:100%;height:350px;border-radius:12px;overflow:hidden;box-shadow:0 4px 15px rgba(0,0,0,0.08);}.map-container iframe{width:100%;height:100%;border:0;}/* Footer */.site-footer{background-color:var(--color-primary);color:#fff;text-align:center;padding:2rem 1rem;font-size:0.9rem;}.site-footer p{margin-bottom:0;}/* Animations */@media (prefers-reduced-motion:no-preference){@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}.reveal{opacity:0;will-change:transform,opacity;}.reveal.is-visible{animation:fadeInUp var(--animation-reveal-duration,600ms) ease-out forwards;}@media (hover:hover){.card{transition:transform 200ms,box-shadow 200ms;}.card:hover{transform:translateY(var(--animation-card-lift,-4px));box-shadow:0 8px 24px rgba(0,0,0,0.12);}.gallery img,[class*="gallery"] img{transition:transform 300ms;}.gallery img:hover{transform:scale(var(--animation-image-scale,1.05));}.button,a.cta{transition:filter 150ms;}.button:hover,a.cta:hover{filter:brightness(1.1);}}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;animation:none;}}/* Screen reader only text */.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}