.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--fs-200);font-weight:var(--fw-medium);letter-spacing:var(--ls-wide);text-transform:uppercase;border-radius:var(--radius-pill);transition:background-color var(--duration-base) var(--ease-standard),color var(--duration-base) var(--ease-standard),border-color var(--duration-base) var(--ease-standard),transform var(--duration-fast) var(--ease-standard)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-brand);color:var(--color-text-inverse);border:1px solid var(--color-brand)}.btn-primary:hover{background:var(--color-brand-strong);border-color:var(--color-brand-strong)}.btn-ghost{background:0 0;color:currentColor;border:1px solid var(--color-accent-strong)}.btn-ghost:hover{background:var(--color-accent);color:var(--color-jade-950)}.band-jade :focus-visible,.credentials :focus-visible,.cta-band :focus-visible,.hero :focus-visible,.lightbox :focus-visible,.page-hero :focus-visible,.pcard :focus-visible,.project-hero :focus-visible,.site-footer :focus-visible,.site-header__nav.is-open :focus-visible,.sustain :focus-visible,.sustain-philosophy :focus-visible,body.has-hero .site-header:not(.is-scrolled) :focus-visible{outline-color:var(--color-focus-invert)}.site-header{position:fixed;inset-inline:0;top:0;z-index:var(--z-header);height:var(--header-h);display:flex;align-items:center;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);color:var(--color-text);transition:background-color var(--duration-slow) var(--ease-standard),border-color var(--duration-slow) var(--ease-standard),color var(--duration-slow) var(--ease-standard)}body.has-hero .site-header{background-color:transparent;border-bottom-color:transparent;color:var(--color-text-inverse)}body.has-hero .site-header.is-scrolled{background-color:var(--color-bg);border-bottom-color:var(--color-border-strong);color:var(--color-text)}.site-header__inner{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6)}.site-header__logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--fs-500);letter-spacing:var(--ls-tight);white-space:nowrap}.site-footer__mark,.site-header__mark{display:block;flex-shrink:0;aspect-ratio:var(--logo-mark-ratio);background-repeat:no-repeat;background-position:center;background-size:contain}.site-header__mark{height:var(--logo-mark-header);background-image:url('../img/logo-mark.png');background-image:image-set(
    url('../img/logo-mark.webp') type('image/webp'),
    url('../img/logo-mark.png') type('image/png')
  );transition:opacity var(--duration-slow) var(--ease-standard)}.site-footer__mark{height:var(--logo-mark-footer)}.site-footer__mark,body.has-hero .site-header:not(.is-scrolled) .site-header__mark{background-image:url('../img/logo-mark-light.png');background-image:image-set(
    url('../img/logo-mark-light.webp') type('image/webp'),
    url('../img/logo-mark-light.png') type('image/png')
  )}.site-header__nav{display:flex;align-items:center;gap:var(--space-7);margin-inline:auto var(--space-7)}.site-header__nav-list{display:flex;align-items:center;gap:var(--space-7)}.site-header__nav a{position:relative;font-size:var(--fs-200);font-weight:var(--fw-regular);letter-spacing:var(--ls-wide);text-transform:uppercase;padding-block:var(--space-1)}.site-header__nav a::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--color-accent);transition:right var(--duration-base) var(--ease-out-expo)}.site-header__nav a:hover::after,.site-header__nav a[aria-current=page]::after{right:0}.site-header__menu-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:2.25rem;height:2.25rem;z-index:var(--z-overlay)}.site-header__menu-toggle span{display:block;width:100%;height:1px;background:currentColor;transition:transform var(--duration-base) var(--ease-standard),opacity var(--duration-base) var(--ease-standard)}.site-header__menu-toggle[aria-expanded=true] span:first-child{transform:translateY(6px) rotate(45deg)}.site-header__menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.site-header__menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}@media (max-width:900px){.site-header__nav-list{flex-direction:column;align-items:flex-start;gap:var(--space-5)}.site-header__nav{position:fixed;inset:0;margin:0;z-index:var(--z-overlay);flex-direction:column;justify-content:center;align-items:flex-start;padding-inline:var(--container-pad);background:var(--color-jade-950);color:var(--color-text-inverse);visibility:hidden;opacity:0;transition:opacity var(--duration-base) var(--ease-standard),visibility 0s linear var(--duration-base)}.site-header__nav.is-open{visibility:visible;opacity:1;transition:opacity var(--duration-base) var(--ease-standard)}.site-header__nav a{font-family:var(--font-display);font-size:var(--fs-600);text-transform:none;letter-spacing:var(--ls-normal);opacity:0;transform:translateY(16px);transition:opacity var(--duration-base) var(--ease-out-expo),transform var(--duration-base) var(--ease-out-expo)}.site-header__nav.is-open a{opacity:1;transform:translateY(0)}.site-header__nav.is-open li:first-child a{transition-delay:60ms}.site-header__nav.is-open li:nth-child(2) a{transition-delay:120ms}.site-header__nav.is-open li:nth-child(3) a{transition-delay:180ms}.site-header__nav.is-open li:nth-child(4) a{transition-delay:240ms}.site-header__nav.is-open li:nth-child(5) a{transition-delay:0.3s}.site-header__nav.is-open>.btn-ghost{transition-delay:360ms}.site-header__nav .btn-ghost{margin-top:var(--space-6);color:var(--color-text-inverse);border-color:var(--color-accent)}.site-header__menu-toggle{display:flex}}@media (prefers-reduced-motion:reduce){.site-header__nav a{transform:none}}.site-footer{background:var(--color-jade-950);color:var(--color-cream);padding-block:var(--space-9) var(--space-6)}.site-footer a{transition:color var(--duration-base) var(--ease-standard)}.site-footer a:hover{color:var(--color-accent)}.site-footer__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-7) var(--grid-gap)}.site-footer__address,.site-footer__brand,.site-footer__connect{grid-column:span 4}.site-footer__logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-size:var(--fs-500);margin-bottom:var(--space-3)}.site-footer__tagline{font-size:var(--fs-200);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--color-gold-300)}.site-footer h6{font-family:var(--font-body);font-size:var(--fs-100);font-weight:var(--fw-medium);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-gold-300);margin-bottom:var(--space-4)}.site-footer address{font-style:normal;font-size:var(--fs-300);line-height:var(--lh-loose);color:var(--color-cream-deep)}.site-footer__meta{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);font-size:var(--fs-300)}.site-footer__social{display:flex;gap:var(--space-4);margin-top:var(--space-5)}.site-footer__social a{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:1px solid var(--color-jade-700);border-radius:var(--radius-pill);color:var(--color-cream)}.site-footer__social a:hover{border-color:var(--color-accent)}.site-footer__social svg{width:1.1rem;height:1.1rem}.site-footer__divider{display:flex;align-items:center;gap:var(--space-4);margin-block:var(--space-8) var(--space-5)}.site-footer__divider::after,.site-footer__divider::before{content:'';flex:1;height:1px;background:var(--color-gold-600)}.site-footer__divider svg{width:1.25rem;height:1.25rem;color:var(--color-accent);flex-shrink:0}.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-size:var(--fs-100);color:var(--color-cream-deep)}.hero{position:relative;min-height:100vh;display:flex;align-items:flex-end;padding-bottom:var(--space-10);background:linear-gradient(180deg,rgba(15,31,23,.35) 0,rgba(15,31,23,.75) 100%),var(--color-jade-950) url('../svg/contour-pattern.svg') center/cover no-repeat;color:var(--color-text-inverse)}.hero__content{max-width:46rem}.hero__eyebrow{color:var(--color-gold-300)}.hero__title{font-size:var(--fs-900);margin-block:var(--space-4)}.hero__lede{color:var(--color-cream-deep);max-width:34rem}.hero__actions{display:flex;gap:var(--space-4);margin-top:var(--space-7)}.hero__actions .btn-ghost{color:var(--color-text-inverse)}.hero__scroll-cue{position:absolute;bottom:var(--space-6);right:var(--container-pad);display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-100);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-cream-deep)}.hero__scroll-cue::after{content:'';width:1px;height:var(--space-8);background:var(--color-accent)}.section-head{max-width:40rem;margin-bottom:var(--space-8)}.section-head h2{margin-top:var(--space-3)}.section-head--center{margin-inline:auto;text-align:center}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-6);transition:transform var(--duration-base) var(--ease-out-expo),box-shadow var(--duration-base) var(--ease-out-expo),border-color var(--duration-base) var(--ease-standard)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.card__icon{width:2.75rem;height:2.75rem;color:var(--color-accent-strong);margin-bottom:var(--space-5)}.card h3{font-size:var(--fs-500);margin-bottom:var(--space-3)}.card p{color:var(--color-text-muted)}.project-card{display:block}.project-card__media{position:relative;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background:linear-gradient(135deg,var(--color-jade-700),var(--color-jade-950));margin-bottom:var(--space-4)}.project-card__media::before{content:'';position:absolute;inset:0;background-image:url('../svg/contour-pattern.svg');background-size:cover;background-position:center;opacity:.35;mix-blend-mode:overlay}.project-card__media-label{position:absolute;inset:0;display:flex;align-items:flex-end;padding:var(--space-5);font-size:var(--fs-100);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-gold-300)}.project-card__meta{display:flex;justify-content:space-between;font-size:var(--fs-100);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--color-text-muted);margin-bottom:var(--space-2)}.project-card h3{font-size:var(--fs-500)}.field{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.field label{font-size:var(--fs-100);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--color-text-muted)}.field input,.field textarea{padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--fs-300);transition:border-color var(--duration-base) var(--ease-standard)}.field input:focus-visible,.field textarea:focus-visible{border-color:var(--color-brand)}.field textarea{resize:vertical;min-height:8rem}.form-note{font-size:var(--fs-100);color:var(--color-text-muted);margin-top:var(--space-3)}.page-main{padding-top:var(--header-h)}.page-header{padding-block:var(--space-9) var(--space-7)}.u-measure-sm{max-width:var(--measure-sm)}.u-measure-md{max-width:var(--measure-md)}.u-measure-lg{max-width:var(--measure-lg)}.u-measure-xl{max-width:var(--measure-xl)}.u-measure-2xl{max-width:var(--measure-2xl)}.u-center{margin-inline:auto}.u-text-center{text-align:center}.u-mt-2{margin-top:var(--space-2)}.u-mt-3{margin-top:var(--space-3)}.u-mt-4{margin-top:var(--space-4)}.u-mt-5{margin-top:var(--space-5)}.u-mt-7{margin-top:var(--space-7)}.col-start-7{grid-column-start:7}.surface-jade-mist{background:var(--color-jade-100)}.band-jade{background:var(--color-jade-950);color:var(--color-text-inverse)}.band-jade .eyebrow{color:var(--color-gold-300)}.band-jade .text-lede{color:var(--color-cream-deep)}.band-jade .btn-ghost{color:var(--color-text-inverse)}.text-muted{color:var(--color-text-muted)}.portfolio-filters .container{display:flex;gap:var(--space-3);flex-wrap:wrap}.filter-btn{color:var(--color-brand);border-color:var(--color-border)}.filter-btn.is-active{border-color:var(--color-brand)}.contact-address{font-style:normal;line-height:var(--lh-loose)}.contact-link{color:var(--color-brand)}.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}@media (max-width:900px){.site-footer__address,.site-footer__brand,.site-footer__connect{grid-column:span 12}.col-start-7{grid-column-start:auto}.form-row-2{grid-template-columns:1fr}}.link-brand{color:var(--color-brand);border-color:var(--color-brand)}.step-index{color:var(--color-jade-500)}@media (prefers-reduced-motion:no-preference){[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity var(--duration-reveal) var(--ease-out-expo),transform var(--duration-reveal) var(--ease-out-expo);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:translateY(0)}}.rule-eyebrow{display:flex;align-items:center;gap:var(--space-3);font-size:var(--fs-100);font-weight:var(--fw-regular);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--dx-cedar)}.rule-eyebrow::before{content:'';width:var(--space-5);height:1px;background:var(--dx-gold);flex-shrink:0}.rule-eyebrow--center{justify-content:center}.rule-eyebrow--invert{color:var(--dx-gold-light)}.cta-band{background:var(--dx-ink-forest);color:var(--dx-chalk);padding-block:var(--space-9);text-align:center}.cta-band h2{color:var(--dx-chalk);margin-block:var(--space-3) var(--space-4)}.cta-band p{color:var(--dx-sage-pale);max-width:var(--measure-md);margin-inline:auto}.cta__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;align-items:center;margin-top:var(--space-7)}.cta__actions .btn-primary{background:var(--dx-jade);border-color:var(--dx-jade);color:var(--dx-chalk)}.cta__actions .btn-primary:hover{background:var(--dx-jade-light);border-color:var(--dx-jade-light)}.cta__whatsapp{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-100);letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--dx-gold-light);border-bottom:1px solid var(--dx-gold);padding-bottom:var(--space-1);transition:color var(--duration-base) var(--ease-standard)}.cta__whatsapp:hover{color:var(--dx-chalk)}.cta__whatsapp svg{width:1rem;height:1rem}