/* Luma Hilltop Villas · web v1 · Neuraflow IA */
@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/fonts/archivo-latin-ext-wdth-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Archivo';font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/fonts/archivo-latin-wdth-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Archivo';font-style:italic;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/fonts/archivo-latin-wdth-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Marcellus';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/marcellus-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Marcellus';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/marcellus-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Marcellus SC';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/marcellus-sc-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Marcellus SC';font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fonts/marcellus-sc-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
body{margin:0;background:#F3E8CF;color:#512115;font-family:'Archivo',system-ui,sans-serif}
*{box-sizing:border-box}
a{color:#512115}a:hover{color:#B55641}
img{max-width:100%}
@keyframes lumaUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes lumaFade{from{opacity:0}to{opacity:1}}
@keyframes lumaMorph{0%,100%{border-radius:48% 52% 44% 56%/52% 46% 54% 48%}33%{border-radius:56% 44% 52% 48%/44% 56% 46% 54%}66%{border-radius:42% 58% 56% 44%/56% 42% 58% 44%}}
@keyframes lumaSway{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
@keyframes lumaMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes lumaReveal{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes lumaSunrise{from{clip-path:circle(0% at 50% 100%)}to{clip-path:circle(125% at 50% 100%)}}
@keyframes lumaOval{from{clip-path:ellipse(16% 20% at 50% 55%);opacity:.3}to{clip-path:ellipse(85% 90% at 50% 50%);opacity:1}}
@keyframes lumaRise{from{opacity:0;transform:translateY(180px)}to{opacity:1;transform:none}}
@keyframes lumaBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes lumaTrack{from{opacity:0;letter-spacing:.7em}to{opacity:1;letter-spacing:.24em}}
@keyframes lumaGem{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes lumaIntro{0%,80%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}
html{scroll-behavior:smooth}
.l-in{animation:lumaUp 1s cubic-bezier(.2,.7,.2,1) both}
.l-morph{animation:lumaMorph 18s ease-in-out infinite}
.l-sway{transform-origin:50% 85%;animation:lumaSway 10s ease-in-out infinite}
.l-sway-in{transform-origin:50% 85%;animation:lumaFade 1.2s 2.6s both,lumaSway 10s 2.6s ease-in-out infinite}
.l-hero-img{animation:lumaSunrise 1.8s 2.1s cubic-bezier(.2,.7,.2,1) both,lumaMorph 18s ease-in-out infinite}
.l-hero-img2{animation:lumaOval 1.4s 2.6s cubic-bezier(.2,.7,.2,1) both,lumaMorph 22s ease-in-out infinite reverse}
.l-sunmorph-in{animation:lumaSunrise 1.8s .2s cubic-bezier(.2,.7,.2,1) both,lumaMorph 18s ease-in-out infinite}
.l-ovalmorph-in{animation:lumaOval 1.4s .6s cubic-bezier(.2,.7,.2,1) both,lumaMorph 22s ease-in-out infinite reverse}
.l-sunrise-in{animation:lumaSunrise 1.6s cubic-bezier(.2,.7,.2,1) both}
.l-oval-in{animation:lumaOval 1.3s cubic-bezier(.2,.7,.2,1) both}
.l-sun{animation:lumaRise 2.2s 1.9s cubic-bezier(.2,.7,.2,1) both}
.l-breathe{animation:lumaBreathe 14s ease-in-out infinite}
.l-marquee{animation:lumaMarquee 60s linear infinite}
.l-intro{pointer-events:none;animation:lumaIntro 2.9s ease both}
.l-intro-sym{animation:lumaSunrise 1.3s .1s cubic-bezier(.2,.7,.2,1) both}
.l-intro-word{animation:lumaUp .9s .75s cubic-bezier(.2,.7,.2,1) both}
.l-gem{animation:lumaGem .55s cubic-bezier(.2,.7,.2,1) both}
.l-g1{animation-delay:1.4s}.l-g2{animation-delay:1.55s}.l-g3{animation-delay:1.7s}
.l-zoom{transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.l-card:hover .l-zoom{transform:scale(1.06)}
.l-btn{transition:transform .25s ease,box-shadow .25s ease}
.l-btn:hover{transform:translateY(-2px);box-shadow:0 12px 24px -14px rgba(81,33,21,.7)}
.l-btn svg,.l-arrow svg{transition:transform .25s ease}
.l-btn:hover svg,.l-arrow:hover svg{transform:translateX(4px)}
.l-lift{transition:transform .35s ease,background-color .35s ease}
.l-lift:hover{transform:translateY(-6px);background-color:rgba(243,232,207,.9) !important}
.l-tile{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.l-tile:hover{transform:scale(1.04) rotate(-1deg)}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #B55641;outline-offset:3px}
.l-d1{animation-delay:.12s}.l-d2{animation-delay:.24s}.l-d3{animation-delay:.36s}.l-d4{animation-delay:.48s}
.l-a0{animation-delay:2.1s}.l-a1{animation-delay:2.25s}.l-a2{animation-delay:2.4s}.l-a3{animation-delay:2.55s}.l-a4{animation-delay:2.7s}
@supports (animation-timeline: view()){
.l-rv{animation:lumaReveal linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
.l-oval{animation:lumaOval linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
.l-track{view-timeline-name:--lumalbl;animation:lumaTrack linear both;animation-timeline:view();animation-range:entry 0% entry 100%}
.l-track .l-gv{animation:lumaGem linear both;animation-timeline:--lumalbl}
.l-track .l-gv1{animation-range:entry 30% entry 70%}
.l-track .l-gv2{animation-range:entry 45% entry 85%}
.l-track .l-gv3{animation-range:entry 60% entry 100%}
.l-sunmorph{animation:lumaSunrise linear both,lumaMorph 20s ease-in-out infinite;animation-timeline:view(),auto;animation-range:entry 0% cover 45%,normal}
.l-sunsway{transform-origin:50% 85%;animation:lumaSunrise linear both,lumaSway 10s ease-in-out infinite;animation-timeline:view(),auto;animation-range:entry 0% entry 100%,normal}
}
@supports not (animation-timeline: view()){
.l-sunmorph{animation:lumaMorph 20s ease-in-out infinite}
.l-sunsway{transform-origin:50% 85%;animation:lumaSway 10s ease-in-out infinite}
}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation:none !important;transition:none !important;scroll-behavior:auto !important}.l-intro{display:none}}
.no-intro .l-intro{display:none}
.no-intro .l-a0{animation-delay:.05s}.no-intro .l-a1{animation-delay:.17s}.no-intro .l-a2{animation-delay:.29s}.no-intro .l-a3{animation-delay:.41s}.no-intro .l-a4{animation-delay:.53s}
.no-intro .l-hero-img{animation-delay:.1s,0s}.no-intro .l-hero-img2{animation-delay:.5s,0s}.no-intro .l-sun{animation-delay:0s}.no-intro .l-sway-in{animation-delay:.6s,.6s}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-80px;z-index:100;padding:12px 18px;border-radius:999px;background:#512115;color:#F3E8CF;text-decoration:none}
.skip:focus{top:16px}
@media (max-width: 760px){
header>div{padding:12px 20px !important;gap:10px 16px !important}
header nav{order:3;width:100%;justify-content:space-between;gap:8px !important}
header nav a{font-size:14px !important}
header a>img:first-child{height:36px !important}
header img[alt="Lumā"]{height:24px !important}
header .l-btn{height:40px !important;padding:0 16px !important;font-size:14px !important}
section,main[style],footer{padding-left:20px !important;padding-right:20px !important}
section{padding-top:64px !important;padding-bottom:64px !important}
h1{font-size:44px !important}
h2[id]{font-size:34px !important}
.hero-media{height:440px !important;flex-basis:100% !important}
.ig-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
.exp-grid{grid-template-rows:170px 170px !important;flex-basis:100% !important}
.exp-row h3{font-size:32px !important}
.l-hero-img{height:380px !important;width:90% !important}
.l-hero-img2{height:170px !important;width:46% !important}
.l-sun{width:280px !important;height:280px !important}
[style*="repeat(5, minmax(0, 1fr))"]{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
[style*="grid-template-rows: 250px 250px"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important;grid-template-rows:220px 150px 150px !important}
[style*="grid-column: span 2; grid-row: span 2"]{grid-row:span 1 !important}
[style*="repeat(3, minmax(0, 1fr))"]{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
[style*="repeat(2, minmax(0, 1fr)); gap: 16px 32px"]{grid-template-columns:1fr !important}
.l-marquee>div{font-size:22px !important}
}
