:root{--bg:#f4f1ea;--bg2:#ebe6db;--ink:#14281f;--muted:#5b6b62;--green:#0f3b2c;--green2:#175240;--gold:#b8924a;--gold2:#d9b76e;--line:rgba(20,40,31,.14);--cta:#c8402b;--wrap:1180px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{font-family:"Be Vietnam Pro",system-ui,sans-serif;background:var(--bg);color:var(--ink);font-weight:300;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.serif{font-family:"Playfair Display",serif;font-weight:400}
.eyebrow{font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:500}
.sec{padding:110px 0}
.sec-head{margin-bottom:54px}
.sec-head h2{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(32px,4.4vw,52px);line-height:1.15;margin-top:14px}
.sec-head h2 em{color:var(--gold);font-style:italic}
.sec-head p{color:var(--muted);max-width:560px;margin-top:16px}
.btn{display:inline-block;padding:15px 30px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border:1px solid var(--green);transition:.25s;cursor:pointer;font-family:inherit;background:none;color:var(--green)}
.btn.solid{background:var(--green);color:#fff}
.btn.solid:hover{background:var(--green2)}
.btn:hover{background:var(--green);color:#fff}
.btn.gold{border-color:var(--gold2);color:var(--gold2)}
.btn.gold:hover{background:var(--gold2);color:var(--green)}
.link{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;border-bottom:1px solid var(--gold);padding-bottom:4px;color:var(--green)}

/* header */
header{position:fixed;inset:0 0 auto 0;z-index:50;transition:.3s;background:rgba(244,241,234,.0)}
header.solid{background:rgba(244,241,234,.94);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:76px}
.logo{line-height:1}
.logo b{font-family:"Pinyon Script",cursive;font-weight:400;font-size:34px;color:var(--green)}
.logo small{display:block;font-size:8.5px;letter-spacing:.3em;color:var(--muted);margin-top:3px}
.menu{display:flex;gap:34px;align-items:center}
.menu a{font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:400;color:var(--green)}
.menu a:hover{color:var(--gold)}
.burger{display:none;background:none;border:0;width:32px;height:32px;cursor:pointer}
.burger i{display:block;height:1.5px;background:var(--green);margin:7px 4px}

/* hero */
.hero{min-height:100vh;display:flex;align-items:center;padding:120px 0 90px;background:
 radial-gradient(ellipse at 80% 20%,rgba(184,146,74,.16),transparent 55%),var(--bg)}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}
.hero h1{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(44px,6.4vw,82px);line-height:1.05;margin:22px 0 8px;color:var(--green)}
.hero h1 em{display:block;color:var(--gold);font-style:italic}
.hero .sub{font-size:11px;letter-spacing:.3em;color:var(--muted);text-transform:uppercase;margin-bottom:24px}
.hero p.lead{max-width:520px;color:var(--muted);margin-bottom:34px}
.hero .cta{display:flex;gap:14px;flex-wrap:wrap}
.portrait{position:relative}
.portrait .frame{border-radius:240px 240px 6px 6px;overflow:hidden;aspect-ratio:3/4;background:var(--green);box-shadow:0 30px 60px -25px rgba(15,59,44,.45)}
.portrait img{width:100%;height:100%;object-fit:cover}
.portrait:before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--gold);border-radius:250px 250px 6px 6px;z-index:-1}
.badge{position:absolute;left:-26px;bottom:34px;background:var(--green);color:#fff;padding:16px 22px;font-size:12px;line-height:1.5}
.badge b{display:block;font-family:"Playfair Display",serif;font-weight:400;font-size:19px;color:var(--gold2)}

/* search */
.search{margin-top:-44px;position:relative;z-index:5}
.search form{background:#fff;box-shadow:0 20px 50px -20px rgba(15,59,44,.3);display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr auto;align-items:end;gap:0}
.search label{display:block;padding:20px 26px;border-right:1px solid var(--line)}
.search label span{display:block;font-size:9.5px;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;font-weight:500;margin-bottom:4px}
.search input,.search select{width:100%;border:0;background:none;font:inherit;font-size:14px;color:var(--ink);outline:0}
.search button{height:100%;min-height:78px;padding:0 34px;border:0;background:var(--green);color:#fff;letter-spacing:.2em;font-size:11px;text-transform:uppercase;cursor:pointer;font-family:inherit}
.search button:hover{background:var(--green2)}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats div{padding:34px 10px;text-align:center;border-right:1px solid var(--line)}
.stats div:last-child{border:0}
.stats b{display:block;font-family:"Playfair Display",serif;font-weight:400;font-size:40px;color:var(--green)}
.stats span{font-size:12px;color:var(--muted);letter-spacing:.06em}

/* featured */
.feature{display:grid;grid-template-columns:1.2fr 1fr;background:var(--green);color:#fff;margin-bottom:28px}
.feature .pic{min-height:440px;background:linear-gradient(135deg,rgba(15,59,44,.1),rgba(15,59,44,.55)),
 radial-gradient(circle at 30% 30%,#2c7d63,#0f3b2c 70%);position:relative}
.feature .pic:after{content:"ALLUVIA";position:absolute;left:36px;bottom:30px;font-family:"Playfair Display",serif;font-size:clamp(40px,6vw,76px);letter-spacing:.12em;color:rgba(217,183,110,.35)}
.feature .txt{padding:56px 50px;display:flex;flex-direction:column;justify-content:center}
.tag{display:inline-block;align-self:flex-start;font-size:10px;letter-spacing:.2em;padding:6px 12px;border:1px solid var(--gold2);color:var(--gold2);margin-bottom:22px}
.feature h3{font-family:"Playfair Display",serif;font-weight:400;font-size:44px;line-height:1.1}
.feature h3 em{color:var(--gold2)}
.feature .loc{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin:10px 0 20px}
.feature p{opacity:.8;margin-bottom:26px}
.feature ul{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;margin-bottom:30px;font-size:13.5px}
.feature li:before{content:"◆";color:var(--gold2);font-size:7px;margin-right:10px;vertical-align:middle}
.prj-row{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:#fff;padding:34px 30px;border-top:2px solid var(--gold);transition:.3s}
.card:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(15,59,44,.35)}
.card .no{font-family:"Playfair Display",serif;color:var(--gold);font-size:15px}
.card h4{font-family:"Playfair Display",serif;font-weight:400;font-size:24px;margin:10px 0 6px;color:var(--green)}
.card .meta{font-size:13px;color:var(--muted);margin-bottom:18px}
.card a{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--green);font-weight:500}
.card a:hover{color:var(--gold)}

/* location */
.dark{background:var(--green);color:#fff}
.dark .sec-head h2{color:#fff}.dark .sec-head p{color:rgba(255,255,255,.7)}
.dist{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(255,255,255,.14)}
.dist div{background:var(--green);padding:34px 14px;text-align:center}
.dist b{display:block;font-family:"Playfair Display",serif;font-weight:400;font-size:40px;color:var(--gold2)}
.dist span{font-size:12.5px;opacity:.75}
.zones{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:70px}
.zone{border:1px solid rgba(255,255,255,.2);padding:34px 30px}
.zone .n{font-family:"Playfair Display",serif;font-size:15px;color:var(--gold2)}
.zone h4{font-family:"Playfair Display",serif;font-weight:400;font-size:30px;margin:8px 0 2px}
.zone .ha{font-size:12px;letter-spacing:.2em;color:var(--gold2);text-transform:uppercase;margin-bottom:16px}
.zone p{font-size:14px;opacity:.72;line-height:1.9}

/* services */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.svc article{padding:46px 36px 46px 0;border-right:1px solid var(--line);padding-left:36px}
.svc article:first-child{padding-left:0}
.svc article:last-child{border:0}
.svc .rn{font-family:"Playfair Display",serif;font-size:34px;color:var(--gold)}
.svc h3{font-size:12px;letter-spacing:.22em;font-weight:500;margin:14px 0 2px;color:var(--green)}
.svc .en{font-family:"Playfair Display",serif;font-style:italic;color:var(--gold);margin-bottom:14px}
.svc p{color:var(--muted);font-size:14.5px}

/* about */
.about{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}
.about .av{aspect-ratio:1;max-width:360px;border-radius:50%;overflow:hidden;border:6px solid #fff;box-shadow:0 0 0 1px var(--gold)}
.about .av img{width:100%;height:100%;object-fit:cover}
.about blockquote{font-family:"Playfair Display",serif;font-style:italic;font-size:clamp(22px,2.6vw,30px);line-height:1.5;color:var(--green);margin:20px 0 28px}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}
.chips span{font-size:11px;letter-spacing:.2em;border:1px solid var(--line);padding:8px 16px;color:var(--muted)}

/* product */
.prod{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.prod .card h4{font-size:22px}

/* policy */
.pol{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:center}
.pol div{padding:42px 20px;background:#fff;border-bottom:2px solid var(--gold)}
.pol b{display:block;font-family:"Playfair Display",serif;font-weight:400;font-size:58px;color:var(--green);line-height:1}
.pol b small{font-size:26px}
.pol span{display:block;margin-top:14px;font-size:14px;color:var(--muted);padding:0 10px}
.note{font-size:12px;color:var(--muted);margin-top:26px;font-style:italic}

/* timeline */
.tl{max-width:760px}
.tl li{list-style:none;display:grid;grid-template-columns:120px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}
.tl b{font-family:"Playfair Display",serif;font-weight:400;font-size:22px;color:var(--gold)}

/* amenities */
.am{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
.am div{background:var(--bg);padding:34px 24px;font-size:15px;transition:.25s}
.am div:hover{background:#fff;color:var(--gold)}
.am div:before{content:"◆";display:block;color:var(--gold);font-size:9px;margin-bottom:12px}

/* contact */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.contact .who{display:flex;align-items:center;gap:18px;margin:30px 0;padding:22px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}
.contact .who img{width:70px;height:70px;border-radius:50%;object-fit:cover}
.contact .who small{opacity:.7;display:block}
.contact .info a{display:block;font-size:14px;letter-spacing:.1em;margin:6px 0;color:var(--gold2)}
form.cf{background:#fff;color:var(--ink);padding:44px 40px}
form.cf label{display:block;margin-bottom:22px}
form.cf span{display:block;font-size:9.5px;letter-spacing:.24em;color:var(--gold);text-transform:uppercase;font-weight:500}
form.cf input,form.cf select,form.cf textarea{width:100%;border:0;border-bottom:1px solid var(--line);padding:9px 0;font:inherit;font-size:15px;background:none;outline:0;color:var(--ink)}
form.cf input:focus,form.cf select:focus,form.cf textarea:focus{border-color:var(--gold)}
form.cf button{width:100%;margin-top:6px}
form.cf small{display:block;margin-top:16px;font-size:12px;color:var(--muted)}

footer{background:#0a2a1f;color:rgba(255,255,255,.6);padding:34px 0;font-size:12.5px}
footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

/* float */
.float{position:fixed;left:18px;bottom:18px;z-index:60;display:flex;flex-direction:column;gap:10px}
.float a{padding:13px 22px;border-radius:40px;font-size:13px;font-weight:500;color:#fff;box-shadow:0 10px 24px -8px rgba(0,0,0,.4);text-align:center}
.float .z{background:#0068ff}.float .c{background:var(--cta)}

.ls-tabs{display:flex;gap:10px;margin-bottom:30px}
.ls-tabs button{font:inherit;font-size:11px;letter-spacing:.18em;text-transform:uppercase;padding:10px 20px;border:1px solid var(--line);background:none;cursor:pointer;color:var(--muted)}
.ls-tabs button.on{background:var(--green);color:#fff;border-color:var(--green)}
.ls{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.lcard{background:#fff;transition:.3s}
.lcard:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(15,59,44,.35)}
.lpic{aspect-ratio:4/3;background:linear-gradient(135deg,#175240,#0f3b2c) center/cover;position:relative}
.lpic .tag{position:absolute;left:16px;top:16px;margin:0;background:rgba(15,59,44,.7)}
.lbody{padding:24px 26px 26px}
.lbody h4{font-family:"Playfair Display",serif;font-weight:400;font-size:21px;color:var(--green);line-height:1.3}
.lbody .meta{font-size:13px;color:var(--muted);margin:6px 0 18px}
.lfoot{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:16px}
.lfoot b{font-family:"Playfair Display",serif;font-weight:400;color:var(--gold);font-size:18px}
.lfoot a{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--green);font-weight:500}
.consign{margin-top:44px;background:var(--green);color:#fff;padding:44px 48px;display:flex;justify-content:space-between;align-items:center;gap:30px}
.consign h3{font-size:26px;margin:8px 0;line-height:1.3}.consign p{opacity:.75;max-width:560px}
.news{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.ncard{background:#fff;padding:34px 30px;border-top:2px solid var(--gold);display:block;transition:.3s}
.ncard:hover{transform:translateY(-4px)}
.ncard h4{font-family:"Playfair Display",serif;font-weight:400;font-size:22px;line-height:1.35;color:var(--green);margin:12px 0}
.ncard p{font-size:14px;color:var(--muted);margin-bottom:20px}
@media(max-width:960px){.ls,.news{grid-template-columns:1fr}.consign{flex-direction:column;align-items:flex-start;padding:32px 26px}}
.rv{opacity:0;transform:translateY(24px);transition:.8s}
.rv.on{opacity:1;transform:none}

@media(max-width:960px){
 .sec{padding:76px 0}
 .menu{position:fixed;inset:76px 0 auto 0;background:var(--bg);flex-direction:column;padding:26px 0 34px;gap:22px;box-shadow:0 20px 30px -20px rgba(0,0,0,.2);display:none}
 .menu.open{display:flex}.burger{display:block}
 header{background:rgba(244,241,234,.96)}
 .hero{padding-top:104px;min-height:auto}
 .hero .wrap,.about,.contact,.feature{grid-template-columns:1fr;gap:44px}
 .portrait{max-width:380px;margin:0 auto}.badge{left:0}
 .search form{grid-template-columns:1fr 1fr}.search label{border-bottom:1px solid var(--line)}.search button{grid-column:1/-1}
 .stats{grid-template-columns:1fr 1fr}.stats div:nth-child(2){border-right:0}.stats div:nth-child(-n+2){border-bottom:1px solid var(--line)}
 .prj-row,.zones,.svc,.prod,.pol{grid-template-columns:1fr}
 .svc article{padding:34px 0!important;border-right:0;border-bottom:1px solid var(--line)}
 .dist{grid-template-columns:repeat(3,1fr)}
 .am{grid-template-columns:1fr 1fr}
 .feature .txt{padding:40px 28px}.feature .pic{min-height:240px}
 .about .av{margin:0 auto;max-width:260px}
 form.cf{padding:32px 24px}
}

.phero{padding:150px 0 64px;background:var(--bg2);border-bottom:1px solid var(--line)}
.phero h1{font-family:"Playfair Display",serif;font-weight:400;font-size:clamp(34px,5vw,58px);color:var(--green);line-height:1.15;margin-top:12px}
.phero h1 em{color:var(--gold);font-style:italic}
.phero p{color:var(--muted);max-width:600px;margin-top:14px}
.crumb{font-size:12px;color:var(--muted);letter-spacing:.06em}
.crumb a:hover{color:var(--gold)}
.article{max-width:760px;margin:0 auto}
.article p{margin-bottom:22px;font-size:16.5px;line-height:1.9}
.article h2{font-family:"Playfair Display",serif;font-weight:400;font-size:28px;color:var(--green);margin:38px 0 14px}
.article ul{margin:0 0 22px 20px;line-height:2}
.fcols{display:flex;gap:60px;flex-wrap:wrap;justify-content:space-between;margin-bottom:26px}
.fcols div{font-size:13px}.fcols b{display:block;color:var(--gold2);letter-spacing:.2em;font-size:10.5px;margin-bottom:10px;font-weight:500}
.fcols a{display:block;margin:4px 0}.fcols a:hover{color:var(--gold2)}
.menu a.on{color:var(--gold)}
.more{margin-top:36px;text-align:center}
