:root{
  --bg:#F6F3EE; --surface:#fff; --ink:#1C1C1A; --muted:#6E6A61;
  --accent:#2A4A2C; --accent2:#47784A; --gold:#C8A84B; --gold2:#E4C97A;
  --border:#E0DCD3; --dark:#142015;
  --sh:0 2px 18px rgba(28,28,26,.07); --sh2:0 12px 48px rgba(28,28,26,.16);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',sans-serif;background:var(--bg);color:var(--ink);overflow-x:hidden}
img{display:block;max-width:100%}
.wrap{max-width:1280px;margin:0 auto;padding:0 48px}
.serif{font-family:'Cormorant Garamond',serif}

/* TOPBAR */
.topbar{background:var(--dark);color:rgba(255,255,255,.6);font-size:11.5px;letter-spacing:.04em}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:36px}
.topbar a{color:rgba(255,255,255,.6);text-decoration:none;transition:color .2s}
.topbar a:hover{color:var(--gold)}
.tb-soc{display:flex;gap:16px;align-items:center}

/* HEADER */
header{background:var(--accent);position:sticky;top:0;z-index:300;box-shadow:0 2px 20px rgba(0,0,0,.14)}
header .wrap{display:flex;align-items:center;justify-content:space-between;height:74px}
.hlogo img{height:38px;filter:brightness(0) invert(1)}
.hnav{display:flex;gap:30px}
.hnav a{color:rgba(255,255,255,.72);text-decoration:none;font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;transition:color .2s;position:relative;padding:4px 0}
.hnav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .3s}
.hnav a:hover{color:#fff}
.hnav a:hover::after{width:100%}
.hcontact{display:flex;align-items:center;gap:18px}
.hphone{color:#fff;text-decoration:none;font-size:15px;font-weight:500;white-space:nowrap}
.hphone:hover{color:var(--gold2)}
.hbtn{background:var(--gold);color:var(--dark);border:none;border-radius:7px;padding:11px 22px;font-family:'Jost',sans-serif;font-size:12.5px;letter-spacing:.06em;cursor:pointer;font-weight:500;transition:all .25s;white-space:nowrap}
.hbtn:hover{background:var(--gold2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(200,168,75,.4)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.burger span{width:24px;height:2px;background:#fff;transition:.3s}

/* BUTTONS */
.btn-primary{background:var(--gold);color:var(--dark);border:none;border-radius:9px;padding:16px 34px;font-family:'Jost',sans-serif;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:500;cursor:pointer;text-decoration:none;display:inline-block;transition:all .25s}
.btn-primary:hover{background:var(--gold2);transform:translateY(-2px);box-shadow:0 10px 32px rgba(200,168,75,.36)}
.btn-ghost{background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.26);border-radius:9px;padding:16px 34px;font-family:'Jost',sans-serif;font-size:13.5px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none;display:inline-block;transition:all .25s;backdrop-filter:blur(6px)}
.btn-ghost:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.5)}

/* SECTION */
section{padding:96px 0}
.sec-head{margin-bottom:44px}
.sec-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--accent2);margin-bottom:14px}
.sec-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold)}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.6vw,50px);font-weight:300;line-height:1.1}
.sec-title i{font-style:italic;color:var(--accent)}
.sec-sub{margin-top:14px;color:var(--muted);font-size:15px;font-weight:300;max-width:600px;line-height:1.65}
.sec-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.link-all{color:var(--accent);text-decoration:none;font-size:13px;letter-spacing:.06em;border-bottom:1px solid var(--gold);padding-bottom:3px;white-space:nowrap;transition:.2s}
.link-all:hover{color:var(--accent2);border-color:var(--accent2)}

/* MODAL */
.modal{position:fixed;inset:0;background:rgba(20,32,21,.82);backdrop-filter:blur(6px);z-index:500;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-box{background:#fff;border-radius:16px;padding:40px;max-width:440px;width:100%;position:relative;animation:pop .32s cubic-bezier(.2,.9,.3,1.2)}
@keyframes pop{from{opacity:0;transform:scale(.93) translateY(14px)}to{opacity:1;transform:none}}
.modal-close{position:absolute;right:18px;top:18px;background:none;border:none;font-size:26px;color:var(--muted);cursor:pointer;line-height:1}
.modal-close:hover{color:var(--ink)}
.modal-box h3{font-family:'Cormorant Garamond',serif;font-size:29px;font-weight:400;margin-bottom:9px}
.modal-box p{font-size:14px;color:var(--muted);margin-bottom:22px;font-weight:300;line-height:1.6}
.modal-box input{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:9px;padding:14px 16px;font-family:'Jost',sans-serif;font-size:14px;margin-bottom:12px}
.modal-box input:focus{outline:none;border-color:var(--accent2)}
.modal-box button.submit{width:100%;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:15px;font-family:'Jost',sans-serif;font-size:13px;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;transition:background .25s}
.modal-box button.submit:hover{background:var(--accent2)}

/* FOOTER */
footer{background:var(--dark);color:rgba(255,255,255,.5);padding:64px 0 30px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,.09)}
.flogo img{height:38px;filter:brightness(0) invert(1);margin-bottom:18px}
.fabout{font-size:13.5px;line-height:1.7;font-weight:300;max-width:290px}
.fcol h4{color:#fff;font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:18px;font-weight:500}
.fcol a{display:block;color:rgba(255,255,255,.5);text-decoration:none;font-size:13.5px;margin-bottom:11px;transition:color .2s}
.fcol a:hover{color:var(--gold)}
.fphone{color:#fff!important;font-size:20px!important;font-weight:500;margin-bottom:14px!important}
.fsoc{display:flex;gap:10px;margin-top:16px}
.fsoc a{width:38px;height:38px;border:1px solid rgba(255,255,255,.16);border-radius:9px;display:flex;align-items:center;justify-content:center;margin:0;transition:all .25s}
.fsoc a:hover{background:var(--gold);border-color:var(--gold)}
.fsoc svg{width:17px;height:17px;fill:rgba(255,255,255,.65)}
.fsoc a:hover svg{fill:var(--dark)}
.fbottom{padding-top:26px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.32)}
.fbottom a{color:rgba(255,255,255,.32);text-decoration:none}
.fbottom a:hover{color:var(--gold)}

/* LOADING */
.spinner{width:34px;height:34px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;margin:0 auto 14px}
@keyframes spin{to{transform:rotate(360deg)}}
.state{text-align:center;padding:72px 24px;color:var(--muted);grid-column:1/-1}
.state h3{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;color:var(--ink);margin-bottom:8px}

/* REVEAL */
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}

@media(max-width:1024px){ .fgrid{grid-template-columns:1fr 1fr;gap:34px} }
@media(max-width:768px){
  .wrap{padding:0 18px}
  .hnav{display:none}
  .hcontact .hbtn{display:none}
  .burger{display:flex}
  section{padding:64px 0}
  .fgrid{grid-template-columns:1fr}
  .tb-addr{display:none}
  .topbar .wrap{font-size:10.5px}
}
