:root{--green: #91998e;--green-dark: #6f776d;--black: #0f0f0f;--white: #ffffff;--off-white: #f6f6f4;--card-shadow: 0 24px 60px rgba(15, 15, 15, .12);--transition: .2s ease;font-family:Inter,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;color:var(--black);background:var(--off-white)}*{box-sizing:border-box}a{color:inherit;text-decoration:none}a:hover,a:focus-visible{text-decoration:underline}html,body{margin:0;background:var(--off-white);scroll-behavior:smooth;font-family:inherit}app-root{display:block}.container{width:min(1120px,100%);margin-inline:auto;padding-inline:clamp(1rem,4vw,2rem)}.site-header{position:sticky;top:0;z-index:100;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(15,15,15,.06)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,5vw,2.5rem);padding-block:clamp(.65rem,2vw,.9rem)}.brand{display:inline-flex;align-items:center;gap:clamp(.5rem,1.2vw,.75rem);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.brand__logo{display:block;height:clamp(64px,10vw,120px);width:auto;object-fit:contain}.brand__logo--footer{height:clamp(72px,11vw,140px)}.brand__mark{display:grid;place-items:center;width:40px;height:40px;border-radius:999px;background:var(--green);color:var(--white);font-weight:700;font-size:.95rem}.brand__mark--footer{width:48px;height:48px;font-size:1.1rem}.brand__name{font-size:.95rem}.primary-nav{display:flex;align-items:center;gap:clamp(1rem,4vw,2rem);font-size:.95rem}.primary-nav a{position:relative;font-weight:500;color:var(--black);padding-block:.25rem}.primary-nav a:after{content:"";position:absolute;inset-inline:0;bottom:-.35rem;height:2px;background:var(--green);opacity:0;transform:scaleX(0);transition:var(--transition)}.primary-nav a:hover:after,.primary-nav a:focus-visible:after{opacity:1;transform:scaleX(1)}.nav-cta{padding:.45rem 1.2rem;border-radius:999px;border:1px solid var(--green);transition:var(--transition)}.nav-cta:hover,.nav-cta:focus-visible{background:var(--green);color:var(--white);text-decoration:none}.hero{padding:clamp(4rem,12vw,6.5rem) 0 clamp(3rem,10vw,5rem);background:linear-gradient(135deg,#91998e29,#fff9)}.hero__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,4rem);align-items:center}.hero__content h1{font-size:clamp(2.5rem,6vw,3.5rem);line-height:1.05;margin-bottom:1.25rem}.hero__content .lead{font-size:1.1rem;max-width:32ch;color:#0f0f0fb8;margin-bottom:1.75rem}.hero__actions{display:flex;gap:1rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.75rem;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem;transition:var(--transition);border:1px solid transparent}.btn--primary{background:var(--green);color:var(--white)}.btn--primary:hover,.btn--primary:focus-visible{background:var(--green-dark)}.btn--ghost{background:transparent;color:var(--black);border-color:#0f0f0f1a}.btn--ghost:hover,.btn--ghost:focus-visible{border-color:var(--green);color:var(--green-dark)}.hero__stats{display:grid;gap:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.stat-card{background:var(--white);border-radius:16px;padding:1.5rem;box-shadow:var(--card-shadow);border:1px solid rgba(15,15,15,.08)}.stat-card__metric{display:block;font-size:2rem;font-weight:700;color:var(--green-dark)}.stat-card__label{font-size:.95rem;color:#0f0f0fad}.hero__note{background:var(--black);color:var(--white);padding:2rem;border-radius:20px}.hero__note h2{margin-top:0;font-size:1.5rem}.section{padding:clamp(3.5rem,10vw,6rem) 0}.section--light{background:var(--white)}.section--about{background:radial-gradient(circle at top right,rgba(145,153,142,.25),transparent 55%)}.section__header{display:grid;gap:.75rem;margin-bottom:clamp(2rem,6vw,3rem);max-width:60ch}.section__header h2{font-size:clamp(2rem,4.8vw,2.8rem);margin:0}.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--green-dark);margin:0}.card-grid{display:grid;gap:clamp(1.5rem,4vw,2.5rem);grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.service-card,.project-card{background:var(--white);border-radius:18px;padding:2rem;border:1px solid rgba(15,15,15,.08);box-shadow:0 20px 45px #0f0f0f14;display:grid;gap:.75rem}.service-card h3,.project-card h3,.process-step h3{margin:0}.service-card p,.project-card p,.process-step p{color:#0f0f0fb3;margin:0;line-height:1.6}.link{font-weight:600;color:var(--green-dark);text-decoration:none}.link:hover,.link:focus-visible{text-decoration:underline}.about__layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,6vw,4rem);align-items:center}.about__content{display:grid;gap:1.25rem}.about__accent{width:100%;min-height:320px;border-radius:24px;background:linear-gradient(160deg,#0f0f0f40,#0f0f0f14),url(https://images.unsplash.com/photo-1505691723518-36a5ac3be353?auto=format&fit=crop&w=1200&q=80) center/cover no-repeat;box-shadow:var(--card-shadow)}.card-grid--projects .project-card{position:relative;isolation:isolate}.card-grid--projects .project-card:after{content:"";position:absolute;inset:0;border-radius:inherit;border:2px solid transparent;transition:var(--transition);pointer-events:none}.card-grid--projects .project-card:hover:after,.card-grid--projects .project-card:focus-within:after{border-color:#91998e99}.process-list{list-style:none;padding:0;margin:0;display:grid;gap:1.5rem}.process-step{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;background:var(--white);border-radius:20px;padding:1.75rem 2rem;border:1px solid rgba(15,15,15,.06)}.process-step__index{font-size:1.6rem;font-weight:700;color:var(--green)}.section--testimonials{background:var(--black);color:var(--white)}.testimonials{display:grid;gap:2.5rem}.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(1.5rem,4vw,2.5rem)}.testimonial{margin:0;display:grid;gap:1.25rem;padding:2rem;border-radius:20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);line-height:1.6}.testimonial__name{display:block;font-weight:600}.testimonial__location{font-size:.85rem;opacity:.7}.section--contact{background:linear-gradient(135deg,#0f0f0fe6,#0f0f0fc7),url(https://images.unsplash.com/photo-1560185127-6ed189bf02f4?auto=format&fit=crop&w=1200&q=80) center/cover no-repeat;color:var(--white)}.contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,5vw,3.5rem)}.contact__intro{display:grid;gap:1.25rem}.contact__form{display:grid;gap:1rem;background:#ffffff14;border-radius:20px;padding:clamp(1.5rem,4vw,2.5rem);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.contact__form label{display:grid;gap:.35rem;font-size:.9rem}.contact__form input,.contact__form textarea{width:100%;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#0f0f0f4d;color:var(--white);padding:.85rem 1rem;font:inherit}.contact__form input::placeholder,.contact__form textarea::placeholder{color:#fff9}.contact__form input:focus,.contact__form textarea:focus{outline:2px solid var(--green);outline-offset:2px}.form-success{margin:0;padding:.75rem 1rem;border-radius:12px;background:#91998e33;color:var(--white);font-weight:500}.form-error{margin:0;padding:.75rem 1rem;border-radius:12px;background:#ff525238;color:#ffd7d7;font-weight:500}.btn[disabled]{opacity:.7;cursor:not-allowed}.site-footer{background:var(--black);color:var(--white);padding:clamp(2rem,6vw,2.75rem) 0}.site-footer__inner{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;justify-content:space-between}.site-footer__links{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:.9rem}.site-footer__links a{color:var(--white)}@media (max-width: 960px){.hero__grid,.about__layout,.contact{grid-template-columns:1fr}.primary-nav{gap:1.25rem}}@media (max-width: 720px){.site-header__inner{flex-direction:column;gap:.75rem}.hero__actions,.btn{width:100%}}@media (max-width: 540px){.primary-nav{flex-wrap:wrap;justify-content:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.process-step{grid-template-columns:1fr}.section__header{text-align:center;margin-inline:auto}.section__header h2{font-size:clamp(1.75rem,8vw,2.4rem)}.about__accent{min-height:240px}}
