:root{--color-primary: #211f1c;--color-primary-light: #322e28;--color-accent: #ad8b58;--color-accent-dark: #7a5e38;--color-bg: #f7f3ec;--color-bg-alt: #efe8da;--color-text: #211f1c;--color-text-muted: #6b655d;--color-border: rgba(33, 31, 28, .14);--color-white: #ffffff;--color-success: #1e7a4a;--color-error: #b3261e;--font-heading: "Playfair Display", "Georgia", serif;--font-body: "DM Sans", "Helvetica Neue", Arial, sans-serif;--fs-h1: clamp(2.2rem, 4vw + 1rem, 3.6rem);--fs-h2: clamp(1.8rem, 3vw + 1rem, 2.6rem);--fs-h3: clamp(1.3rem, 1.5vw + 1rem, 1.7rem);--fs-body: 1.05rem;--fs-small: .9rem;--space-xs: .5rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--container-max: 1180px;--radius: 10px;--shadow-sm: 0 2px 8px rgba(11, 31, 58, .06);--shadow-md: 0 8px 24px rgba(11, 31, 58, .1);--transition: .2s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background:var(--color-bg);line-height:1.6;font-size:var(--fs-body)}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.skip-link{position:absolute;top:0;left:0;transform:translateY(-120%);background:var(--color-primary);color:var(--color-white);padding:.85rem 1.4rem;font-weight:600;z-index:1000;border-radius:0 0 var(--radius) 0;transition:transform var(--transition)}.skip-link:focus{transform:translateY(0)}h1,h2,h3,h4{font-family:var(--font-heading);line-height:1.2;color:var(--color-primary)}h1{font-size:var(--fs-h1)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:var(--space-md)}.section{padding-block:var(--space-2xl)}.section--alt{background:var(--color-bg-alt)}.eyebrow{display:inline-block;font-size:var(--fs-small);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-accent-dark);margin-bottom:var(--space-xs)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.6rem;border-radius:var(--radius);font-weight:600;font-size:var(--fs-body);border:2px solid transparent;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.btn:hover{transform:translateY(-1px)}.btn--primary{background:var(--color-accent);color:var(--color-primary)}.btn--primary:hover{background:var(--color-accent-dark);box-shadow:var(--shadow-md)}.btn--secondary{background:transparent;border-color:var(--color-white);color:var(--color-white)}.btn--secondary:hover{background:#ffffff1a}.form-field{margin-bottom:var(--space-sm)}.form-field label{display:block;font-size:var(--fs-small);font-weight:600;margin-bottom:.35rem;color:var(--color-text)}.form-field input,.form-field select,.form-field textarea{width:100%;padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--fs-body);font-family:var(--font-body);background:var(--color-white)}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:2px solid var(--color-accent);outline-offset:1px}.form-consent{display:flex;gap:.6rem;align-items:flex-start;font-size:var(--fs-small);color:var(--color-text-muted);margin-bottom:var(--space-sm)}.form-consent input{margin-top:.2rem}.form-error{color:var(--color-error);font-size:var(--fs-small);margin-top:.3rem;display:none}.form-field.has-error input,.form-field.has-error select,.form-field.has-error textarea{border-color:var(--color-error)}.form-field.has-error .form-error{display:block}.form-error--submit{background:#b3261e14;border:1px solid var(--color-error);padding:var(--space-sm);border-radius:var(--radius);font-weight:600}.form-error--submit.is-visible{display:block}.form-success{display:none;background:#1e7a4a1a;border:1px solid var(--color-success);color:var(--color-success);padding:var(--space-sm);border-radius:var(--radius);font-weight:600}.form-success.is-visible{display:block}.img-placeholder{position:relative;background:linear-gradient(135deg,var(--color-bg-alt) 0%,var(--color-border) 100%);min-height:220px;display:flex;align-items:center;justify-content:center}.img-placeholder img{width:100%;height:100%;object-fit:cover;display:block}.img-placeholder.is-broken img{display:none}.img-placeholder.is-broken:before{content:attr(data-label);position:absolute;inset:var(--space-sm);display:flex;align-items:center;justify-content:center;text-align:center;font-size:var(--fs-small);color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--radius);padding:var(--space-sm)}@media (max-width: 768px){.section{padding-block:var(--space-xl)}}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:transparent;transition:background var(--transition),box-shadow var(--transition)}.header.is-scrolled{background:var(--color-white);box-shadow:var(--shadow-sm)}.header__inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--space-sm)}.header__logo-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--color-primary);border-radius:999px;padding:.5rem 1rem}.header__logo-img{height:32px;width:auto;display:block}.header__logo{font-family:var(--font-heading);font-weight:700;font-size:1.2rem;color:var(--color-white);transition:color var(--transition);margin-left:.5rem}.header__links a{color:var(--color-white);transition:color var(--transition)}.header__toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}.header__toggle span{width:24px;height:2px;background:var(--color-white);transition:background var(--transition)}.header.is-scrolled .header__links a{color:var(--color-primary)}.header.is-scrolled .header__toggle span{background:var(--color-primary)}.header__nav{display:flex;align-items:center;gap:var(--space-lg)}.header__links{display:flex;list-style:none;gap:var(--space-md);font-weight:500}.header__links a:hover{color:var(--color-accent-dark)}@media (max-width: 860px){.header__toggle{display:flex}.header__nav{position:absolute;top:100%;left:0;right:0;background:var(--color-white);flex-direction:column;align-items:flex-start;padding:var(--space-md);box-shadow:var(--shadow-md);display:none;gap:var(--space-md)}.header__nav.is-open{display:flex}.header__links{flex-direction:column;gap:var(--space-sm);width:100%}.header__nav .header__links a{color:var(--color-primary)}}.hero{padding-block:calc(var(--space-2xl) + 3rem) var(--space-2xl);background:linear-gradient(180deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:var(--color-white)}.hero__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-xl);align-items:start}.hero h1{color:var(--color-white)}.hero__subtitle{color:#ffffffd1;margin-block:var(--space-sm) var(--space-md);max-width:46ch}.hero__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap}.hero__form-wrapper{background:var(--color-white);border-radius:var(--radius);padding:var(--space-lg);box-shadow:var(--shadow-md);color:var(--color-text)}.hero__form h3{margin-bottom:var(--space-md);font-size:1.25rem}.hero__form-submit{width:100%;margin-top:var(--space-xs)}.form-field--honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media (max-width: 900px){.hero__grid{grid-template-columns:1fr}}.section-heading{max-width:640px;margin-bottom:var(--space-lg)}.section-heading h2{margin-top:.25rem}.manifesto{padding-block:var(--space-xl);background:var(--color-bg)}.manifesto__box{background:var(--color-primary);border-radius:var(--radius);padding:var(--space-xl) var(--space-lg);text-align:center;border-top:3px solid var(--color-accent)}.manifesto__line{font-family:var(--font-heading);font-size:var(--fs-h3);color:var(--color-white);font-weight:700}.manifesto__highlight{font-family:var(--font-heading);font-size:var(--fs-h3);color:var(--color-accent);font-weight:700;margin-top:.5rem}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:var(--space-md)}.chip{border:1px solid var(--color-accent-dark);color:var(--color-accent-dark);font-size:var(--fs-small);font-weight:600;padding:.3rem .85rem;border-radius:999px}.credibility__grid{display:grid;grid-template-columns:1.3fr 1fr;gap:var(--space-lg)}.credibility__case{background:var(--color-white);border-radius:var(--radius);padding:var(--space-lg);border:1px solid var(--color-border)}.credibility__location{display:inline-block;font-size:var(--fs-small);font-weight:600;color:var(--color-accent-dark);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.credibility__figure{font-family:var(--font-heading);font-size:1.9rem;font-weight:700;color:var(--color-primary)}.credibility__detail{color:var(--color-text-muted);margin-top:.25rem}.credibility__note{font-size:var(--fs-small);color:var(--color-text-muted);margin-top:var(--space-sm);font-style:italic}.credibility__partner{background:var(--color-primary);color:var(--color-white);border-radius:var(--radius);padding:var(--space-lg);display:flex;flex-direction:column;justify-content:center}.credibility__partner h3{color:var(--color-white);margin-block:.4rem}.credibility__partner p{color:#ffffffbf;font-size:var(--fs-small)}@media (max-width: 760px){.credibility__grid{grid-template-columns:1fr}}.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl);align-items:center}.about__photos{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs)}.about__photo{position:relative;height:260px;margin:0;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md);background:var(--color-bg-alt)}.about__photo img{display:block;width:100%;height:100%;object-fit:cover}.about__photo-label{position:absolute;top:.6rem;left:.6rem;z-index:1;background:var(--color-primary);color:var(--color-white);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:.25rem .65rem;border-radius:999px}.about__photos-caption{color:var(--color-text-muted);font-size:var(--fs-small);font-style:italic;margin-top:var(--space-xs)}.about__content p{color:var(--color-text-muted);margin-block:var(--space-sm)}.about__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.about__list li{padding-left:1.5rem;position:relative}.about__list li:before{content:"✓";position:absolute;left:0;color:var(--color-accent-dark);font-weight:700}@media (max-width: 860px){.about__grid{grid-template-columns:1fr}}@media (max-width: 767px){.about__photos{grid-template-columns:1fr}.about__photo{height:220px}}.team__grid{display:grid;grid-template-columns:200px 1fr;gap:var(--space-lg);align-items:center;background:var(--color-white);border:1px solid var(--color-border);border-radius:12px;padding:var(--space-lg)}.team__image{aspect-ratio:1 / 1;border-radius:50%;overflow:hidden;min-height:0}.team__image img{width:100%;height:100%;object-fit:cover}.team__name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;color:var(--color-primary);margin-top:.25rem}.team__role{color:var(--color-accent-dark);font-weight:600;font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5rem}.team__bio{color:var(--color-text-muted)}@media (max-width: 640px){.team__grid{grid-template-columns:1fr;text-align:center;justify-items:center}.team__image{width:140px}}.stats{background:var(--color-primary);padding-block:var(--space-lg)}.stats__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md);text-align:center}.stats__item{display:flex;flex-direction:column;gap:.25rem}.stats__value{font-family:var(--font-heading);font-size:2.2rem;font-weight:700;color:var(--color-accent)}.stats__label{color:#fffc;font-size:var(--fs-small);text-transform:uppercase;letter-spacing:.04em}@media (max-width: 640px){.stats__grid{grid-template-columns:1fr;gap:var(--space-sm)}}.services__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}.services__card{background:var(--color-bg-alt);border-radius:var(--radius);padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.services__card p{color:var(--color-text-muted);flex:1}.services__cta{align-self:flex-start}@media (max-width: 900px){.services__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.services__grid{grid-template-columns:1fr}}.process__grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-md)}.process__step{text-align:left}.process__number{display:block;font-family:var(--font-heading);font-size:1.6rem;font-weight:700;color:var(--color-accent-dark);margin-bottom:.4rem}.process__step h3{font-size:1.05rem;margin-bottom:.35rem}.process__step p{color:var(--color-text-muted);font-size:var(--fs-small)}@media (max-width: 960px){.process__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 560px){.process__grid{grid-template-columns:1fr}}.projects__note{color:var(--color-text-muted);font-size:var(--fs-small);font-style:italic;margin-top:.5rem}.projects__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);align-items:start}.projects__figure{margin:0}.projects__figure picture{display:block;background:var(--color-bg-alt);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-md)}.projects__figure img{display:block;width:100%;height:auto;object-fit:contain}.projects__figure figcaption{margin-top:var(--space-xs);font-size:var(--fs-small);font-weight:600;color:var(--color-accent-dark);text-transform:uppercase;letter-spacing:.04em}.projects__actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;margin-top:var(--space-lg)}@media (max-width: 760px){.projects__grid{grid-template-columns:1fr}}.faq__container{max-width:820px}.faq__list{display:flex;flex-direction:column;gap:var(--space-xs)}.faq__item{border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden}.faq__question{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--color-white);border:none;padding:var(--space-sm) var(--space-md);font-weight:600;font-size:var(--fs-body);text-align:left;cursor:pointer}.faq__icon{color:var(--color-accent-dark);font-size:1.3rem;transition:transform var(--transition)}.faq__item.is-open .faq__icon{transform:rotate(45deg)}.faq__answer{max-height:0;overflow:hidden;transition:max-height var(--transition);padding-inline:var(--space-md)}.faq__answer p{color:var(--color-text-muted);padding-bottom:var(--space-sm)}.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.contact__info p{color:var(--color-text-muted);margin-block:var(--space-sm)}.contact__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.contact__list a{color:var(--color-primary);font-weight:600}.contact__form-wrapper{background:var(--color-white);border-radius:var(--radius);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.contact__form-submit{width:100%;margin-top:var(--space-xs)}@media (max-width: 860px){.contact__grid{grid-template-columns:1fr}}.footer{background:var(--color-primary);color:#ffffffd9;padding-top:var(--space-xl)}.footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:var(--space-lg);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(255,255,255,.15)}.footer__logo-img{height:40px;width:auto;display:block;margin-bottom:.5rem}.footer__logo{font-family:var(--font-heading);font-weight:700;font-size:1.3rem;color:var(--color-white)}.footer__brand p{font-size:var(--fs-small);margin-block:.4rem var(--space-sm)}.footer__quote{font-family:var(--font-heading);font-style:italic;color:var(--color-accent);font-size:1rem!important}.footer__social{display:flex;gap:var(--space-sm);font-size:var(--fs-small)}.footer h4{color:var(--color-white);font-size:1rem;margin-bottom:var(--space-sm)}.footer__nav ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:var(--fs-small)}.footer__contact p{font-size:var(--fs-small);margin-bottom:.4rem}.footer__bottom{padding-block:var(--space-md);display:flex;flex-direction:column;gap:var(--space-sm)}.footer__disclaimer,.footer__legal{font-size:.78rem;color:#ffffff8c;max-width:900px}.footer__copy{font-size:var(--fs-small)}@media (max-width: 760px){.footer__grid{grid-template-columns:1fr}}
