
:root{
  --texel-ease:cubic-bezier(.22,.72,.18,1);
  --texel-shadow-soft:0 14px 40px rgba(15,45,45,.09);
  --texel-shadow-hover:0 18px 46px rgba(15,45,45,.12);
  --texel-radius:20px;
}

.value,.preview-card,.portfolio-highlight,.category-card,.fact,.benefit-card,.process-step,
.property-card,.photo-card,.new-project-card,.purchase-panel,.legal-content,.contact-form{
  transition:transform .48s var(--texel-ease),box-shadow .48s var(--texel-ease),border-color .32s ease!important;
}
.value:hover,.preview-card:hover,.portfolio-highlight:hover,.category-card:hover,.fact:hover,
.benefit-card:hover,.process-step:hover,.property-card:hover,.new-project-card:hover{
  transform:translate3d(0,-3px,0)!important;
  box-shadow:var(--texel-shadow-hover)!important;
}
.btn:hover,.footer-contact-btn:hover,.header-cta:hover{
  transform:translate3d(0,-2px,0)!important;
}
.photo-card img,.property-card img,.new-project-card img,.preview-card img{
  transition:transform .95s var(--texel-ease),filter .55s ease!important;
}
.photo-card:hover img,.property-card:hover img,.new-project-card:hover img,.preview-card:hover img{
  transform:scale(1.025)!important;
}

.hero::after,.page-hero::after,.legal-hero::after{pointer-events:none}
.hero{background-position:center center!important}
.hero .hero-content,.page-hero .container,.legal-hero .container{position:relative;z-index:2}
.hero h1,.page-hero h1,.legal-hero h1{text-wrap:balance}
.hero p,.page-hero p,.legal-hero p{text-wrap:pretty}

.portfolio-intro,.portfolio-gallery,.project-story,.project-benefits,.project-process,.legal-wrap,
section.block,.home-preview{scroll-margin-top:100px}
.section-title{line-height:1.04!important;text-wrap:balance}
.section-copy{line-height:1.75!important}

.property-card{position:relative;outline:none!important}
.property-card:not(.property-card-project)::after{
  content:"";position:absolute;inset:0;border:1px solid transparent;border-radius:inherit;
  pointer-events:none;transition:border-color .28s ease,box-shadow .28s ease;
}
.property-card:not(.property-card-project).is-map-hover::after,
.property-card:not(.property-card-project):focus-visible::after{
  border-color:rgba(33,184,176,.62);box-shadow:0 0 0 3px rgba(33,184,176,.10);
}
.property-card:not(.property-card-project).active-building::after{border-color:rgba(33,184,176,.50)}

.property-card-project.is-map-hover,
.property-card-project:focus-visible{
  border-color:rgba(33,184,176,.62)!important;
  box-shadow:0 0 0 3px rgba(33,184,176,.10),var(--texel-shadow-soft)!important;
}
.map-marker{transition:transform .32s var(--texel-ease),filter .32s ease!important;transform-origin:50% 90%}
.map-marker.is-card-hover{transform:scale(1.18) translateY(-2px)!important;filter:drop-shadow(0 8px 12px rgba(15,50,50,.22))}
.property-card-copy h3{line-height:1.28!important}
.property-card-copy p{line-height:1.55!important}
.property-status-full{font-weight:700!important}

.contact-form{position:relative}
.form-status{grid-column:1/-1;min-height:22px;margin-top:-2px;font-size:13px;line-height:1.5;color:#556462}
.form-status.is-active{color:var(--accent-dark);font-weight:700}
.contact-form.is-sending button[type="submit"]{pointer-events:none;opacity:.78}
.contact-form.is-sending button[type="submit"] i{animation:texelSendPulse .8s ease-in-out infinite alternate}
@keyframes texelSendPulse{to{transform:translateX(4px)}}
.field input:focus-visible,.field textarea:focus-visible,.topic-select__trigger:focus-visible{
  outline:none!important;border-color:var(--accent)!important;box-shadow:0 0 0 4px rgba(33,184,176,.10)!important;
}

.legal-content .shapely-content{max-width:900px}
.legal-content h2,.legal-content h3{scroll-margin-top:110px;text-wrap:balance}
.legal-content p,.legal-content li{line-height:1.72}

@media (hover:none){
  .value:hover,.preview-card:hover,.portfolio-highlight:hover,.category-card:hover,.fact:hover,
  .benefit-card:hover,.process-step:hover,.property-card:hover,.new-project-card:hover,
  .btn:hover,.footer-contact-btn:hover,.header-cta:hover{transform:none!important}
  .photo-card:hover img,.property-card:hover img,.new-project-card:hover img,.preview-card:hover img{transform:none!important}
}
@media(max-width:650px){
  .property-card-copy h3{font-size:16px!important}
  .property-card-copy p{font-size:13px!important}
  .section-copy{line-height:1.68!important}
}
@media(prefers-reduced-motion:reduce){
  .map-marker,.property-card::after{transition:none!important}
  .contact-form.is-sending button[type="submit"] i{animation:none!important}
}

.portfolio-highlights{
  gap:clamp(28px,4vw,64px)!important;
  align-items:start!important;
}
.portfolio-highlight{
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.portfolio-highlight:hover{
  box-shadow:none!important;
  transform:none!important;
  border-color:transparent!important;
}
.portfolio-highlight strong{
  display:block;
  margin:0 0 12px!important;
}
.portfolio-highlight span{
  margin-top:0!important;
}

.category-cards{
  gap:clamp(34px,5vw,72px)!important;
  padding-top:48px!important;
}
.category-card{
  display:block!important;
  min-height:0!important;
  height:auto!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
}
.category-card:hover{
  box-shadow:none!important;
  transform:none!important;
  border-color:transparent!important;
}
.category-card .category-icon{
  display:none!important;
}
.category-card h3{
  margin:0 0 14px!important;
}
.category-card p{
  margin:0!important;
  text-align:left!important;
  max-width:72ch;
}
@media(max-width:980px){
  .category-cards{padding-top:34px!important}
}

.texel-language{position:relative;display:flex;align-items:center;margin-left:auto;margin-right:12px;z-index:3}
.texel-language__globe{position:absolute;left:12px;top:50%;transform:translateY(-54%);pointer-events:none;font-size:13px;font-weight:800;color:currentColor;opacity:.7}
.texel-language-select{appearance:none;-webkit-appearance:none;min-width:70px;height:40px;padding:0 26px 0 27px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(12,32,34,.24);color:#fff;font:800 12px/1 "Manrope",Arial,sans-serif;letter-spacing:.08em;outline:none;cursor:pointer;backdrop-filter:blur(10px);transition:.25s}
.texel-language:after{content:"";position:absolute;right:12px;top:50%;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.texel-language-select:focus,.texel-language-select:hover{border-color:rgba(117,221,215,.9);background:rgba(12,32,34,.36)}
.texel-unified-header.scrolled .texel-language{color:#172527}
.texel-unified-header.scrolled .texel-language-select{color:#172527;background:#fff;border-color:#dfe9e7;box-shadow:0 6px 20px rgba(20,40,40,.06)}
.texel-unified-header:not(.scrolled) .texel-language{color:#fff}
.texel-language-select option{color:#172527;background:#fff}
@media(max-width:980px){
  .texel-language{margin-left:auto;margin-right:8px}
  .texel-language-select{min-width:62px;height:38px;padding-left:22px;padding-right:22px}
  .texel-language__globe{left:9px}
  .texel-language:after{right:10px}
}
@media(max-width:480px){
  .texel-language{margin-right:6px}
  .texel-language-select{min-width:56px;width:56px;padding-left:12px;padding-right:18px}
  .texel-language__globe{display:none}
  .texel-language:after{right:9px}
}

.texel-language{position:relative;z-index:1200}
.texel-language-trigger{appearance:none;-webkit-appearance:none;height:40px;min-width:68px;padding:0 14px 0 16px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid rgba(255,255,255,.36);border-radius:999px;background:rgba(12,32,34,.24);color:#fff;cursor:pointer;font:800 12px/1 "Manrope",Arial,sans-serif;letter-spacing:.08em;backdrop-filter:blur(12px);transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.texel-language-trigger:hover{border-color:rgba(117,221,215,.9);background:rgba(12,32,34,.38)}
.texel-language-trigger:focus-visible{outline:2px solid #72d8d2;outline-offset:3px}
.texel-language-chevron{transition:transform .22s ease}
.texel-language.is-open .texel-language-chevron{transform:rotate(180deg)}
.texel-language-menu{position:absolute;right:0;top:calc(100% + 10px);width:178px;padding:7px;border:1px solid rgba(214,227,225,.9);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 45px rgba(16,42,44,.16);backdrop-filter:blur(18px);opacity:0;visibility:hidden;transform:translateY(-7px) scale(.98);transform-origin:top right;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.texel-language.is-open .texel-language-menu{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.texel-language-option{width:100%;height:42px;padding:0 11px;border:0;border-radius:11px;background:transparent;color:#243638;display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;text-align:left;font:600 13px/1 "Manrope",Arial,sans-serif;transition:background .16s ease,color .16s ease,transform .16s ease}
.texel-language-option small{font-size:10px;font-weight:800;letter-spacing:.1em;color:#8b9999}
.texel-language-option:hover{background:#f1f7f6;color:#153f41}
.texel-language-option:active{transform:scale(.985)}
.texel-language-option.is-active{background:#e9f5f3;color:#174b4d;font-weight:800}
.texel-language-option.is-active small{color:#3b8582}
.texel-language-option.is-active::before{content:"";width:5px;height:5px;border-radius:50%;background:#58bdb8;flex:0 0 auto;margin-right:-4px}
.texel-language-option:not(.is-active)::before{content:"";width:5px;flex:0 0 auto;margin-right:-4px}
.texel-unified-header.scrolled .texel-language-trigger{color:#172527;background:#fff;border-color:#dfe9e7;box-shadow:0 6px 20px rgba(20,40,40,.06)}
@media(max-width:760px){.texel-language-trigger{height:38px;min-width:62px;padding:0 12px}.texel-language-menu{width:164px}}

footer .footer-simple,
footer .footer-simple h2,
footer .footer-simple p,
footer .footer-copy,
footer .footer-legal,
footer .footer-legal a {
  text-align:center!important;
}
footer .footer-simple p {
  margin-left:auto!important;
  margin-right:auto!important;
}
footer .footer-simple {
  display:block!important;
}
footer .footer-contact-btn {
  margin-left:auto!important;
  margin-right:auto!important;
}
footer .footer-legal {
  justify-content:center!important;
}

@media (max-width: 900px){
  .hero .hero-content,
  .page-hero > .container,
  .legal-hero > .container{
    position:relative;
    isolation:isolate;
  }
  .hero .hero-content::before,
  .page-hero > .container::before,
  .legal-hero > .container::before{
    content:"";
    position:absolute;
    z-index:-1;
    top:-48px;
    bottom:-48px;
    left:-34px;
    right:-42vw;
    border-radius:0;
    background:linear-gradient(90deg,
      rgba(7,26,29,.66) 0%,
      rgba(7,26,29,.52) 34%,
      rgba(7,26,29,.29) 58%,
      rgba(7,26,29,.10) 78%,
      rgba(7,26,29,0) 100%);
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    pointer-events:none;
  }
}
@media (max-width: 650px){
  .hero .hero-content::before,
  .page-hero > .container::before,
  .legal-hero > .container::before{
    top:-34px;
    bottom:-34px;
    left:-24px;
    right:-32vw;
    background:linear-gradient(100deg,
      rgba(7,26,29,.70) 0%,
      rgba(7,26,29,.54) 40%,
      rgba(7,26,29,.28) 68%,
      rgba(7,26,29,0) 100%);
  }
}
@media (max-width: 380px){
  .hero .hero-content::before,
  .page-hero > .container::before,
  .legal-hero > .container::before{
    top:-26px;
    bottom:-26px;
    left:-18px;
    right:-24vw;
  }
}

@media (max-width: 900px){
  .hero .hero-content::before,
  .page-hero > .container::before,
  .legal-hero > .container::before{
    top:-100vh!important;
    bottom:-100vh!important;
  }
}

@media (max-width: 900px){
  html,body{max-width:100%;overflow-x:hidden!important;}

  .hero::before,
  .page-hero::before,
  .legal-hero::before{
    background:linear-gradient(92deg,
      rgba(7,26,29,.80) 0%,
      rgba(7,26,29,.66) 38%,
      rgba(7,26,29,.40) 64%,
      rgba(7,26,29,.16) 84%,
      rgba(7,26,29,.03) 100%)!important;
  }

  .company-card{
    grid-template-columns:minmax(0,1fr)!important;
    gap:30px!important;
  }

  .hero-content,
  .company-card,
  .company-copy,
  .company-values,
  .section-head,
  .section-copy,
  .home-preview-grid,
  .preview-card,
  .value,
  .page-main,
  .page-main > *,
  .page-hero .container,
  .legal-hero .container,
  footer .container,
  .footer-simple{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  .hero h1,
  .hero p,
  .page-hero h1,
  .page-hero p,
  .legal-hero h1,
  .legal-hero p,
  .section-title,
  .section-copy,
  .company-card h1,
  .company-card h2,
  .company-card h3,
  .company-card p,
  .preview-card h3,
  .preview-card p,
  .value strong,
  .value span,
  .footer-simple h2,
  .footer-simple p{
    max-width:100%!important;
    overflow-wrap:break-word!important;
    word-break:normal!important;
    hyphens:auto;
    -webkit-hyphens:auto;
  }

  .section-title{
    line-height:1.02!important;
    letter-spacing:-.035em!important;
  }
}

@media (max-width: 650px){
  .hero::before,
  .page-hero::before,
  .legal-hero::before{
    background:linear-gradient(96deg,
      rgba(5,22,25,.90) 0%,
      rgba(5,22,25,.80) 36%,
      rgba(5,22,25,.58) 62%,
      rgba(5,22,25,.30) 82%,
      rgba(5,22,25,.08) 100%)!important;
  }

  .hero .hero-content::before,
  .page-hero > .container::before,
  .legal-hero > .container::before{
    background:linear-gradient(100deg,
      rgba(5,22,25,.84) 0%,
      rgba(5,22,25,.72) 40%,
      rgba(5,22,25,.44) 68%,
      rgba(5,22,25,.12) 88%,
      rgba(5,22,25,0) 100%)!important;
  }

  .hero-content{width:100%!important;max-width:100%!important;}
  .hero h1{font-size:clamp(38px,11.5vw,58px)!important;line-height:.98!important;}
  .hero p{font-size:clamp(15px,4.2vw,17px)!important;line-height:1.55!important;}
  .section-title{font-size:clamp(30px,9.2vw,44px)!important;}

  .company-card{
    padding:clamp(20px,5vw,28px)!important;
    border-radius:clamp(20px,5vw,26px)!important;
  }

  .hero-actions .btn,
  .footer-contact-btn{
    max-width:100%!important;
    white-space:normal!important;
    text-align:center!important;
    line-height:1.25!important;
  }
}

@media (max-width: 480px){
  .hero::before,
  .page-hero::before,
  .legal-hero::before{
    background:linear-gradient(98deg,
      rgba(4,19,22,.94) 0%,
      rgba(4,19,22,.84) 40%,
      rgba(4,19,22,.60) 68%,
      rgba(4,19,22,.32) 86%,
      rgba(4,19,22,.10) 100%)!important;
  }

  .hero h1{font-size:clamp(35px,11.2vw,50px)!important;}
  .page-hero h1,
  .legal-hero h1{font-size:clamp(34px,10.5vw,46px)!important;}
  .section-title{font-size:clamp(28px,8.8vw,40px)!important;}

  .eyebrow{
    max-width:100%!important;
    white-space:normal!important;
    line-height:1.3!important;
  }
}

@media (max-width: 360px){
  .hero h1{font-size:clamp(32px,10.8vw,43px)!important;}
  .section-title{font-size:clamp(27px,8.5vw,36px)!important;}
  .hero p,.section-copy,.company-copy p{font-size:15px!important;}
}

@media (min-width:901px){
  .texel-unified-header__inner{
    justify-content:flex-start!important;
  }
  .texel-unified-header__nav{
    margin-left:auto!important;
    margin-right:0!important;
    justify-content:flex-end!important;
  }
  .texel-unified-header__nav + .texel-language,
  .texel-unified-header__inner > .texel-language{
    margin-left:24px!important;
    margin-right:0!important;
    flex:0 0 auto!important;
  }
}
