@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Playfair+Display:wght@500;600;700;800&display=swap);:root{--white:#fff;--off-white:#f8f9fa;--grey-100:#f1f3f5;--grey-200:#e9ecef;--grey-300:#dee2e6;--grey-400:#adb5bd;--grey-500:#6c757d;--grey-600:#495057;--grey-700:#343a40;--grey-800:#212529;--grey-900:#1a1a2e;--red:#cc1f1f;--red-hover:#a81a1a;--red-light:rgba(204,31,31,.08);--radius:12px;--radius-sm:8px;--shadow-sm:0 1px 3px rgba(0,0,0,.06);--shadow:0 4px 16px rgba(0,0,0,.08);--shadow-lg:0 8px 32px rgba(0,0,0,.1);--transition:.3s ease}*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}img{max-width:100%}::selection{background:var(--red);color:var(--white)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(204,31,31,.45);outline-offset:3px;border-radius:4px}body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--white);color:var(--grey-800);min-height:100vh;overflow-x:hidden;line-height:1.7}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:1.25rem 2.5rem;display:flex;align-items:center;justify-content:space-between;background:transparent;transition:background .3s , box-shadow .3s}.nav.scrolled{background:rgba(255,255,255,.95);backdrop-filter:blur(12px);box-shadow:var(--shadow-sm)}.nav-logo{display:flex;align-items:center;gap:.75rem;text-decoration:none}.nav-logo img{height:80px;width:auto;border-radius:10px}.nav-logo span{font-family:'Playfair Display',Georgia,serif;font-size:1.25rem;font-weight:700;color:var(--grey-900);letter-spacing:-.01em;transition:color .3s}.nav-logo span em{font-style:normal;color:var(--red)}.nav-links{display:flex;list-style:none;gap:2.5rem;align-items:center}.nav-links a{color:var(--grey-600);text-decoration:none;font-size:.95rem;font-weight:500;letter-spacing:.01em;padding:.35rem 0;position:relative;transition:color var(--transition)}.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--red);transition:width var(--transition)}.nav-links a:hover,.nav-links a.active{color:var(--red)}.nav-links a:hover::after,.nav-links a.active::after{width:100%}.home .nav:not(.scrolled) .nav-logo span {color:var(--white)}.home .nav:not(.scrolled) .nav-links a {color:rgba(255,255,255,.8)}.home .nav:not(.scrolled) .nav-toggle span {background:var(--white)}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:.5rem;z-index:101}.nav-toggle span{display:block;width:26px;height:2.5px;background:var(--grey-800);border-radius:2px;transition:transform .3s , opacity .3s , background .3s}.nav-toggle.open span:nth-child(1) {transform:rotate(45deg) translate(5px,5px)}.nav-toggle.open span:nth-child(2) {opacity:0}.nav-toggle.open span:nth-child(3) {transform:rotate(-45deg) translate(5px,-5px)}@media (max-width:768px){.nav{padding:.75rem 1.25rem}.nav-logo img{height:52px}.nav-logo span{font-size:1.1rem}.nav-toggle{display:flex}.nav-links{position:fixed;top:0;right:-100%;width:min(320px,85vw);height:100vh;height:100dvh;flex-direction:column;justify-content:center;background:var(--white);box-shadow:-8px 0 32px rgba(0,0,0,.15);gap:.25rem;padding:2rem 0;transition:right .4s cubic-bezier(.22,1,.36,1)}.nav-links.open{right:0}.nav-links li{width:100%}.nav-links a,
  .home .nav:not(.scrolled) .nav-links a {display:block;color:var(--grey-700);font-size:1.1rem;font-weight:600;padding:.9rem 2.25rem}.nav-links a::after{display:none}.nav-links a:hover,
  .nav-links a.active,
  .home .nav:not(.scrolled) .nav-links a:hover,
  .home .nav:not(.scrolled) .nav-links a.active {color:var(--red);background:var(--red-light)}.nav-toggle.open span,
  .home .nav:not(.scrolled) .nav-toggle.open span {background:var(--grey-900)}.nav-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .35s ease;z-index:99}body.menu-open .nav-backdrop{opacity:1;pointer-events:auto}body.menu-open{overflow:hidden}}.container{max-width:1200px;margin:0 auto;padding:0 2.5rem}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:7rem 2.5rem 5rem;position:relative;overflow:hidden}.hero-slider{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out}.hero-slide.active{opacity:1}.hero-slide{transform:scale(1.06);transition:opacity 1.5s ease-in-out , transform 6s ease-out}.hero-slide.active{transform:scale(1)}.hero-dots{position:absolute;bottom:2.25rem;left:50%;transform:translateX(-50%);display:flex;gap:.6rem;z-index:3}.hero-dot{width:10px;height:10px;border-radius:50%;border:none;padding:0;background:rgba(255,255,255,.35);cursor:pointer;transition:background .3s , width .3s}.hero-dot:hover{background:rgba(255,255,255,.6)}.hero-dot.active{width:26px;border-radius:5px;background:var(--red)}.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(135deg,rgba(0,0,0,.78) 0%,rgba(5,5,15,.75) 50%,rgba(0,0,0,.78) 100%)}.hero-content{position:relative;z-index:2;max-width:850px;animation:fadeUp .8s ease-out}.hero-logo{display:inline-block;margin-bottom:3rem}.hero-logo img{display:block;max-width:200px;height:auto;margin:0 auto}.hero-tagline{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.8rem,6vw,4.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:.75rem;color:var(--white)}.hero-tagline em{font-style:normal;color:var(--red)}.hero-subtitle{font-size:clamp(1.25rem,2.5vw,1.6rem);font-weight:400;letter-spacing:.04em;color:rgba(255,255,255,.75);margin-bottom:1.25rem}.hero-desc{font-size:1.2rem;font-weight:400;line-height:1.8;color:rgba(255,255,255,.8);max-width:650px;margin:0 auto 3rem}.hero-actions{display:flex;gap:1.25rem;justify-content:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2.25rem;border-radius:6px;font-size:1rem;font-weight:600;letter-spacing:.01em;text-decoration:none;cursor:pointer;border:2px solid transparent;transition:all var(--transition);font-family:'Inter',system-ui,sans-serif}.btn-primary{background:var(--red);color:var(--white);border-color:var(--red)}.btn-primary:hover{background:var(--red-hover);border-color:var(--red-hover);box-shadow:0 6px 24px rgba(204,31,31,.3);transform:translateY(-2px)}.btn-outline{background:transparent;color:var(--red);border-color:var(--red)}.btn-outline:hover{background:var(--red);color:var(--white);transform:translateY(-2px)}.divider{width:60px;height:3px;background:var(--red);margin:3rem auto;border-radius:2px}.section{padding:8rem 0}.section.alt{background:var(--off-white)}.section-header{text-align:center;margin-bottom:4rem}.section-label{font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:var(--red);margin-bottom:1rem}.section-title{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.2rem,4vw,3rem);font-weight:700;letter-spacing:-.01em;line-height:1.2;margin-bottom:1.25rem;color:var(--grey-900)}.section-desc{color:var(--grey-500);font-size:1.15rem;max-width:650px;margin:0 auto;font-weight:400}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}.card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);padding:3rem 2.5rem;transition:all var(--transition);position:relative;overflow:hidden}.card::before,.project-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--red),var(--red-hover));transform:scaleX(0);transform-origin:left;transition:transform .4s ease;z-index:1}.card:hover::before,.project-card:hover::before{transform:scaleX(1)}.project-card{position:relative}.card:hover{border-color:var(--red);box-shadow:0 8px 40px rgba(204,31,31,.12) , 0 2px 8px rgba(0,0,0,.06);transform:translateY(-6px) scale(1.02)}.card-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--red-light);margin-bottom:1.75rem;font-size:1.75rem;transition:transform var(--transition) , background var(--transition)}.card:hover .card-icon{transform:scale(1.1);background:rgba(204,31,31,.15)}.card h3{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.01em;color:var(--grey-900)}.card p{color:var(--grey-600);font-size:1.05rem;line-height:1.7;font-weight:400}.card-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}.tag{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:.35rem .8rem;border-radius:4px;background:var(--red-light);color:var(--red);border:1px solid rgba(204,31,31,.15)}.project-card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);overflow:hidden;transition:all var(--transition);display:flex;flex-direction:column}.project-card:hover{border-color:var(--red);box-shadow:0 12px 48px rgba(204,31,31,.12) , 0 4px 16px rgba(0,0,0,.08);transform:translateY(-6px)}.project-card:hover .project-img{transform:scale(1.06)}.project-img{width:100%;height:240px;object-fit:cover;display:block;transition:transform .6s ease}.project-body{padding:2rem 2rem 2.5rem;flex:1;display:flex;flex-direction:column}.project-date{font-size:.85rem;color:var(--red);font-weight:600;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.75rem}.project-body h3{font-family:'Playfair Display',Georgia,serif;font-size:1.4rem;font-weight:600;margin-bottom:1rem;line-height:1.35;color:var(--grey-900)}.project-body p{color:var(--grey-600);font-size:1rem;line-height:1.7;flex:1;margin-bottom:1.25rem}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}@media (max-width:768px){.about-grid{grid-template-columns:1fr}}.about-text h3{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;font-weight:700;margin-bottom:1.25rem;color:var(--grey-900)}.about-text p{color:var(--grey-600);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.stat-card{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);padding:2.25rem 1.5rem;text-align:center;transition:all var(--transition)}.stat-card:hover{border-color:var(--red);box-shadow:0 8px 32px rgba(204,31,31,.1);transform:translateY(-4px)}.stat-card:hover .stat-value{transform:scale(1.1)}.stat-card .stat-value{font-family:'Playfair Display',Georgia,serif;font-size:2.8rem;font-weight:800;color:var(--red);margin-bottom:.5rem;transition:transform var(--transition)}.stat-card .stat-label{font-size:.9rem;color:var(--grey-500);font-weight:500;text-transform:uppercase;letter-spacing:.08em}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}@media (max-width:768px){.contact-grid{grid-template-columns:1fr}}.contact-info h3{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;font-weight:700;margin-bottom:2rem;color:var(--grey-900)}.contact-item{display:flex;align-items:flex-start;gap:1.25rem;margin-bottom:2rem}.contact-item-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--red-light);border-radius:var(--radius-sm);font-size:1.3rem;flex-shrink:0}.contact-item-text h4{font-size:1rem;font-weight:600;margin-bottom:.25rem;color:var(--grey-800)}.contact-item-text p,.contact-item-text a{color:var(--grey-600);font-size:1rem;text-decoration:none;transition:color var(--transition)}.contact-item-text a:hover{color:var(--red)}.contact-form{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);padding:3rem;transition:border-color var(--transition);box-shadow:var(--shadow-sm)}.contact-form:focus-within{border-color:var(--red);box-shadow:var(--shadow)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--grey-700);margin-bottom:.6rem}.form-group input,.form-group textarea,.form-group select{width:100%;padding:1rem 1.25rem;background:var(--off-white);border:1px solid var(--grey-300);border-radius:6px;color:var(--grey-800);font-family:'Inter',system-ui,sans-serif;font-size:1rem;transition:all var(--transition);outline:none}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--red);background:var(--white);box-shadow:0 0 0 3px var(--red-light)}.form-group textarea{resize:vertical;min-height:140px}.cta-banner{text-align:center;padding:8rem 2.5rem;background:var(--grey-900);color:var(--white)}.cta-banner h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2rem,4vw,2.8rem);font-weight:700;margin-bottom:1rem}.cta-banner p{margin-bottom:2.5rem;font-size:1.2rem;font-weight:400;opacity:.75}.cta-banner .btn{background:var(--red);color:var(--white);border-color:var(--red)}.cta-banner .btn:hover{background:var(--red-hover);border-color:var(--red-hover)}.footer{background:var(--grey-900);color:var(--grey-400);padding:3rem 2.5rem}.footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.footer-brand{display:flex;align-items:center;gap:.75rem}.footer-brand img{height:40px;border-radius:6px}.footer-brand span{font-size:.85rem;color:var(--grey-400)}.footer-credit{text-align:right}.footer-credit p{font-size:.85rem;color:var(--grey-500)}.footer-credit a{color:var(--grey-400);text-decoration:none;transition:color var(--transition)}.footer-credit a:hover{color:var(--white)}@media (max-width:768px){.footer-credit{text-align:center}}.footer-links{display:flex;gap:2rem;list-style:none}.footer-links a{color:var(--grey-500);text-decoration:none;font-size:.9rem;font-weight:500;transition:color var(--transition)}.footer-links a:hover{color:var(--white)}.footer-copy-col{text-align:right}.footer-copy-col p{font-size:.85rem;color:var(--grey-500);line-height:1.6}.footer-copy-col a{color:var(--grey-400);text-decoration:none;transition:color var(--transition)}.footer-copy-col a:hover{color:var(--white)}@media (max-width:768px){.footer-copy-col{text-align:center}}@keyframes fadeUp {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}@keyframes fadeLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to   { opacity: 1; transform: translateX(0); }
}@keyframes fadeRight {
  from { opacity: 0; transform: translateX(30px); }
  to   { opacity: 1; transform: translateX(0); }
}@keyframes fadeScale {
  from { opacity: 0; transform: scale(0.95); }
  to   { opacity: 1; transform: scale(1); }
}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease , transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-30px);transition:opacity .7s ease , transform .7s ease}.reveal-left.visible{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(30px);transition:opacity .7s ease , transform .7s ease}.reveal-right.visible{opacity:1;transform:translateX(0)}.reveal-scale{opacity:0;transform:scale(.95);transition:opacity .7s ease , transform .7s ease}.reveal-scale.visible{opacity:1;transform:scale(1)}.reveal-stagger>*{opacity:0;transform:translateY(30px);transition:opacity .7s ease , transform .7s ease}.reveal-stagger.visible > *:nth-child(1) {transition-delay:0s}.reveal-stagger.visible > *:nth-child(2) {transition-delay:.12s}.reveal-stagger.visible > *:nth-child(3) {transition-delay:.24s}.reveal-stagger.visible > *:nth-child(4) {transition-delay:.36s}.reveal-stagger.visible > *:nth-child(5) {transition-delay:.48s}.reveal-stagger.visible > *:nth-child(6) {transition-delay:.6s}.reveal-stagger.visible>*{opacity:1;transform:translateY(0)}.page-hero{padding:10rem 2.5rem 5rem;text-align:center;background:var(--off-white)}.page-hero h1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(2.4rem,5vw,3.6rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1.25rem;color:var(--grey-900)}.page-hero h1 em{font-style:normal;color:var(--red)}.page-hero p{color:var(--grey-500);font-size:1.2rem;max-width:650px;margin:0 auto;font-weight:400}.breadcrumb{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;color:var(--grey-400);margin-bottom:1.5rem}.breadcrumb a{color:var(--grey-500);text-decoration:none;transition:color var(--transition)}.breadcrumb a:hover{color:var(--red)}.breadcrumb span{color:var(--grey-400)}.service-list-detailed{display:grid;gap:2.5rem}.service-category-block{margin-bottom:1rem}.service-category-block h3{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:700;color:var(--red);margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:2px solid var(--grey-200)}.service-category-block ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem}.service-category-block li{display:flex;align-items:center;gap:.75rem;padding:.9rem 1.25rem;background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius-sm);font-size:1rem;color:var(--grey-700);transition:all var(--transition)}.service-category-block li:hover{border-color:var(--red);background:var(--red-light);color:var(--red)}.service-category-block li::before{content:'\25C6';font-size:.5rem;color:var(--red);flex-shrink:0}.value-block{background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);padding:3rem;margin-bottom:1.5rem;position:relative;overflow:hidden;transition:all var(--transition)}.value-block:hover{border-color:var(--red);box-shadow:var(--shadow)}.value-block::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--red);border-radius:0 2px 2px 0}.value-block h3{font-family:'Playfair Display',Georgia,serif;font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--grey-900)}.value-block p{color:var(--grey-600);font-size:1.1rem;line-height:1.8}.split-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.split-section.reverse{direction:rtl}.split-section.reverse>*{direction:ltr}.split-image{width:100%;height:400px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg);transition:transform .5s ease , box-shadow .5s ease}.split-image:hover{transform:scale(1.03);box-shadow:0 16px 48px rgba(0,0,0,.15)}.split-text h3{font-family:'Playfair Display',Georgia,serif;font-size:1.8rem;font-weight:700;margin-bottom:1.25rem;color:var(--grey-900)}.split-text p{color:var(--grey-600);font-size:1.1rem;line-height:1.8;margin-bottom:1rem}@media (max-width:768px){.split-section{grid-template-columns:1fr;gap:2rem}.split-image{height:280px}}.why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.why-grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.why-grid-3{grid-template-columns:1fr}}.why-card{text-align:center;padding:2.5rem 2rem;background:var(--white);border:1px solid var(--grey-200);border-radius:var(--radius);transition:all var(--transition)}.why-card:hover{border-color:var(--red);box-shadow:0 8px 40px rgba(204,31,31,.1) , 0 2px 8px rgba(0,0,0,.06);transform:translateY(-5px) scale(1.03)}.why-card .why-icon{font-size:2.5rem;margin-bottom:1.25rem;transition:transform var(--transition)}.why-card:hover .why-icon{transform:scale(1.2)}.why-card h4{font-size:1.15rem;font-weight:700;margin-bottom:.75rem;color:var(--grey-900)}.why-card p{color:var(--grey-600);font-size:.95rem;line-height:1.7}@media (max-width:480px){.hero{padding:6rem 1.5rem 4rem}.hero-logo img{max-width:150px}.hero-actions{flex-direction:column;align-items:center}.nav{padding:1rem 1.5rem}.section{padding:5rem 0}.container{padding:0 1.5rem}.footer-inner{flex-direction:column;text-align:center}.footer-links{justify-content:center}.contact-form{padding:2rem}.cards{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr}.service-category-block ul{grid-template-columns:1fr}.btn{padding:.9rem 1.75rem}}.back-to-top{position:fixed;bottom:1.75rem;right:1.75rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:var(--red);color:var(--white);font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:0 6px 20px rgba(204,31,31,.35);opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s , visibility .3s , transform .3s , background .3s;z-index:90}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:var(--red-hover);transform:translateY(-3px)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal,.reveal-left,.reveal-right,.reveal-scale,.reveal-stagger>*{opacity:1;transform:none}}