.hero--text{padding-block:48px 16px}.hero--text .hero__grid{display:grid;gap:48px}.hero__figure .figure__media{background:var(--r)}.hero--case .vw-stage{background:var(--r)}@media (min-width:1024px){.hero--text{padding-block:96px 32px}.hero--figure .hero__grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:end;gap:64px}.hero--case{padding-block:48px 24px}.hero--case .hero__grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:48px}.hero--case .hero__text{padding-top:32px}.hero--text h1{max-width:20ch}.hero--text .h1--long{max-width:26ch}}.hero--text + .cajetin-band{padding-top:24px}.hero--contact .lead{max-width:56ch}.process{display:grid;gap:48px}.despiece__stage{display:grid;padding:96px 16px 16px;background:var(--r);overflow:hidden}.despiece--static .despiece__stage{padding-top:16px}.despiece__layer{--cj:linear-gradient(90deg,transparent,var(--a) 4% 96%,transparent),linear-gradient(transparent,var(--a) 4% 96%,transparent);grid-area:1/1;-webkit-mask:var(--cj);-webkit-mask-composite:source-in;mask:var(--cj);mask-composite:intersect}.despiece__legend{display:grid;gap:4px;margin-top:12px;counter-reset:l}.despiece__legend li{display:grid;grid-template-columns:2ch 24px minmax(0,1fr);align-items:center;gap:8px}.despiece__legend li::before{counter-increment:l;content:counter(l);content:counter(l)/"";color:var(--a)}.despiece__legend li::after{content:"";grid-area:1/2;height:1px;background:var(--d)}.despiece__legend li>*{grid-column:3}@media (min-width:1024px){.process{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}.process__drawing{grid-column:1/8;position:sticky;top:calc(64px + 24px)}.process__steps{grid-column:9/13}.despiece__stage{padding-top:calc(-1*var(--d3) + 32px);padding-inline:12px}}.process{--d2:-3.75rem;--d3:-7.5rem}.despiece__stage{padding-top:calc(-1*var(--d3) + 24px)}@media (min-width:1024px){.process{--d2:-7.5rem;--d3:-15rem}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.process{view-timeline-name:--despiece}.despiece__layer--2,.despiece__layer--3{animation:d2 linear both;animation-timeline:--despiece;animation-range:entry 20% cover 72%}.despiece__layer--3{animation-name:d3}}}@keyframes d2{from{transform:translateY(var(--d2))}}@keyframes d3{from{transform:translateY(var(--d3));opacity:.55}}@supports not (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal-ready .despiece__layer{transition:transform var(--bm) var(--o)}.reveal-ready .despiece:not(.is-in) .despiece__layer--2{transform:translateY(var(--d2))}.reveal-ready .despiece:not(.is-in) .despiece__layer--3{transform:translateY(var(--d3))}}}.despiece__stage{background:radial-gradient(ellipse 70% 62% at 50% 55%,transparent 30%,var(--r) 100%),repeating-linear-gradient(30deg,var(--b) 0 1px,transparent 1px 30px),repeating-linear-gradient(150deg,var(--b) 0 1px,transparent 1px 30px),var(--r);border:1px solid var(--b)}.steps--process{counter-reset:s}.steps--process .step{position:relative;counter-increment:s;padding-block:24px 32px;border-color:var(--d)}.steps--process .step::before{content:counter(s,decimal-leading-zero);content:counter(s,decimal-leading-zero)/"";position:absolute;right:0;top:16px;font:650 clamp(2.5rem,4vw,3.75rem)/1 var(--aa);font-stretch:125%;color:transparent;-webkit-text-stroke:1px var(--d)}.steps--process .step__time{color:var(--e)}.steps--process .step__title{max-width:80%}.main>.block--process[data-ch]:has(.process__drawing)>.wrap::after{content:"";position:absolute;z-index:-1;right:-6%;top:12%;width:min(54vw,760px);aspect-ratio:1473/2114;pointer-events:none;background:var(--a);opacity:.15;-webkit-mask:url(/assets/deco/villa-axo-exploded.770054f8.svg) center/contain no-repeat;mask:url(/assets/deco/villa-axo-exploded.770054f8.svg) center/contain no-repeat}@media (max-width:767px){.steps--process .step::before{font-size:2.25rem}.main>.block--process[data-ch]:has(.process__drawing)>.wrap::after{right:-30%;top:30%;width:90vw;opacity:.07}}@media (forced-colors:active){.steps--process .step::before{display:none}}.contact{display:grid;gap:64px}.contact__main{min-width:0}.form{display:grid;gap:48px;max-width:44rem}.form__step,.field{display:grid;gap:24px;min-width:0;margin:0;padding:0;border:0}.field{gap:8px;align-content:start}.form__legend,.field--choice legend{float:left;width:100%;padding:0}.form__legend{padding-bottom:12px;border-bottom:1px solid var(--b);font:560 var(--af) var(--aa);font-stretch:112%}:is(.form__legend,.field--choice legend) + *{clear:both}.field--choice legend{margin-bottom:8px}.form__row{display:grid;gap:24px;align-items:start}.field__label{font-size:var(--m);font-weight:560}.field__req,.field__opt{font-weight:400;color:var(--k)}.field__error,.form__status{font-size:var(--m);font-weight:560;color:var(--as)}.field--short .input{max-width:12rem}.input{width:100%;min-height:44px;padding:8px 12px;background-color:var(--g);color:var(--a);border:1px solid var(--d);border-radius:2px;line-height:1.4}.input::placeholder{color:var(--k);opacity:1}.input:focus-visible{outline-offset:0}[aria-invalid="true"]{border-color:var(--as)}textarea.input{min-height:7.5rem;resize:vertical}select.input{appearance:none;padding-right:64px;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 15px) 50%;background-size:5px 5px;background-repeat:no-repeat}input[type="number"]{appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{appearance:none;margin:0}.choices{display:grid;gap:8px}.choice,.check{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.choice{padding:8px 16px;background:var(--g);border:1px solid var(--d);border-radius:2px}.choice input,.check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--e)}.choice:has(:checked){background:var(--ah);border-color:var(--e);box-shadow:inset 0 0 0 1px var(--e)}.choice:has(:focus-visible),.file:has(:focus-visible){outline:2px solid var(--e);outline-offset:2px}.choice input:focus-visible{outline:none}.check{align-items:flex-start;font-size:var(--m);color:var(--f)}.check input{margin-top:.1em}.file{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px;min-height:calc(44px + 24px);padding:12px 16px;background:var(--g);border:1px dashed var(--d);border-radius:2px}.file__input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.file__ui{display:inline-flex;align-items:center;gap:12px;min-width:0;color:var(--f);overflow-wrap:anywhere}.file.has-file{border-style:solid}.file.has-file .file__ui{color:var(--a)}.file__remove{position:relative;z-index:10;margin-left:auto;min-height:44px;padding-inline:12px;background:none;border:0;text-decoration:underline;text-underline-offset:4px}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.form__status:empty{display:none}.form__nav{margin:0}.btn--step{background:var(--e);color:var(--ak)}@media (hover:hover) and (pointer:fine){.btn--step:hover{background:var(--at)}.btn--step:hover .icon{transform:translateX(3px)}}.btn--step .icon{transition:transform var(--ad) var(--o)}.form__submit{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}.contact__alt{align-self:start;padding-top:24px;border-top:1px solid var(--d)}.alt__title{font-size:var(--bd)}.alt{display:grid;margin-top:16px;border-top:1px solid var(--b)}.alt li{display:grid;gap:4px;padding-block:16px;border-bottom:1px solid var(--b)}.alt .btn{justify-self:start}.alt__note{margin-top:16px;font-size:var(--m);color:var(--k)}@media (max-width:639px){.btn--step{width:100%}}@media (min-width:640px){.choices,.form__row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1024px){.contact{grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:96px}.contact__alt{position:sticky;top:calc(64px + 32px);margin-top:128px}}.contact__fig{position:relative;margin:0 0 24px}.contact__fig .figure__media{position:relative;aspect-ratio:4/5;background:var(--r)}.contact__fig .pic,.contact__fig img{width:100%;height:100%}.contact__fig img{object-fit:cover;object-position:30% 50%}.contact__fig .figure__media::after{--cm:linear-gradient(var(--f),var(--f));content:"";position:absolute;inset:12px;pointer-events:none;background:var(--cm) 0 0/14px 1px,var(--cm) 0 0/1px 14px,var(--cm) 100% 0/14px 1px,var(--cm) 100% 0/1px 14px,var(--cm) 0 100%/14px 1px,var(--cm) 0 100%/1px 14px,var(--cm) 100% 100%/14px 1px,var(--cm) 100% 100%/1px 14px;background-repeat:no-repeat}.main>[data-ch] .contact__alt{padding:24px;background:var(--g);border:1px solid var(--d)}body{--am:clamp(64px,5.5vw + 24px,112px)}.hero--text[data-ch=h]{padding-block:48px 32px}.hero--text[data-ch=h] .hv-leg{margin-top:48px}.hero--text[data-ch=h] .hero__figure .figure__media{border:1px solid var(--d)}.hero--text[data-ch=h] .hero__figure .pic img{max-height:min(68svh,34rem);object-fit:contain}.hero--404[data-ch=h] .hero__text{max-width:44rem}@media (min-width:1024px){.hero--text[data-ch=h]{padding-block:96px 64px}.main>[data-ch=h]:is([data-d=iso],[data-d=axo],[data-d=sec])::after{transform:none;left:auto}.main>[data-ch=h][data-d=iso]::after{right:-4%;bottom:-30%;width:min(52vw,780px);aspect-ratio:1729/1564;-webkit-mask-image:url(/assets/deco/villa-iso-lines.d3c89883.svg);mask-image:url(/assets/deco/villa-iso-lines.d3c89883.svg)}.main>[data-ch=h][data-d=axo]::after{right:1%;top:-14%;bottom:auto;width:min(32vw,480px);aspect-ratio:1473/2114;-webkit-mask-image:url(/assets/deco/villa-axo-exploded.770054f8.svg);mask-image:url(/assets/deco/villa-axo-exploded.770054f8.svg)}.main>[data-ch=h][data-d=sec]::after{right:-3%;bottom:-3%;width:min(74vw,1060px);aspect-ratio:1402/508;-webkit-mask-image:url(/assets/deco/villa-section.5d6ecaba.svg);mask-image:url(/assets/deco/villa-section.5d6ecaba.svg)}.hero--text:not(.hero--figure,.hero--case)[data-ch=h]::after{opacity:.085}.main>.hero--text:not(.hero--figure,.hero--case)[data-d=plan]::after{left:auto;right:-12%}.main>.hero--figure[data-d=iso]::after{right:auto;left:-12%}.main>.hero--figure[data-d=axo]::after{right:auto;left:-4%;top:auto;bottom:-30%}}.main>[data-ch] .table{border:1px solid var(--d);background:var(--g)}.main>[data-ch] .table :is(caption,.table__caption){padding:12px 16px;border-bottom:1px solid var(--b);background:var(--color-bg);color:var(--f)}.main>[data-ch] .table th,.main>[data-ch] .table td{padding-left:16px}.main>[data-ch] .table :is(th,td):last-child{padding-right:16px}@media (min-width:1024px){.main>[data-ch] .table th,.main>[data-ch] .table td{padding-left:24px}.main>[data-ch] .table :is(th,td):last-child{padding-right:24px}}.main>[data-ch] .table thead th{padding-block:16px;border-bottom:0;background:var(--j);color:var(--z)}.main>[data-ch] .table tbody tr:nth-child(even){background:color-mix(in srgb,var(--a) 4%,transparent)}.main>[data-ch] .table :is(.table__note,.table__sources){margin:0;padding:12px 16px;border-top:1px solid var(--b)}.main>:is([data-ch=k],[data-ch=c]) .table thead th{background:var(--bb)}.main>[data-ch] .table--calc{border:0}@media (max-width:639px){.main>[data-ch] .table--stack tr{padding-inline:16px}.main>[data-ch] .table--stack tbody tr:nth-child(even){background:none}.main>[data-ch] .table th,.main>[data-ch] .table td{padding-left:0}.main>[data-ch] .table :is(th,td):last-child{padding-right:0}}.checks--plates{counter-reset:need;gap:16px}.checks--plates li{counter-increment:need;position:relative;display:block;min-height:8.5rem;padding:24px 24px 24px 24px;background:var(--g);border:1px solid var(--d);overflow-wrap:anywhere}.checks--plates li::before{content:counter(need,decimal-leading-zero);content:counter(need,decimal-leading-zero)/"";position:absolute;top:12px;right:16px;width:auto;height:auto;margin:0;border:0;transform:none;font:650 3.25rem/1 var(--aa);font-stretch:125%;color:transparent;-webkit-text-stroke:1px var(--d)}.checks--plates li>*{position:relative}.checks--plates li{padding-right:5.5rem}@media (max-width:639px){.checks--plates li{min-height:0;padding-right:4.25rem}.checks--plates li::before{font-size:2.25rem;top:8px;right:12px}}@media (forced-colors:active){.checks--plates li::before{display:none}}.process__side{display:none}@media (min-width:1024px){.process--side .process__steps{grid-column:1/8}.process__side{display:block;grid-column:9/13;grid-row:1;position:sticky;top:calc(64px + 32px);height:min(76svh,44rem);background:var(--a);opacity:.34;pointer-events:none;-webkit-mask:var(--side) 50% 0/contain no-repeat;mask:var(--side) 50% 0/contain no-repeat}.process__side[data-d=axo]{--side:url(/assets/deco/villa-axo-exploded.770054f8.svg)}.process__side[data-d=plan]{--side:url(/assets/deco/villa-plan-lines.4e6afc48.svg)}.process__side[data-d=iso]{--side:url(/assets/deco/villa-iso-lines.d3c89883.svg)}.main>[data-ch=k] .process__side{opacity:.82}}.main>[data-ch] .index:not(.index--cards){counter-reset:ix}.main>[data-ch] .index:not(.index--cards) .index__item{counter-increment:ix;padding-left:4.75rem}.main>[data-ch] .index:not(.index--cards) .index__item::before{content:counter(ix,decimal-leading-zero);content:counter(ix,decimal-leading-zero)/"";position:absolute;left:0;top:16px;font:650 2.25rem/1 var(--aa);font-stretch:125%;color:transparent;-webkit-text-stroke:1px var(--d)}.main>[data-ch] .index:not(.index--cards) .index__item:hover::before{-webkit-text-stroke-color:var(--e)}@media (max-width:639px){.main>[data-ch] .index:not(.index--cards) .index__item{padding-left:3.5rem}.main>[data-ch] .index:not(.index--cards) .index__item::before{font-size:1.75rem}}@media (forced-colors:active){.main>[data-ch] .index__item::before{display:none}}.main>[data-ch] .soon__item,.main>[data-ch] .guarantees li{background:color-mix(in srgb,var(--g) 100%,transparent)}.main>[data-ch] .specs{border-top-color:var(--d)}.main>[data-ch] .sources{max-width:none}.hero--case[data-ch=h] .hero__app{z-index:1}.page-legal .main>[data-n]::before{display:none}.page-legal .main>[data-ch]:not([data-ch=h]){--am:48px}.page-legal .main>[data-n]>.wrap{padding-top:calc(32px + 24px)}.page-legal .hero--text[data-ch=h]::after{display:none}.page-legal .block__head{margin-bottom:16px}.page-legal h2{font:600 var(--af) var(--aw);font-stretch:100%;letter-spacing:-0.01em;max-width:32ch}.page-legal .main>[data-ch] :is(.block__head>h2){font-size:var(--af);line-height:1.2;letter-spacing:-0.01em;font-stretch:100%}.page-contact .form-section{margin-top:0}.page-thanks .main>[data-ch] .steps--compact .step{background:var(--g);padding-inline:16px;border:1px solid var(--d);margin-bottom:8px}.page-thanks .main>[data-ch] .steps--compact .step:last-child{border-bottom-width:1px}