.skip-link {position: absolute;top: -100%;left: 16px;z-index: 10000;padding: 12px 24px;background: var(--primary, #1E3A5F);color: #fff;font-weight: 600;border-radius: 0 0 8px 8px;text-decoration: none;transition: top 0.2s;}
.skip-link:focus {top: 0;}
*:focus-visible {outline: 3px solid var(--accent, #DC2626);outline-offset: 2px;}
*:focus:not(:focus-visible) {outline: none;}
@media (prefers-reduced-motion: reduce) {*, *::before, *::after {animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important;}}
:root {--alabaster: #F8FAFC;--white: #FFFFFF;--stone: #CBD5E1;--forest: #0F172A;--forest-mid: #1D4ED8;--forest-light: #CBD5E1;--sage: #1D4ED8;--sage-dim: rgba(29,78,216,0.15);--bronze: #1D4ED8;--bronze-light: #DBEAFE;--bronze-glow: rgba(29,78,216,0.25);--terracotta: #FBBF24;--ink: #0F172A;--text: #0F172A;--text-mid: #475569;--text-light: #64748B;--border: rgba(15,23,42,0.08);--border-hover: rgba(15,23,42,0.15);--font-sans: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;--font-display: 'DM Serif Display', Georgia, serif;--header-h: 72px;--max-w: 1200px;--radius: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-pill: 100px;}
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html {scroll-behavior: smooth;scroll-padding-top: var(--header-h);}
body {font-family: var(--font-sans);font-size: 16px;line-height: 1.6;color: var(--text);background: var(--alabaster);-webkit-font-smoothing: antialiased;overflow-x: hidden;}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; transition: 0.3s ease; }
ul { list-style: none; }
.container {max-width: var(--max-w);margin: 0 auto;padding: 0 24px;}
.section { padding: 120px 0; }
.section--dark {background: var(--forest);color: var(--stone);}
.reading-progress {position: fixed;top: 0;left: 0;width: 0%;height: 3px;background: linear-gradient(90deg, var(--bronze), var(--terracotta), var(--bronze-light));z-index: 9999;transition: width 0.1s linear;pointer-events: none;}
.grain {position: fixed;top: 0; left: 0; right: 0; bottom: 0;pointer-events: none;z-index: 9998;opacity: 0.035;background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat: repeat;background-size: 256px 256px;}
.glass-card {background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: 0 1px 3px rgba(0,0,0,0.04);transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);position: relative;}
.glass-card:hover {border-color: var(--border-hover);box-shadow: 0 8px 30px rgba(0,0,0,0.06);}
.glass-card::before {content: '';position: absolute;inset: -1px;border-radius: inherit;padding: 1.5px;background: conic-gradient(from var(--glow-angle, 0deg), var(--bronze), var(--terracotta), var(--bronze-light), var(--bronze));-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite: xor;mask-composite: exclude;opacity: 0;transition: opacity 0.5s ease;pointer-events: none;z-index: 1;}
.glass-card:hover::before {opacity: 1;animation: glowRotate 3s linear infinite;}
@keyframes glowRotate {to { --glow-angle: 360deg; }}
@property --glow-angle {syntax: '<angle>';initial-value: 0deg;inherits: false;}
.section--dark .glass-card {background: rgba(255,255,255,0.05);border-color: rgba(255,255,255,0.08);box-shadow: none;}
.section--dark .glass-card:hover {background: rgba(255,255,255,0.08);border-color: rgba(255,255,255,0.14);}
.section--dark .glass-card::before {background: conic-gradient(from var(--glow-angle, 0deg), var(--bronze), rgba(29,78,216,0.3), var(--bronze-light), var(--bronze));}
.tag {display: inline-block;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 3px;color: var(--sage);margin-bottom: 16px;}
.section-title {font-family: var(--font-display);font-size: clamp(2.4rem, 5vw, 4rem);font-weight: 400;line-height: 1.15;margin-bottom: 20px;letter-spacing: -0.01em;color: var(--forest);}
.section--dark .section-title { color: var(--stone); }
.section--dark .tag { color: #93B4F8; }
.text-gradient {color: #D4A017;font-style: italic;}
.section-desc {font-size: 1.05rem;color: var(--text-mid);max-width: 520px;}
.section--dark .section-desc { color: rgba(243,244,246,0.75); }
.section-header {text-align: center;margin-bottom: 64px;}
.section-header .section-desc { margin: 0 auto; }
.pill {display: inline-flex;align-items: center;gap: 8px;padding: 10px 20px;background: rgba(29,78,216,0.08);border: 1px solid rgba(29,78,216,0.15);border-radius: var(--radius-pill);font-size: 0.85rem;font-weight: 500;color: var(--text-mid);transition: 0.3s ease;}
.pill i { color: var(--sage); font-size: 0.8rem; }
.pill:hover {border-color: var(--sage);background: rgba(29,78,216,0.12);}
.btn {display: inline-flex;align-items: center;gap: 10px;padding: 14px 28px;font-family: var(--font-sans);font-size: 0.9rem;font-weight: 600;border: none;border-radius: var(--radius-pill);cursor: pointer;transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);white-space: nowrap;position: relative;overflow: hidden;}
.btn::after {content: '';position: absolute;inset: -2px;border-radius: inherit;background: transparent;transition: box-shadow 0.35s ease;pointer-events: none;z-index: -1;}
.btn:hover::after {box-shadow: 0 0 20px rgba(29,78,216,0.2);}
.btn--primary {background: var(--forest);color: var(--stone);}
.btn--primary:hover {background: var(--forest-mid);transform: translateY(-2px);}
.btn--glow {box-shadow: 0 4px 20px rgba(31,41,55,0.2);}
.btn--glow:hover {box-shadow: 0 8px 35px rgba(31,41,55,0.3);}
.section--dark .btn--primary,.hero .btn--primary,.cta .btn--primary {background: var(--bronze);color: var(--white);}
.section--dark .btn--primary:hover,.hero .btn--primary:hover,.cta .btn--primary:hover {background: var(--bronze-light);}
.hero .btn--glow,.cta .btn--glow {box-shadow: 0 0 20px var(--bronze-glow), 0 4px 15px rgba(0,0,0,0.2);}
.hero .btn--glow:hover,.cta .btn--glow:hover {box-shadow: 0 0 40px var(--bronze-glow), 0 8px 30px rgba(0,0,0,0.3);}
.btn--ghost {background: transparent;color: var(--stone);border: 1px solid rgba(243,244,246,0.2);}
.btn--ghost:hover {border-color: rgba(243,244,246,0.5);background: rgba(255,255,255,0.06);transform: translateY(-2px);}
.btn--large { padding: 18px 36px; font-size: 0.95rem; }
.btn--full { width: 100%; justify-content: center; }
.btn--nav {padding: 10px 22px;font-size: 0.85rem;background: var(--forest);color: var(--stone);}
.btn--nav:hover { background: var(--forest-mid); }
.btn__arrow {display: inline-flex;align-items: center;justify-content: center;width: 24px;height: 24px;border-radius: 50%;background: rgba(255,255,255,0.15);font-size: 0.7rem;transition: transform 0.3s ease;}
.btn:hover .btn__arrow { transform: translateX(3px); }
.header {position: fixed;top: 0; left: 0; right: 0;height: var(--header-h);z-index: 100;transition: all 0.4s ease;background: var(--forest);}
.header.scrolled {background: rgba(255,255,255,0.9);backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px);border-bottom: 1px solid var(--border);}
.header__inner {display: flex;align-items: center;justify-content: space-between;height: 100%;}
.logo {display: flex;align-items: center;z-index: 101;}
.logo__img {height: 100px;width: auto;object-fit: contain;transition: filter 0.4s ease;filter: brightness(0) invert(1);}
.header.scrolled .logo__img {filter: brightness(0);}
.nav__list {display: flex;align-items: center;gap: 4px;}
.nav__link {padding: 8px 16px;font-size: 0.85rem;font-weight: 500;color: rgba(243,244,246,0.8);border-radius: var(--radius-pill);transition: 0.3s ease;position: relative;}
.nav__link::after {content: '';position: absolute;bottom: 2px;left: 16px;right: 16px;height: 1.5px;background: var(--bronze);transform: scaleX(0);transform-origin: left;transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);}
.nav__link:hover::after,.nav__link.active::after {transform: scaleX(1);}
.nav__link:hover { color: var(--stone); }
.nav__link.active {color: var(--stone);}
.header.scrolled .nav__link { color: var(--text-light); }
.header.scrolled .nav__link:hover { color: var(--forest); }
.header.scrolled .nav__link.active { color: var(--forest); }
.header.scrolled .nav__link::after { background: var(--bronze); }
.nav-toggle {display: none;flex-direction: column;gap: 6px;background: none;border: none;cursor: pointer;z-index: 101;padding: 10px;}
.nav-toggle span {display: block;width: 24px;height: 2px;background: var(--stone);border-radius: 2px;transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);transform-origin: center;}
.header.scrolled .nav-toggle span { background: var(--forest); }
.nav-toggle.active span { background: var(--stone) !important; }
.nav-toggle.active span:nth-child(1) {transform: rotate(45deg) translate(3px, 3px);}
.nav-toggle.active span:nth-child(2) {transform: rotate(-45deg) translate(3px, -3px);}
.hero {position: relative;min-height: 100vh;display: flex;flex-direction: column;justify-content: center;overflow: hidden;background: var(--forest);color: var(--stone);}
.hero__bg {position: absolute;inset: 0;overflow: hidden;}
.hero__orb {position: absolute;border-radius: 50%;filter: blur(120px);opacity: 0.6;}
.hero__orb--1 {width: 700px; height: 700px;background: radial-gradient(circle, rgba(29,78,216,0.25), transparent);top: -15%; right: -10%;animation: heroMesh1 15s ease-in-out infinite;}
.hero__orb--2 {width: 500px; height: 500px;background: radial-gradient(circle, rgba(251,191,36,0.15), transparent);bottom: 5%; left: -8%;animation: heroMesh2 12s ease-in-out infinite;}
.hero__orb--3 {width: 400px; height: 400px;background: radial-gradient(circle, rgba(29,78,216,0.1), transparent);top: 35%; left: 35%;animation: heroMesh3 18s ease-in-out infinite;}
@keyframes heroMesh1 {0%, 100% { transform: translate(0, 0) scale(1); }
33% { transform: translate(-60px, 40px) scale(1.1); }
66% { transform: translate(30px, -20px) scale(0.95); }}
@keyframes heroMesh2 {0%, 100% { transform: translate(0, 0) scale(1); }
33% { transform: translate(50px, -30px) scale(1.05); }
66% { transform: translate(-30px, 20px) scale(1.1); }}
@keyframes heroMesh3 {0%, 100% { transform: translate(0, 0) scale(1); }
50% { transform: translate(-25px, -35px) scale(1.15); }}
.hero__content {position: relative;z-index: 5;padding: 160px 0 120px;}
.hero__badge {display: inline-flex;align-items: center;gap: 10px;padding: 8px 20px;background: rgba(29,78,216,0.1);border: 1px solid rgba(29,78,216,0.2);border-radius: var(--radius-pill);font-size: 0.82rem;font-weight: 500;color: #93B4F8;margin-bottom: 32px;}
.hero__badge-dot {width: 6px; height: 6px;background: var(--sage);border-radius: 50%;animation: pulse-dot 2s infinite;}
@keyframes pulse-dot {0%, 100% { opacity: 1; box-shadow: 0 0 0 0 rgba(29,78,216,0.4); }
50% { opacity: 0.7; box-shadow: 0 0 0 6px transparent; }}
.hero__title {font-family: var(--font-display);font-size: clamp(3.5rem, 8vw, 7rem);font-weight: 400;line-height: 1.05;letter-spacing: -0.02em;color: var(--stone);margin-bottom: 24px;}
.hero__title .word {display: inline-block;opacity: 0;transform: translateY(40px);animation: wordReveal 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;}
.hero__title .word:nth-child(1) { animation-delay: 0.2s; }
.hero__title .word:nth-child(2) { animation-delay: 0.35s; }
.hero__title .word:nth-child(3) { animation-delay: 0.5s; }
.hero__title .word:nth-child(4) { animation-delay: 0.65s; }
.hero__title .word:nth-child(5) { animation-delay: 0.8s; }
@keyframes wordReveal {to { opacity: 1; transform: translateY(0); }}
.hero__title--gradient {color: #D4A017;font-style: italic;}
.hero__subtitle {font-size: clamp(1rem, 1.5vw, 1.15rem);color: rgba(243,244,246,0.75);max-width: 480px;line-height: 1.8;margin-bottom: 40px;}
.hero__actions {display: flex;gap: 16px;flex-wrap: wrap;}
.ticker {position: absolute;bottom: 0;left: 0;right: 0;padding: 16px 0;border-top: 1px solid rgba(255,255,255,0.06);border-bottom: 1px solid rgba(255,255,255,0.06);background: rgba(31,41,55,0.6);backdrop-filter: blur(10px);overflow: hidden;z-index: 5;}
.ticker__track {display: flex;align-items: center;gap: 32px;white-space: nowrap;animation: scroll-ticker 30s linear infinite;width: max-content;}
.ticker:hover .ticker__track { animation-play-state: paused; }
.ticker__track span {font-size: 0.85rem;font-weight: 600;text-transform: uppercase;letter-spacing: 2px;color: rgba(243,244,246,0.75);}
.ticker__dot {width: 4px !important;height: 4px;background: var(--bronze);border-radius: 50%;display: inline-block;flex-shrink: 0;}
@keyframes scroll-ticker {0% { transform: translateX(0); }
100% { transform: translateX(-50%); }}
.section-divider {display: block;width: 100%;height: auto;margin: -1px 0;position: relative;z-index: 2;}
.section-divider--hero-stats { background: var(--forest); }
.section-divider--hero-stats path { fill: var(--alabaster); }
.section-divider--stats-about { background: var(--alabaster); }
.section-divider--stats-about path { fill: var(--alabaster); }
.section-divider--about-services { background: var(--alabaster); }
.section-divider--about-services path { fill: var(--stone); }
.section-divider--services-projects { background: var(--stone); }
.section-divider--services-projects path { fill: var(--forest); }
.section-divider--projects-why { background: var(--forest); }
.section-divider--projects-why path { fill: var(--alabaster); }
.section-divider--why-testimonials { background: var(--alabaster); }
.section-divider--why-testimonials path { fill: var(--forest); }
.section-divider--testimonials-cta { background: var(--forest); }
.section-divider--testimonials-cta path { fill: var(--forest); }
.section-divider--cta-contact { background: var(--forest); }
.section-divider--cta-contact path { fill: var(--alabaster); }
.watermark {position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);font-family: var(--font-display);font-size: 15vw;font-weight: 400;color: var(--forest);opacity: 0.03;pointer-events: none;white-space: nowrap;z-index: 0;letter-spacing: 0.05em;text-transform: uppercase;user-select: none;}
.section--dark .watermark {color: var(--stone);opacity: 0.03;}
.stats {padding: 60px 0;border-bottom: 1px solid var(--border);background: var(--alabaster);}
.stats__grid {display: flex;align-items: center;justify-content: center;gap: 48px;}
.stats__item { text-align: center; }
.stats__number {font-family: var(--font-display);font-size: 3rem;font-weight: 400;color: var(--forest);line-height: 1;}
.stats__suffix {font-family: var(--font-display);font-size: 1.5rem;font-weight: 400;color: var(--bronze);}
.stats__label {display: block;font-size: 0.8rem;color: var(--text-light);margin-top: 6px;font-weight: 500;text-transform: uppercase;letter-spacing: 1px;}
.stats__divider {width: 1px;height: 48px;background: var(--border);}
.about {background: var(--alabaster);position: relative;overflow: hidden;}
.about__grid {display: grid;grid-template-columns: 1fr 1.1fr;gap: 80px;align-items: center;position: relative;z-index: 1;}
.about__visual { position: relative; }
.about__image-stack { position: relative; }
.about__image--main {border-radius: var(--radius-xl);overflow: hidden;aspect-ratio: 3/4;border: 1px solid var(--border);}
.about__image--main img {width: 100%;height: 100%;object-fit: cover;}
.about__image--float {position: absolute;bottom: -32px;right: -32px;width: 220px;height: 220px;border-radius: var(--radius-lg);overflow: hidden;border: 3px solid var(--alabaster);box-shadow: 0 8px 30px rgba(0,0,0,0.1);}
.about__image--float img {width: 100%;height: 100%;object-fit: cover;}
.about__image-placeholder {width: 100%;height: 100%;background: linear-gradient(145deg, var(--forest), var(--forest-mid));display: flex;align-items: center;justify-content: center;font-size: 3.5rem;color: rgba(29,78,216,0.25);}
.about__image-placeholder--small { font-size: 2rem; }
.about__badge-card {position: absolute;top: 24px;left: -20px;padding: 20px 24px;text-align: center;z-index: 2;}
.about__badge-number {display: block;font-family: var(--font-display);font-size: 2.5rem;font-weight: 400;color: var(--bronze);line-height: 1;}
.about__badge-text {font-size: 0.7rem;font-weight: 600;text-transform: uppercase;letter-spacing: 1px;color: var(--text-light);margin-top: 4px;}
.about__lead {font-size: 1.1rem;color: var(--text-mid);margin-bottom: 16px;line-height: 1.7;}
.about__text {color: var(--text-light);margin-bottom: 28px;font-size: 0.95rem;}
.about__pills {display: flex;flex-wrap: wrap;gap: 10px;margin-bottom: 36px;}
.services {background: var(--stone);position: relative;overflow: hidden;}
.services__bento {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;}
.service-card {padding: 36px 28px;position: relative;overflow: hidden;cursor: pointer;display: block;text-decoration: none;color: inherit;}
.service-card.glass-card::before {content: '';position: absolute;inset: -1px;border-radius: inherit;padding: 1.5px;background: conic-gradient(from var(--glow-angle, 0deg), var(--bronze), var(--terracotta), var(--bronze-light), var(--bronze));-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);-webkit-mask-composite: xor;mask-composite: exclude;opacity: 0;transition: opacity 0.5s ease;pointer-events: none;z-index: 1;}
.service-card.glass-card:hover::before {opacity: 1;animation: glowRotate 3s linear infinite;}
.service-card--featured {grid-row: span 2;padding: 44px 32px;background: rgba(29,78,216,0.06);}
.service-card__icon-wrap {width: 52px;height: 52px;display: flex;align-items: center;justify-content: center;background: rgba(29,78,216,0.1);border: 1px solid rgba(29,78,216,0.18);border-radius: 14px;font-size: 1.3rem;color: var(--forest-light);margin-bottom: 24px;transition: all 0.3s ease;}
.service-card:hover .service-card__icon-wrap {background: rgba(29,78,216,0.18);transform: translateY(-4px) scale(1.05);}
.service-card h3 {font-family: var(--font-display);font-size: 1.2rem;font-weight: 400;margin-bottom: 12px;letter-spacing: -0.01em;color: var(--forest);}
.service-card p {color: var(--text-light);font-size: 0.9rem;line-height: 1.7;}
.service-card__number {position: absolute;bottom: 20px;right: 24px;font-family: var(--font-display);font-size: 4rem;font-weight: 400;color: transparent;-webkit-text-stroke: 1px rgba(31,41,55,0.06);line-height: 1;transition: -webkit-text-stroke 0.4s ease;pointer-events: none;user-select: none;}
.service-card:hover .service-card__number {-webkit-text-stroke: 1px rgba(29,78,216,0.12);}
.projects {position: relative;overflow: hidden;}
.projects__grid {display: grid;grid-template-columns: repeat(3, 1fr);grid-auto-rows: 260px;gap: 16px;position: relative;z-index: 1;}
.project-card {position: relative;border-radius: var(--radius-lg);overflow: hidden;cursor: pointer;border: 1px solid rgba(255,255,255,0.08);transition: all 0.4s ease;}
.project-card--wide { grid-column: 1 / -1; }
.project-card:hover {border-color: rgba(255,255,255,0.15);transform: translateY(-4px);box-shadow: 0 20px 60px rgba(0,0,0,0.3);}
.project-card__bg {width: 100%;height: 100%;}
.project-card__bg img {width: 100%;height: 100%;object-fit: cover;transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);}
.project-card--slideshow .project-card__bg {position: relative;}
.project-card--slideshow .project-slide {position: absolute;inset: 0;opacity: 0;transition: opacity 1s ease;}
.project-card--slideshow .project-slide.active {opacity: 1;}
.project-card:hover .project-card__bg img {transform: scale(1.08);}
.project-card__placeholder {width: 100%;height: 100%;background: linear-gradient(145deg, var(--forest-mid), var(--forest-light));display: flex;align-items: center;justify-content: center;font-size: 2.5rem;color: rgba(29,78,216,0.2);transition: transform 0.5s ease;}
.project-card:hover .project-card__placeholder { transform: scale(1.05); }
.project-card__info {position: absolute;bottom: 0;left: 0;right: 0;padding: 28px;background: linear-gradient(to top, rgba(15,23,42,0.95) 0%, transparent 100%);transform: translateY(20px);opacity: 0;transition: all 0.4s ease;}
.project-card:hover .project-card__info {transform: translateY(0);opacity: 1;}
.project-card__tag {display: inline-block;padding: 4px 12px;background: var(--bronze);color: var(--white);font-size: 0.7rem;font-weight: 700;text-transform: uppercase;letter-spacing: 1px;border-radius: var(--radius-pill);margin-bottom: 8px;}
.project-card__info h3 {font-family: var(--font-display);font-size: 1.15rem;font-weight: 400;margin-bottom: 2px;color: var(--stone);}
.project-card__info p {font-size: 0.85rem;color: rgba(243,244,246,0.75);}
.why {background: var(--alabaster);position: relative;overflow: hidden;}
.why__grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 16px;position: relative;z-index: 1;}
.why__card { padding: 36px 24px; text-align: center; }
.why__icon {width: 56px;height: 56px;margin: 0 auto 20px;display: flex;align-items: center;justify-content: center;background: rgba(29,78,216,0.1);border: 1px solid rgba(29,78,216,0.18);border-radius: 16px;font-size: 1.3rem;color: var(--forest-light);transition: all 0.3s ease;}
.why__card:hover .why__icon {transform: translateY(-4px);box-shadow: 0 8px 30px rgba(29,78,216,0.2);}
.why__card h3 {font-family: var(--font-display);font-size: 1.05rem;font-weight: 400;margin-bottom: 10px;letter-spacing: -0.01em;color: var(--forest);}
.why__card p {font-size: 0.85rem;color: var(--text-light);line-height: 1.7;}
.testimonials {position: relative;overflow: hidden;}
.testimonials__carousel {position: relative;overflow: hidden;z-index: 1;}
.testimonials__track {display: flex;transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);cursor: grab;}
.testimonials__track.grabbing {cursor: grabbing;transition: none;}
.testimonial {min-width: 100%;padding: 36px;display: flex;flex-direction: column;}
@media (min-width: 769px) {.testimonial {min-width: calc(100% / 3);padding: 36px;}}
.testimonial__stars {display: flex;gap: 3px;color: var(--bronze);font-size: 0.85rem;margin-bottom: 20px;}
.testimonial blockquote {font-size: 0.95rem;color: rgba(243,244,246,0.7);line-height: 1.8;margin-bottom: 28px;font-style: italic;flex-grow: 1;}
.testimonial__author {display: flex;align-items: center;gap: 14px;}
.testimonial__avatar {width: 44px;height: 44px;background: linear-gradient(135deg, var(--bronze), var(--bronze-light));color: var(--white);border-radius: 12px;display: flex;align-items: center;justify-content: center;font-weight: 800;font-size: 1rem;}
.testimonial__author strong {display: block;font-size: 0.9rem;color: var(--stone);}
.testimonial__author span {font-size: 0.78rem;color: rgba(243,244,246,0.75);}
.testimonials__dots {display: flex;justify-content: center;gap: 0;margin-top: 16px;position: relative;z-index: 1;}
.testimonials__dot {width: 10px;height: 10px;border-radius: 50%;background: rgba(243,244,246,0.2);border: none;cursor: pointer;transition: all 0.3s ease;padding: 17px;background-clip: content-box;}
.testimonials__dot.active {background: var(--bronze);background-clip: content-box;transform: scale(1.2);}
.testimonials__pause {width: 44px;height: 44px;border-radius: 50%;background: rgba(243,244,246,0.1);border: 1px solid rgba(243,244,246,0.2);color: rgba(243,244,246,0.75);cursor: pointer;display: flex;align-items: center;justify-content: center;font-size: 0.7rem;transition: all 0.3s ease;margin-left: 8px;}
.testimonials__pause:hover {background: rgba(243,244,246,0.2);}
.testimonials__controls {display: inline-flex;align-items: center;gap: 4px;margin-left: 12px;}
.testimonials__arrow {width: 44px;height: 44px;border-radius: 50%;background: rgba(243,244,246,0.1);border: 1px solid rgba(243,244,246,0.2);color: rgba(243,244,246,0.75);cursor: pointer;display: flex;align-items: center;justify-content: center;font-size: 0.75rem;transition: all 0.3s ease;}
.testimonials__arrow:hover:not(:disabled) {background: rgba(243,244,246,0.2);}
.testimonials__arrow:disabled {opacity: 0.3;cursor: default;}
.lightbox__nav {position: absolute;top: 50%;transform: translateY(-50%);width: 48px;height: 48px;border-radius: 50%;background: rgba(0,0,0,0.6);border: 1px solid rgba(255,255,255,0.2);color: #fff;cursor: pointer;display: flex;align-items: center;justify-content: center;font-size: 1rem;transition: background 0.2s ease;z-index: 10;}
.lightbox__nav:hover { background: rgba(0,0,0,0.8); }
.lightbox__nav--prev { left: 16px; }
.lightbox__nav--next { right: 16px; }
.testimonials__grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 16px;}
.cta {position: relative;padding: 100px 0;text-align: center;overflow: hidden;background: var(--forest);color: var(--stone);}
.cta__glow {position: absolute;top: 50%;left: 50%;width: 800px;height: 500px;transform: translate(-50%, -50%);background: radial-gradient(ellipse, rgba(29,78,216,0.12), transparent 70%);pointer-events: none;animation: auroraGlow 8s ease-in-out infinite alternate;}
@keyframes auroraGlow {0% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
100% { transform: translate(-50%, -50%) scale(0.9); opacity: 0.7; }}
.cta::before {content: '';position: absolute;inset: 0;background: linear-gradient(135deg, rgba(29,78,216,0.05) 0%, transparent 50%, rgba(251,191,36,0.05) 100%);background-attachment: fixed;pointer-events: none;}
.cta h2 {font-family: var(--font-display);font-size: clamp(2rem, 4vw, 3rem);font-weight: 400;margin-bottom: 16px;letter-spacing: -0.01em;color: var(--stone);position: relative;z-index: 1;}
.cta p {font-size: 1.05rem;color: rgba(243,244,246,0.75);margin-bottom: 36px;position: relative;z-index: 1;}
.cta__actions {display: flex;gap: 16px;justify-content: center;flex-wrap: wrap;position: relative;z-index: 1;}
.contact { background: var(--alabaster); }
.contact__grid {display: grid;grid-template-columns: 1fr 1.3fr;gap: 40px;align-items: start;}
.contact__card {padding: 36px;background: var(--forest) !important;border-color: transparent !important;}
.contact__item {display: flex;align-items: flex-start;gap: 16px;padding: 16px 0;}
.contact__item + .contact__item {border-top: 1px solid rgba(255,255,255,0.08);}
.contact__icon {width: 44px;height: 44px;flex-shrink: 0;display: flex;align-items: center;justify-content: center;background: rgba(29,78,216,0.12);border: 1px solid rgba(29,78,216,0.2);border-radius: 12px;color: var(--sage);font-size: 1rem;}
.contact__label {display: block;font-size: 0.7rem;font-weight: 700;text-transform: uppercase;letter-spacing: 1.5px;color: rgba(243,244,246,0.75);margin-bottom: 4px;}
.contact__item a,.contact__item p {color: rgba(243,244,246,0.7);font-size: 0.9rem;line-height: 1.5;}
.contact__item a:hover { color: var(--bronze); }
.contact__social {display: flex;gap: 10px;margin-top: 24px;}
.social-btn {width: 44px;height: 44px;display: flex;align-items: center;justify-content: center;background: rgba(29,78,216,0.08);border: 1px solid var(--border);border-radius: 12px;color: var(--text-light);font-size: 1.1rem;transition: all 0.3s ease;}
.social-btn:hover {background: var(--forest);color: var(--stone);border-color: var(--forest);transform: translateY(-3px);box-shadow: 0 8px 25px rgba(31,41,55,0.2);}
.contact__form { padding: 36px; }
.form-row {display: grid;grid-template-columns: 1fr 1fr;gap: 16px;}
.form-group {margin-bottom: 16px;position: relative;}
.form-group input,.form-group textarea {width: 100%;padding: 16px;font-family: var(--font-sans);font-size: 0.9rem;background: var(--alabaster);border: 1px solid var(--border);border-radius: var(--radius);color: var(--text);outline: none;transition: all 0.3s ease;}
.form-group select {width: 100%;padding: 16px;font-family: var(--font-sans);font-size: 0.9rem;background: var(--alabaster);border: 1px solid var(--border);border-radius: var(--radius);color: var(--text-light);outline: none;transition: all 0.3s ease;appearance: none;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A96E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat: no-repeat;background-position: right 16px center;cursor: pointer;}
.form-group select option {background: var(--white);color: var(--text);}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus {border-color: var(--sage);box-shadow: 0 0 0 3px rgba(29,78,216,0.12);}
.form-group label {position: absolute;left: 16px;top: 16px;font-size: 0.9rem;color: var(--text-light);pointer-events: none;transition: all 0.25s ease;}
.form-group input:focus + label,.form-group input:not(:placeholder-shown) + label,.form-group textarea:focus + label,.form-group textarea:not(:placeholder-shown) + label {top: -8px;left: 12px;font-size: 0.7rem;font-weight: 600;color: var(--forest-light);background: var(--white);padding: 0 6px;letter-spacing: 0.5px;}
.form-group textarea { resize: vertical; min-height: 100px; }
.contact__form .btn--primary {background: var(--forest);color: var(--stone);}
.contact__form .btn--primary:hover { background: var(--forest-mid); }
.contact__form .btn--glow {box-shadow: 0 4px 20px rgba(31,41,55,0.2);}
.form-group input.invalid,.form-group textarea.invalid,.form-group select.invalid {border-color: #EF4444;box-shadow: 0 0 0 3px rgba(239,68,68,0.12);}
.form-group input.valid,.form-group textarea.valid,.form-group select.valid {border-color: #FBBF24;box-shadow: 0 0 0 3px rgba(251,191,36,0.08);}
.form-error {display: block;font-size: 0.78rem;color: #EF4444;margin-top: 6px;min-height: 0;overflow: hidden;max-height: 0;opacity: 0;transition: max-height 0.3s ease, opacity 0.3s ease, margin 0.3s ease;}
.form-error.active {max-height: 40px;opacity: 1;}
.form-group[aria-hidden="true"] {position: absolute;left: -9999px;top: -9999px;width: 1px;height: 1px;overflow: hidden;opacity: 0;pointer-events: none;tab-index: -1;}
.modal {position: fixed;inset: 0;z-index: 10000;display: flex;align-items: center;justify-content: center;background: rgba(0,0,0,0.6);backdrop-filter: blur(4px);-webkit-backdrop-filter: blur(4px);opacity: 0;visibility: hidden;transition: opacity 0.3s ease, visibility 0.3s ease;padding: 20px;}
.modal.active {opacity: 1;visibility: visible;}
.modal__dialog {position: relative;width: 100%;max-width: 560px;max-height: 90vh;overflow-y: auto;background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-lg);box-shadow: 0 25px 60px rgba(0,0,0,0.15);padding: 40px;transform: translateY(20px) scale(0.97);transition: transform 0.3s ease;}
.modal.active .modal__dialog {transform: translateY(0) scale(1);}
.modal__close {position: absolute;top: 16px;right: 16px;width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;background: rgba(31,41,55,0.06);border: none;border-radius: 50%;font-size: 1.2rem;color: var(--text-light);cursor: pointer;transition: all 0.2s ease;}
.modal__close:hover {background: rgba(239,68,68,0.1);color: #EF4444;}
.modal__header {margin-bottom: 24px;text-align: center;}
.modal__header h2 {font-family: var(--font-display);font-size: 1.6rem;color: var(--text);margin-bottom: 6px;}
.modal__header p {font-size: 0.9rem;color: var(--text-light);}
.modal__dialog .form-group label {color: var(--text-light);}
.modal__dialog .form-group input,.modal__dialog .form-group textarea,.modal__dialog .form-group select {background: var(--alabaster);color: var(--text);}
.mobile-cta {position: fixed;bottom: 0;left: 0;right: 0;z-index: 9000;display: none;align-items: center;justify-content: center;gap: 10px;padding: 12px 16px;padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));background: var(--forest);border-top: 1px solid rgba(255,255,255,0.08);box-shadow: 0 -4px 20px rgba(0,0,0,0.15);transform: translateY(100%);transition: transform 0.3s ease;}
.mobile-cta.visible {transform: translateY(0);}
.mobile-cta .btn {flex: 1;text-align: center;font-size: 0.85rem;padding: 12px 16px;white-space: nowrap;}
@media (max-width: 768px) {.mobile-cta {display: flex;}
.modal__dialog {padding: 24px;max-height: 85vh;}
.modal__header h2 {font-size: 1.3rem;}}
.footer {border-top: 1px solid rgba(255,255,255,0.06);padding: 60px 0 0;background: var(--forest);color: rgba(243,244,246,0.75);}
.footer .logo__img {height: 80px;filter: brightness(0) invert(1);}
.footer__top {display: grid;grid-template-columns: 1.2fr 2fr;gap: 60px;padding-bottom: 48px;}
.footer__brand p {color: rgba(243,244,246,0.75);font-size: 0.85rem;line-height: 1.7;margin-top: 16px;max-width: 280px;}
.footer__nav {display: grid;grid-template-columns: repeat(3, 1fr);gap: 32px;}
.footer__col h3 {font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 2px;color: var(--stone);margin-bottom: 20px;}
.footer__col a {display: block;font-size: 0.85rem;color: rgba(243,244,246,0.75);padding: 4px 0;transition: all 0.3s ease;}
.footer__col a:hover {color: var(--bronze);transform: translateX(4px);}
.footer__bottom {border-top: 1px solid rgba(255,255,255,0.06);padding: 20px 0;display: flex;justify-content: space-between;font-size: 0.78rem;color: rgba(243,244,246,0.75);}
.footer__bottom a {color: rgba(243,244,246,0.75);text-decoration: underline;text-underline-offset: 2px;}
.footer__bottom a:hover { color: var(--stone); }
.lightbox {position: fixed;inset: 0;z-index: 10000;background: rgba(0,0,0,0.92);backdrop-filter: blur(16px);-webkit-backdrop-filter: blur(16px);display: flex;align-items: center;justify-content: center;flex-direction: column;opacity: 0;pointer-events: none;transition: opacity 0.4s ease;cursor: zoom-out;}
.lightbox.active {opacity: 1;pointer-events: all;}
.lightbox__img {max-width: 90vw;max-height: 80vh;object-fit: contain;border-radius: var(--radius-lg);box-shadow: 0 20px 80px rgba(0,0,0,0.5);transform: scale(0.9);opacity: 0;transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);}
.lightbox.active .lightbox__img {transform: scale(1);opacity: 1;}
.lightbox__close {position: absolute;top: 24px;right: 28px;background: none;border: none;color: rgba(243,244,246,0.7);font-size: 2.2rem;cursor: pointer;transition: all 0.3s ease;line-height: 1;padding: 8px;z-index: 10001;}
.lightbox__close:hover {color: var(--stone);transform: scale(1.15);}
.lightbox__caption {margin-top: 20px;font-size: 0.95rem;font-weight: 600;color: rgba(243,244,246,0.6);letter-spacing: 0.5px;transform: translateY(10px);opacity: 0;transition: all 0.4s ease 0.15s;}
.lightbox.active .lightbox__caption {transform: translateY(0);opacity: 1;}
.fade-up {opacity: 0;transform: translateY(30px);animation: fadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;}
.fade-up:nth-child(1) { animation-delay: 0.15s; }
.fade-up:nth-child(2) { animation-delay: 0.3s; }
.fade-up:nth-child(3) { animation-delay: 0.45s; }
.fade-up:nth-child(4) { animation-delay: 0.6s; }
@keyframes fadeUp {to { opacity: 1; transform: translateY(0); }}
.reveal {opacity: 0;transform: translateY(40px);transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.reveal.visible {opacity: 1;transform: translateY(0) translateX(0);}
.reveal-left {opacity: 0;transform: translateX(-60px);transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.reveal-left.visible {opacity: 1;transform: translateX(0);}
.reveal-right {opacity: 0;transform: translateX(60px);transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.reveal-right.visible {opacity: 1;transform: translateX(0);}
.reveal-up {opacity: 0;transform: translateY(60px);transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
.reveal-up.visible {opacity: 1;transform: translateY(0);}
@media (max-width: 1024px) {.services__bento { grid-template-columns: repeat(2, 1fr); }
.service-card--featured { grid-row: span 1; }
.why__grid { grid-template-columns: repeat(2, 1fr); }
.projects__grid { grid-template-columns: repeat(2, 1fr); }
.footer__top { grid-template-columns: 1fr; }
.about__grid { gap: 48px; }}
@media (max-width: 768px) {.section { padding: 64px 0; }
.container { padding: 0 20px; }
.section-header { margin-bottom: 40px; }
.section-divider {height: 24px;margin: -1px 0;}
.nav-toggle { display: flex; }
.btn--nav { display: none; }
.nav {position: fixed;inset: 0;background: rgba(31,41,55,0.97);backdrop-filter: blur(24px);display: flex;align-items: center;justify-content: center;opacity: 0;visibility: hidden;pointer-events: none;transition: opacity 0.4s ease, visibility 0.4s ease;z-index: 100;}
.nav.open { opacity: 1; visibility: visible; pointer-events: all; }
.nav__list {flex-direction: column;gap: 8px;text-align: center;}
.nav__link {font-size: 1.5rem;padding: 12px 24px;color: rgba(243,244,246,0.8) !important;}
.nav__link:hover,.nav__link.active { color: var(--stone) !important; }
.nav__link::after { display: none; }
.hero { min-height: calc(100vh - 60px); min-height: calc(100svh - 60px); }
.hero__content { padding: 110px 0 80px; }
.hero__badge { font-size: 0.72rem; padding: 6px 14px; margin-bottom: 20px; }
.hero__title { font-size: clamp(2.4rem, 10vw, 3.5rem); margin-bottom: 16px; }
.hero__subtitle { font-size: 0.9rem; margin-bottom: 28px; line-height: 1.7; }
.hero__actions {flex-direction: column;align-items: stretch;width: 100%;}
.hero__actions .btn {justify-content: center;width: 100%;padding: 16px 24px;}
.hero__orb--1 { width: 300px; height: 300px; top: -10%; right: -15%; }
.hero__orb--2 { width: 250px; height: 250px; bottom: 10%; left: -15%; }
.hero__orb--3 { width: 200px; height: 200px; top: 40%; left: 30%; }
.ticker__track span { font-size: 0.72rem; letter-spacing: 1.5px; }
.ticker__track { gap: 20px; }
.stats { padding: 40px 0; }
.stats__grid {display: grid;grid-template-columns: 1fr 1fr;gap: 24px 16px;justify-items: center;}
.stats__divider { display: none; }
.stats__number { font-size: 2.4rem; }
.stats__suffix { font-size: 1.2rem; }
.stats__label { font-size: 0.7rem; }
.about__grid { grid-template-columns: 1fr; gap: 36px; }
.about__pills { gap: 8px; }
.about__pills .pill { font-size: 0.78rem; padding: 8px 14px; }
.about__image--float {width: 140px;height: 140px;bottom: -16px;right: -8px;border-width: 2px;}
.about__badge-card {left: 0;top: 16px;padding: 14px 16px;}
.about__badge-number { font-size: 2rem; }
.about__badge-text { font-size: 0.6rem; }
.about .btn { width: 100%; justify-content: center; }
.services__bento { grid-template-columns: 1fr; gap: 12px; }
.service-card { padding: 28px 20px; }
.service-card--featured { padding: 28px 20px; }
.projects__grid { grid-template-columns: 1fr; grid-auto-rows: 200px; gap: 12px; }
.project-card--wide { grid-column: span 1; }
.project-card__info { opacity: 1; transform: translateY(0); }
.project-card__info { padding: 20px; }
.why__grid { grid-template-columns: 1fr; gap: 12px; }
.why__card { padding: 28px 20px; text-align: left; }
.why__icon { margin: 0 0 16px 0; }
.testimonials__grid { grid-template-columns: 1fr; }
.testimonial { padding: 24px 16px; }
.cta { padding: 64px 0; }
.cta__actions {flex-direction: column;align-items: stretch;width: 100%;}
.cta__actions .btn {justify-content: center;width: 100%;}
.cta::before { background-attachment: scroll; }
.contact__grid { grid-template-columns: 1fr; gap: 24px; }
.form-row { grid-template-columns: 1fr; }
.contact__form .btn { width: 100%; justify-content: center; }
.contact__item a,.contact__item p {word-break: break-word;overflow-wrap: break-word;font-size: 0.85rem;}
.contact__card { padding: 24px; }
.contact__form { padding: 24px; }
.footer { padding: 40px 0 0; }
.footer__top { gap: 32px; padding-bottom: 32px; }
.footer__nav { grid-template-columns: repeat(2, 1fr); gap: 24px; }
.footer__bottom { flex-direction: column; gap: 8px; text-align: center; }
.cursor-glow { display: none; }
.watermark { font-size: 20vw; opacity: 0.02; }
.lightbox__img { max-width: 95vw; max-height: 70vh; border-radius: var(--radius); }
.lightbox__close { top: 16px; right: 16px; font-size: 1.8rem; }
.reveal-left { transform: translateX(-30px); }
.reveal-right { transform: translateX(30px); }
.reveal-up { transform: translateY(30px); }
.reveal { transform: translateY(20px); }
.reading-progress { height: 2px; }}
@media (max-width: 480px) {.container { padding: 0 16px; }
.section { padding: 48px 0; }
.hero__title { font-size: 2.2rem; letter-spacing: -0.01em; }
.hero__content { padding: 100px 0 70px; }
.hero__badge { font-size: 0.65rem; gap: 6px; padding: 5px 12px; }
.stats__grid { gap: 16px 12px; }
.stats__number { font-size: 2rem; }
.stats__suffix { font-size: 1rem; }
.about__image--float { width: 110px; height: 110px; bottom: -12px; right: 0; }
.about__lead { font-size: 1rem; }
.about__text { font-size: 0.88rem; }
.service-card { padding: 24px 16px; }
.service-card h3 { font-size: 1.1rem; }
.service-card__number { font-size: 3rem; }
.project-card__info h3 { font-size: 1rem; }
.projects__grid { grid-auto-rows: 180px; }
.cta h2 { font-size: 1.6rem; }
.cta p { font-size: 0.9rem; margin-bottom: 24px; }
.contact__icon { width: 36px; height: 36px; font-size: 0.85rem; }
.contact__item { gap: 12px; padding: 12px 0; }
.contact__label { font-size: 0.65rem; }
.contact__item a,.contact__item p { font-size: 0.82rem; }
.footer__nav { grid-template-columns: 1fr; }
.footer__col { margin-bottom: 8px; }
.testimonial blockquote { font-size: 0.88rem; line-height: 1.7; }
.testimonial__stars { font-size: 0.75rem; }
.testimonials__dots { margin-top: 20px; }
.section-title { font-size: clamp(1.8rem, 6vw, 2.4rem); }
.section-desc { font-size: 0.92rem; }
.inline-cta { padding: 24px 16px; border-radius: var(--radius-lg); margin: 24px 0; }
.inline-cta h3 { font-size: 1.2rem; }
.inline-cta p { font-size: 0.85rem; }}
@supports (padding: max(0px)) {.hero__content {padding-left: max(20px, env(safe-area-inset-left));padding-right: max(20px, env(safe-area-inset-right));}
.footer__bottom {padding-bottom: max(20px, env(safe-area-inset-bottom));}}
.breadcrumbs {padding: 100px 0 0;background: var(--alabaster);}
.breadcrumbs__list {display: flex;align-items: center;gap: 8px;font-size: 0.8rem;color: var(--text-light);flex-wrap: wrap;}
.breadcrumbs__list a {color: var(--text-mid);font-weight: 500;transition: color 0.3s ease;}
.breadcrumbs__list a:hover { color: var(--bronze); }
.breadcrumbs__sep {color: var(--text-light);opacity: 0.4;font-size: 0.7rem;}
.breadcrumbs__current {color: var(--forest);font-weight: 600;}
.page-hero {padding: 40px 0 48px;background: var(--alabaster);}
.page-hero__tag {display: inline-block;font-size: 0.75rem;font-weight: 700;text-transform: uppercase;letter-spacing: 3px;color: var(--sage);margin-bottom: 12px;}
.page-hero h1 {font-family: var(--font-display);font-size: clamp(2rem, 4vw, 3rem);font-weight: 400;line-height: 1.15;color: var(--forest);letter-spacing: -0.01em;margin-bottom: 16px;}
.page-hero__subtitle {font-size: 1.05rem;color: var(--text-mid);max-width: 620px;line-height: 1.7;}
.page-content {padding: 64px 0;background: var(--white);}
.page-content__grid {display: grid;grid-template-columns: 1fr;gap: 48px;max-width: 800px;margin: 0 auto;}
.page-content h2 {font-family: var(--font-display);font-size: 1.6rem;font-weight: 400;color: var(--forest);margin-bottom: 16px;letter-spacing: -0.01em;}
.page-content h3 {font-family: var(--font-display);font-size: 1.2rem;font-weight: 400;color: var(--forest);margin-bottom: 12px;}
.page-content p {color: var(--text-mid);font-size: 0.95rem;line-height: 1.8;margin-bottom: 16px;}
.page-content p:last-child { margin-bottom: 0; }
.page-content ul,.page-content ol {color: var(--text-mid);font-size: 0.95rem;line-height: 1.8;margin-bottom: 16px;padding-left: 24px;}
.page-content ul li,.page-content ol li {margin-bottom: 8px;}
.page-content a {color: var(--forest-light);font-weight: 500;text-decoration: underline;text-decoration-color: var(--sage);text-underline-offset: 3px;transition: color 0.3s ease;}
.page-content a:hover { color: var(--bronze); }
.feature-list {display: grid;grid-template-columns: repeat(2, 1fr);gap: 20px;margin: 24px 0;}
.feature-list__item {display: flex;align-items: flex-start;gap: 14px;padding: 20px;background: var(--alabaster);border: 1px solid var(--border);border-radius: var(--radius);transition: all 0.3s ease;}
.feature-list__item:hover {border-color: var(--border-hover);box-shadow: 0 4px 16px rgba(0,0,0,0.04);}
.feature-list__icon {width: 40px;height: 40px;flex-shrink: 0;display: flex;align-items: center;justify-content: center;background: rgba(29,78,216,0.1);border: 1px solid rgba(29,78,216,0.18);border-radius: 10px;color: var(--forest-light);font-size: 1rem;}
.feature-list__text h4 {font-family: var(--font-display);font-size: 0.95rem;font-weight: 400;color: var(--forest);margin-bottom: 4px;}
.feature-list__text p {font-size: 0.85rem;color: var(--text-light);line-height: 1.6;margin-bottom: 0;}
.process-steps {counter-reset: step;margin: 24px 0;}
.process-step {counter-increment: step;display: flex;align-items: flex-start;gap: 20px;padding: 24px 0;border-bottom: 1px solid var(--border);}
.process-step:last-child { border-bottom: none; }
.process-step__number {flex-shrink: 0;width: 48px;height: 48px;display: flex;align-items: center;justify-content: center;background: var(--forest);color: var(--stone);font-family: var(--font-display);font-weight: 400;font-size: 1.1rem;border-radius: 14px;}
.process-step h4 {font-family: var(--font-display);font-size: 1rem;font-weight: 400;color: var(--forest);margin-bottom: 6px;}
.process-step p {font-size: 0.9rem;color: var(--text-light);line-height: 1.7;margin-bottom: 0;}
.faq-section {padding: 80px 0;background: var(--stone);}
.faq-section .section-header { margin-bottom: 48px; }
.faq-list {max-width: 800px;margin: 0 auto;}
.faq-item {border: 1px solid var(--border);border-radius: var(--radius);margin-bottom: 12px;background: var(--white);overflow: hidden;transition: border-color 0.3s ease;}
.faq-item:hover { border-color: var(--border-hover); }
.faq-item.active {border-color: var(--sage);box-shadow: 0 4px 16px rgba(29,78,216,0.1);}
.faq-question {display: flex;align-items: center;justify-content: space-between;width: 100%;padding: 20px 24px;background: none;border: none;font-family: var(--font-sans);font-size: 0.95rem;font-weight: 600;color: var(--forest);cursor: pointer;text-align: left;line-height: 1.5;transition: color 0.3s ease;}
.faq-question:hover { color: var(--forest-light); }
.faq-question__icon {flex-shrink: 0;width: 28px;height: 28px;display: flex;align-items: center;justify-content: center;background: rgba(29,78,216,0.1);border-radius: 8px;font-size: 0.8rem;color: var(--forest-light);margin-left: 16px;transition: all 0.3s ease;}
.faq-item.active .faq-question__icon {background: var(--forest);color: var(--stone);transform: rotate(45deg);}
.faq-answer {max-height: 0;overflow: hidden;transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);}
.faq-answer__inner {padding: 0 24px 20px;font-size: 0.9rem;color: var(--text-mid);line-height: 1.8;}
.faq-answer > p {padding: 0 24px 20px;font-size: 0.9rem;color: var(--text-mid);line-height: 1.8;margin: 0;}
.faq-question > i {flex-shrink: 0;font-size: 0.8rem;color: var(--forest-light);margin-left: 16px;transition: all 0.3s ease;}
.faq-item.active .faq-question > i {transform: rotate(180deg);color: var(--bronze);}
.inline-cta {padding: 48px;background: var(--forest);border-radius: var(--radius-xl);text-align: center;margin: 48px 0;}
.inline-cta h3 {font-family: var(--font-display);font-size: 1.5rem;font-weight: 400;color: var(--stone);margin-bottom: 12px;}
.inline-cta p {font-size: 0.95rem;color: rgba(243,244,246,0.6);margin-bottom: 24px;}
.inline-cta .btn--primary {background: var(--bronze);color: var(--white);}
.inline-cta .btn--primary:hover { background: var(--bronze-light); }
.page-testimonial {padding: 80px 0;background: var(--forest);color: var(--stone);}
.page-testimonial__card {max-width: 700px;margin: 0 auto;text-align: center;}
.page-testimonial__stars {display: flex;gap: 3px;color: var(--bronze);font-size: 1rem;justify-content: center;margin-bottom: 24px;}
.page-testimonial blockquote {font-size: 1.15rem;color: rgba(243,244,246,0.8);line-height: 1.8;font-style: italic;margin-bottom: 24px;}
.page-testimonial cite {font-size: 0.9rem;font-style: normal;font-weight: 600;color: var(--sage);}
.page-cta {padding: 80px 0;text-align: center;background: var(--alabaster);}
.page-cta h2 {font-family: var(--font-display);font-size: clamp(1.8rem, 3.5vw, 2.5rem);font-weight: 400;color: var(--forest);margin-bottom: 16px;}
.page-cta p {font-size: 1.05rem;color: var(--text-mid);margin-bottom: 32px;max-width: 500px;margin-left: auto;margin-right: auto;}
.page-cta .btn--primary {background: var(--forest);color: var(--stone);}
.page-cta .btn--primary:hover { background: var(--forest-mid); }
.blog-content {padding: 64px 0 80px;background: var(--white);}
.blog-content__article {max-width: 740px;margin: 0 auto;}
.blog-content__article h2 {font-family: var(--font-display);font-size: 1.6rem;font-weight: 400;color: var(--forest);margin: 40px 0 16px;letter-spacing: -0.01em;}
.blog-content__article h3 {font-family: var(--font-display);font-size: 1.2rem;font-weight: 400;color: var(--forest);margin: 28px 0 12px;}
.blog-content__article p {color: var(--text-mid);font-size: 1rem;line-height: 1.85;margin-bottom: 20px;}
.blog-content__article ul,.blog-content__article ol {color: var(--text-mid);font-size: 1rem;line-height: 1.85;margin-bottom: 20px;padding-left: 24px;}
.blog-content__article li { margin-bottom: 8px; }
.blog-content__article a {color: var(--forest-light);font-weight: 500;text-decoration: underline;text-decoration-color: var(--sage);text-underline-offset: 3px;}
.blog-content__article a:hover { color: var(--bronze); }
.blog-content__article strong { color: var(--forest); }
.blog-meta {display: flex;align-items: center;gap: 16px;font-size: 0.8rem;color: var(--text-light);margin-bottom: 32px;padding-bottom: 24px;border-bottom: 1px solid var(--border);}
.blog-meta__date,.blog-meta__read { display: flex; align-items: center; gap: 6px; }
.blog-meta i { color: var(--sage); font-size: 0.75rem; }
.related-posts {padding: 80px 0;background: var(--stone);}
.related-posts .section-header { margin-bottom: 40px; }
.related-posts__grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 24px;max-width: 1000px;margin: 0 auto;}
.related-card {background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 28px;transition: all 0.3s ease;display: flex;flex-direction: column;}
.related-card:hover {border-color: var(--border-hover);box-shadow: 0 8px 30px rgba(0,0,0,0.06);transform: translateY(-4px);}
.related-card__tag {display: inline-block;font-size: 0.7rem;font-weight: 700;text-transform: uppercase;letter-spacing: 1.5px;color: var(--sage);margin-bottom: 12px;}
.related-card h3 {font-family: var(--font-display);font-size: 1.05rem;font-weight: 400;color: var(--forest);line-height: 1.4;margin-bottom: 12px;}
.related-card p {font-size: 0.85rem;color: var(--text-light);line-height: 1.7;margin-bottom: 16px;flex-grow: 1;}
.related-card__link {font-size: 0.85rem;font-weight: 600;color: var(--forest);display: inline-flex;align-items: center;gap: 6px;transition: color 0.3s ease;text-decoration: none !important;}
.related-card__link:hover { color: var(--bronze); }
.related-card__link i { font-size: 0.7rem; transition: transform 0.3s ease; }
.related-card:hover .related-card__link i { transform: translateX(4px); }
.related-posts__card {display: block;background: var(--white);border: 1px solid var(--border);border-radius: var(--radius-lg);padding: 28px;transition: all 0.3s ease;text-decoration: none;}
.related-posts__card:hover {border-color: var(--border-hover);box-shadow: 0 8px 30px rgba(0,0,0,0.06);transform: translateY(-4px);}
.related-posts__content h3,.related-posts__card h3 {font-family: var(--font-display);font-size: 1.05rem;font-weight: 400;color: var(--forest);line-height: 1.4;margin-bottom: 8px;}
.related-posts__content p,.related-posts__card p {font-size: 0.85rem;color: var(--text-light);line-height: 1.7;margin-bottom: 12px;}
.related-posts__link {font-size: 0.85rem;font-weight: 600;color: var(--forest);display: inline-flex;align-items: center;gap: 6px;}
.related-posts__link i { font-size: 0.7rem; }
.related-posts.section--dark .related-posts__card,.related-posts.section--dark .related-card {background: rgba(255,255,255,0.05);border-color: rgba(255,255,255,0.08);}
.related-posts.section--dark .related-posts__card:hover,.related-posts.section--dark .related-card:hover {background: rgba(255,255,255,0.08);border-color: rgba(255,255,255,0.14);}
.related-posts.section--dark .related-posts__content h3,.related-posts.section--dark .related-posts__card h3,.related-posts.section--dark .related-card h3 {color: var(--stone);}
.related-posts.section--dark .related-posts__content p,.related-posts.section--dark .related-posts__card p,.related-posts.section--dark .related-card p {color: rgba(243,244,246,0.75);}
.related-posts.section--dark .related-posts__link,.related-posts.section--dark .related-card__link {color: var(--sage);}
body.inner-page .header {background: rgba(255,255,255,0.95);backdrop-filter: blur(20px);-webkit-backdrop-filter: blur(20px);border-bottom: 1px solid var(--border);}
body.inner-page .logo__img { filter: brightness(0); }
body.inner-page .nav__link { color: var(--text-light); }
body.inner-page .nav__link:hover { color: var(--forest); }
body.inner-page .nav__link.active { color: var(--forest); }
body.inner-page .nav-toggle span { background: var(--forest); }
@media (max-width: 768px) {.breadcrumbs { padding: 88px 0 0; }
.page-hero { padding: 24px 0 36px; }
.page-content { padding: 40px 0; }
.feature-list { grid-template-columns: 1fr; }
.faq-section { padding: 60px 0; }
.inline-cta { padding: 32px 24px; margin: 32px 0; }
.page-testimonial { padding: 60px 0; }
.page-cta { padding: 60px 0; }
.blog-content { padding: 40px 0 60px; }
.related-posts { padding: 60px 0; }
.related-posts__grid { grid-template-columns: 1fr; }
.blog-meta { flex-wrap: wrap; }}
@media (max-width: 480px) {.process-step { flex-direction: column; gap: 12px; }
.faq-question { padding: 16px; font-size: 0.88rem; }
.faq-answer__inner { padding: 0 16px 16px; }
.inline-cta { padding: 24px 16px; border-radius: var(--radius-lg); }}
@media (prefers-reduced-motion: reduce) {*, *::before, *::after {animation-duration: 0.01ms !important;animation-iteration-count: 1 !important;transition-duration: 0.01ms !important;scroll-behavior: auto !important;}
.hero__orb { animation: none !important; }
.ticker__track { animation: none !important; }
.cta__glow { animation: none !important; }
.glass-card:hover::before { animation: none !important; }
.reveal,.reveal-left,.reveal-right,.reveal-up {opacity: 1 !important;transform: none !important;}
.fade-up {opacity: 1 !important;transform: none !important;animation: none !important;}
.hero__title .word {opacity: 1 !important;transform: none !important;animation: none !important;}
.page-transition { display: none !important; }
.reading-progress { transition: none !important; }
body { animation: none !important; }}
.sr-only {position: absolute;width: 1px;height: 1px;padding: 0;margin: -1px;overflow: hidden;clip: rect(0, 0, 0, 0);white-space: nowrap;border: 0;}
.process {background: var(--alabaster);position: relative;overflow: hidden;}
.process__timeline {display: grid;grid-template-columns: repeat(4, 1fr);gap: 32px;position: relative;z-index: 1;}
.process__timeline::before {content: '';position: absolute;top: 40px;left: 10%;right: 10%;height: 2px;background: linear-gradient(90deg, var(--border), var(--sage), var(--border));z-index: 0;}
.process__step {text-align: center;position: relative;z-index: 1;}
.process__step-number {width: 80px;height: 80px;margin: 0 auto 24px;display: flex;align-items: center;justify-content: center;background: var(--white);border: 2px solid var(--sage);border-radius: 50%;font-family: var(--font-display);font-size: 1.8rem;color: var(--sage);transition: all 0.4s ease;}
.process__step:hover .process__step-number {background: var(--sage);color: var(--white);transform: scale(1.1);box-shadow: 0 8px 30px rgba(29,78,216,0.25);}
.process__step h3 {font-family: var(--font-display);font-size: 1.1rem;font-weight: 400;color: var(--forest);margin-bottom: 8px;}
.process__step p {font-size: 0.85rem;color: var(--text-light);line-height: 1.7;max-width: 240px;margin: 0 auto;}
.areas {background: var(--stone);position: relative;overflow: hidden;}
.areas .section-desc { color: #334155; }
.areas .tag { color: #1E3A5F; }
.areas__grid {display: grid;grid-template-columns: repeat(4, 1fr);gap: 16px;position: relative;z-index: 1;}
.area-card {display: flex;align-items: center;gap: 14px;padding: 20px 24px;background: var(--white);border: 1px solid var(--border);border-radius: var(--radius);transition: all 0.3s ease;text-decoration: none;}
.area-card:hover {border-color: var(--sage);box-shadow: 0 8px 30px rgba(0,0,0,0.06);transform: translateY(-3px);}
.area-card i {color: var(--sage);font-size: 1rem;flex-shrink: 0;}
.area-card span {font-size: 0.9rem;font-weight: 600;color: var(--forest);}
.area-card small {display: block;font-size: 0.75rem;color: var(--text-light);font-weight: 400;margin-top: 2px;}
.home-faq {background: var(--alabaster);position: relative;overflow: hidden;}
.home-faq .faq-list {max-width: 800px;margin: 0 auto;}
@media (max-width: 1024px) {.process__timeline { grid-template-columns: repeat(2, 1fr); gap: 40px; }
.process__timeline::before { display: none; }
.areas__grid { grid-template-columns: repeat(3, 1fr); }}
@media (max-width: 768px) {.process__timeline { grid-template-columns: 1fr; gap: 32px; }
.areas__grid { grid-template-columns: repeat(2, 1fr); }
.area-card { padding: 16px 18px; }}
@media (max-width: 480px) {.areas__grid { grid-template-columns: 1fr; }}
.lightbox {background: rgba(0,0,0,0.95);backdrop-filter: none;-webkit-backdrop-filter: none;}
body.inner-page .header {background: rgba(255,255,255,0.98);backdrop-filter: none;-webkit-backdrop-filter: none;}
@media (max-width: 768px) {.nav {background: rgba(15,23,42,0.99);backdrop-filter: none;-webkit-backdrop-filter: none;}}
.glass-card::before,.service-card.glass-card::before {display: none !important;}
.section--dark .glass-card {background: #1E293B;border-color: rgba(255,255,255,0.08);}
.section--dark .glass-card:hover {background: #243047;border-color: rgba(255,255,255,0.14);}
.service-card:hover .service-card__icon-wrap {transform: none;}
.project-card:hover {transform: none;}
.project-card:hover .project-card__bg img {transform: none;}
.project-card:hover .project-card__placeholder {transform: none;}
.why__card:hover .why__icon {transform: none;box-shadow: none;}
.social-btn:hover {transform: none;box-shadow: none;}
.footer__col a:hover {transform: none;}
.related-card:hover {transform: none;}
.related-posts__card:hover {transform: none;}
.lightbox__close:hover {transform: none;}
.testimonials__dot.active {transform: none;}
.related-card:hover .related-card__link i {transform: none;}
.btn::after {display: none;}
.btn--primary:hover {transform: none;}
.btn--ghost:hover {transform: none;}
.btn--glow,.btn--glow:hover,.hero .btn--glow,.hero .btn--glow:hover,.cta .btn--glow,.cta .btn--glow:hover {box-shadow: none;}
.btn:hover .btn__arrow {transform: none;}
.text-gradient {color: var(--sage);font-style: normal;}
.section--dark .text-gradient,.cta .text-gradient {color: var(--white);}
.hero__title--gradient {color: var(--white);font-style: normal;}
.cta::before {background-attachment: scroll;}
.reveal,.reveal-left,.reveal-right,.reveal-up {opacity: 1 !important;transform: none !important;transition: none !important;}
.reveal.visible,.reveal-left.visible,.reveal-right.visible,.reveal-up.visible {opacity: 1 !important;transform: none !important;}
.fade-up {opacity: 1 !important;transform: none !important;animation: none !important;}
.hero__title .word {opacity: 1 !important;transform: none !important;animation: none !important;}
.reading-progress {background: var(--sage);}
:root {--radius: 8px;--radius-lg: 12px;--radius-xl: 16px;}
a,.btn,.glass-card,.service-card,.project-card,.why__card,.social-btn,.footer__col a,.related-card,.related-posts__card,.faq-item,.faq-question,.faq-question__icon,.nav__link,.nav__link::after,.pill,.form-group input,.form-group textarea,.form-group select,.contact__item a,.modal,.modal__dialog,.lightbox,.lightbox__img,.lightbox__caption,.mobile-cta,.testimonials__track,.feature-list__item,.breadcrumbs__list a,.related-card__link,.related-card__link i,.related-posts__link i,.header {transition-duration: 0.15s !important;}
.reading-progress {transition: width 0.05s linear !important;}
.nav__link::after {transition-duration: 0.12s !important;}
.stats,.about,.services,.projects,.why,.testimonials,.cta,.contact,.faq-section,.related-posts,.page-testimonial,.page-cta,.blog-content {content-visibility: auto;contain-intrinsic-size: auto 600px;}
body {font-family: var(--font-sans);text-rendering: optimizeSpeed;}
.testimonials__track {will-change: transform;}
img {height: auto;}
.project-card__bg img,.about__image--main img,.about__image--float img {aspect-ratio: auto;}