*{margin:0;padding:0;box-sizing:border-box}
:root{
  --gold:#B8922A;--gold-light:#D4A843;--gold-bg:#FDF8F0;
  --dark:#1A1A1A;--mid:#4A4A4A;--muted:#888;
  --light:#F8F7F5;--white:#FFFFFF;
  --border:#E8E4DC;--border2:#D4CFC6;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:var(--white);color:var(--dark);overflow-x:hidden;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:999;background:rgba(255,255,255,0.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--border);padding:0 5%}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-brand{display:flex;align-items:center;gap:12px}
.nav-mark{width:38px;height:38px;background:var(--dark);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-mark span{font-family:'Playfair Display',serif;font-size:14px;font-weight:700;color:var(--gold-light);letter-spacing:1px}
.brand-name{font-family:'Playfair Display',serif;font-size:15px;font-weight:600;color:var(--dark);letter-spacing:.5px}
.brand-sub{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);display:block}
.nav-links{display:flex;gap:0;list-style:none}
.nav-links a{font-size:12px;font-weight:500;letter-spacing:.5px;color:var(--mid);padding:0 1.1rem;height:72px;display:flex;align-items:center;border-bottom:2px solid transparent;transition:all .2s}
.nav-links a:hover,.nav-links a.active{color:var(--dark);border-bottom-color:var(--gold)}
.nav-cta{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:10px 22px;background:var(--dark);color:var(--white);transition:background .2s;cursor:pointer;border:none}
.nav-cta:hover{background:var(--gold)}
.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--dark)}

/* PAGE BANNER — image placeholder at top of every inner page */
.page-banner{margin-top:72px;position:relative;height:340px;overflow:hidden;background:var(--dark);display:flex;align-items:flex-end}
.page-banner-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.45}
.page-banner-placeholder{position:absolute;inset:0;background:linear-gradient(135deg,#1a1a2e 0%,#111 50%,#0a0a0a 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px}
.page-banner-placeholder span{font-family:'Playfair Display',serif;font-size:1.2rem;color:rgba(255,255,255,0.12);letter-spacing:3px}
.page-banner-placeholder small{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.2)}
.page-banner-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.75) 0%,rgba(0,0,0,0.2) 60%,transparent 100%)}
.page-banner-content{position:relative;z-index:2;padding:2.5rem 5%;width:100%}
.page-banner-eyebrow{font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold-light);margin-bottom:.6rem}
.page-banner-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,4vw,3rem);font-weight:700;color:var(--white);line-height:1.2}
.page-banner-title em{font-style:italic;color:var(--gold-light)}

/* HERO (home page) */
.hero{padding-top:72px;min-height:92vh;display:grid;grid-template-columns:1fr 1fr}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:5rem 5% 5rem 8%;background:var(--light)}
.hero-eyebrow{font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem}
.hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,3.2vw,3.2rem);font-weight:700;line-height:1.15;color:var(--dark);margin-bottom:1.5rem}
.hero h1 em{font-style:italic;color:var(--gold)}
.hero-sub{font-size:15px;color:var(--mid);line-height:1.8;max-width:420px;margin-bottom:2.5rem;font-weight:300}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:3.5rem;border-top:1px solid var(--border);padding-top:2.5rem}
.hero-stat .num{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;color:var(--dark);line-height:1}
.hero-stat .lbl{font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
.hero-right{background:var(--dark);position:relative;overflow:hidden;min-height:500px}
.hero-right-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.5}
.hero-right-placeholder{position:absolute;inset:0;background:linear-gradient(160deg,#2a2a2e 0%,#111 60%,#0a0a0a 100%);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}
.hero-right-placeholder span{font-family:'Playfair Display',serif;font-size:1.1rem;color:rgba(255,255,255,0.1);letter-spacing:3px}
.hero-right-placeholder small{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.15)}
.hero-right-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.8) 0%,transparent 50%)}
.hero-prop-label{background:var(--gold);color:var(--dark);font-size:8px;font-weight:700;letter-spacing:3px;text-transform:uppercase;padding:5px 14px;display:inline-block}
.hero-prop-name{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:600;color:var(--white);margin-top:.5rem}
.hero-prop-loc{font-size:10px;color:rgba(255,255,255,0.5);letter-spacing:2px;text-transform:uppercase;margin-top:.3rem}
.hero-right-content{position:absolute;bottom:2.5rem;left:2rem;z-index:2}

/* COMMON LAYOUT */
.container{max-width:1200px;margin:0 auto;padding:0 5%}
.section{padding:5rem 0}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:var(--dark);line-height:1.2;margin-bottom:1rem}
.section-title em{font-style:italic;color:var(--gold)}
.section-lead{font-size:15px;color:var(--mid);line-height:1.8;max-width:600px;margin-bottom:2.5rem;font-weight:300}
.divider{height:1px;background:var(--border)}

/* BUTTONS */
.btn-primary{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:13px 30px;background:var(--dark);color:var(--white);cursor:pointer;border:none;transition:background .2s;display:inline-block}
.btn-primary:hover{background:var(--gold)}
.btn-secondary{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:13px 30px;background:transparent;color:var(--dark);border:1.5px solid var(--dark);cursor:pointer;transition:all .2s;display:inline-block}
.btn-secondary:hover{background:var(--dark);color:var(--white)}
.btn-gold{font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;padding:13px 30px;background:var(--gold);color:var(--white);cursor:pointer;border:none;transition:background .2s;display:inline-block}
.btn-gold:hover{background:var(--dark)}

/* WHO WE ARE */
.who-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.who-body{font-size:15px;color:var(--mid);line-height:1.9;font-weight:300;margin-bottom:1.2rem}
.timeline{border-left:2px solid var(--border2);padding-left:1.8rem}
.tl-item{margin-bottom:1.8rem;position:relative}
.tl-item:last-child{margin-bottom:0}
.tl-dot{position:absolute;left:-2.25rem;top:4px;width:10px;height:10px;background:var(--gold);border-radius:50%}
.tl-dot.current{background:var(--white);border:2px solid var(--gold)}
.tl-year{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold);margin-bottom:.2rem}
.tl-label{font-size:13px;font-weight:600;color:var(--dark);margin-bottom:.2rem}
.tl-desc{font-size:12px;color:var(--muted);line-height:1.6}

/* WHY BAND */
.why-band{background:var(--dark);padding:5rem 5%}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:2.5rem}
.why-item{padding:2rem;border:.5px solid rgba(255,255,255,0.07);transition:border-color .2s}
.why-item:hover{border-color:rgba(184,146,42,0.4)}
.why-n{font-size:2.2rem;font-family:'Playfair Display',serif;font-weight:700;color:var(--gold-light);margin-bottom:.6rem;line-height:1}
.why-t{font-size:13px;font-weight:600;color:var(--white);margin-bottom:.4rem}
.why-d{font-size:12px;color:rgba(255,255,255,0.45);line-height:1.7}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border)}
.svc{background:var(--white);padding:2.5rem 2rem;border-bottom:3px solid transparent;transition:border-color .2s}
.svc:hover{border-bottom-color:var(--gold)}
.svc-n{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem}
.svc-t{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:600;color:var(--dark);margin-bottom:.6rem}
.svc-d{font-size:13px;color:var(--muted);line-height:1.7}
.svc-list{margin-top:1rem;list-style:none}
.svc-list li{font-size:12px;color:var(--muted);padding:.3rem 0;border-bottom:.5px solid var(--border);display:flex;align-items:center;gap:.6rem}
.svc-list li::before{content:'';width:5px;height:5px;background:var(--gold);border-radius:50%;flex-shrink:0}
.svc-list li:last-child{border-bottom:none}

/* PORTFOLIO GRID */
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.prop{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:box-shadow .25s;position:relative}
.prop:hover{box-shadow:0 6px 24px rgba(0,0,0,0.1)}
.prop a.prop-link{position:absolute;inset:0;z-index:2}
.prop-img{height:200px;position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:flex-start;padding:1rem}
.prop-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.prop-img-placeholder{position:absolute;inset:0}
.bg-hotel{background:linear-gradient(135deg,#1a1a2e,#16213e)}
.bg-boutique{background:linear-gradient(135deg,#1a2a1a,#1e3a1e)}
.bg-leisure{background:linear-gradient(135deg,#1a1a2a,#252538)}
.bg-city{background:linear-gradient(135deg,#2a1a1a,#3a1e1e)}
.bg-inn{background:linear-gradient(135deg,#1a2a2a,#1e3838)}
.bg-hayy{background:linear-gradient(135deg,#2a1f0f,#3a2a10)}
.prop-badge{position:relative;z-index:1;background:var(--gold);color:var(--dark);font-size:8px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;display:inline-block}
.prop-badge.hayy{background:var(--dark);color:var(--gold-light);border:1px solid var(--gold)}
.prop-body{padding:1.2rem 1.3rem 1.4rem}
.prop-loc{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:.3rem}
.prop-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--dark);line-height:1.3;margin-bottom:.8rem}
.prop-cta{font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:5px}
.prop-cta::after{content:'→';transition:transform .2s}
.prop:hover .prop-cta::after{transform:translateX(4px)}

/* HAYY */
.hayy-section{background:var(--dark);padding:5rem 5%}
.hayy-inner{max-width:1200px;margin:0 auto}
.hayy-top{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:3rem}
.hayy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,0.05)}
.hayy-cat{background:rgba(255,255,255,0.02);padding:1.8rem 1.5rem}
.hayy-cat-title{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--gold-light);margin-bottom:1rem;padding-bottom:.8rem;border-bottom:.5px solid rgba(255,255,255,0.07)}
.hayy-prop{padding:.45rem 0;border-bottom:.5px solid rgba(255,255,255,0.04)}
.hayy-prop:last-child{border-bottom:none}
.hayy-prop a{font-size:12px;color:rgba(255,255,255,0.5);transition:color .2s;display:flex;align-items:center;justify-content:space-between;font-weight:300}
.hayy-prop a:hover{color:var(--gold-light)}
.hayy-prop a::after{content:'→';opacity:0;transition:opacity .2s;color:var(--gold-light)}
.hayy-prop:hover a::after{opacity:1}

/* CONTRACTS */
.contracts-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:2rem}
.cf{display:flex;gap:.8rem;align-items:flex-start}
.cf-dot{width:6px;height:6px;background:var(--gold);border-radius:50%;margin-top:5px;flex-shrink:0}
.cf-t{font-size:13px;font-weight:500;color:var(--dark)}
.cta-box{background:var(--dark);padding:3rem}
.cta-box-title{font-family:'Playfair Display',serif;font-size:1.7rem;font-weight:700;color:var(--white);margin-bottom:1rem;line-height:1.2}
.cta-box-body{font-size:13px;color:rgba(255,255,255,0.55);line-height:1.8;margin-bottom:2rem}

/* ABOUT */
.about-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:5rem;align-items:start}
.about-body{font-size:14px;color:var(--mid);line-height:1.9;font-weight:300;margin-bottom:1.2rem}
.val{display:flex;gap:1rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.val:last-child{border-bottom:none}
.val-icon{width:32px;height:32px;background:var(--gold-bg);border:1px solid var(--border2);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--gold);font-size:13px;font-weight:700}
.val-t{font-size:13px;font-weight:600;color:var(--dark);margin-bottom:2px}
.val-d{font-size:12px;color:var(--muted);line-height:1.6}
.about-panel{background:var(--light);padding:2.5rem;border:1px solid var(--border)}
.panel-head{font-size:9px;font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--muted);margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}
.geo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);margin-bottom:1.5rem}
.geo-item{background:var(--white);padding:1rem;text-align:center}
.geo-flag{font-size:1.3rem;margin-bottom:.3rem}
.geo-name{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted)}
.metric-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}
.metric{background:var(--white);padding:1.2rem;text-align:center}
.metric-n{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:700;color:var(--gold);line-height:1}
.metric-l{font-size:9px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-top:.3rem}

/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:4rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.fg{margin-bottom:1.2rem}
.fg label{display:block;font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--mid);margin-bottom:.5rem}
.fg input,.fg select,.fg textarea{width:100%;background:var(--light);border:1px solid var(--border2);color:var(--dark);padding:11px 14px;font-family:'Inter',sans-serif;font-size:13px;outline:none;transition:border-color .2s;-webkit-appearance:none}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--gold)}
.fg textarea{height:120px;resize:none}
.fg select option{background:var(--white)}
.ci-panel{background:var(--light);border:1px solid var(--border);padding:2.5rem}
.ci{display:flex;gap:1rem;margin-bottom:1.8rem;padding-bottom:1.8rem;border-bottom:1px solid var(--border)}
.ci:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.ci-icon{width:36px;height:36px;background:var(--dark);display:flex;align-items:center;justify-content:center;color:var(--gold-light);font-size:13px;flex-shrink:0}
.ci-label{font-size:9px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.ci-val{font-size:13px;color:var(--dark)}

/* CTA BAND */
.cta-band{background:var(--dark);padding:4.5rem 5%;text-align:center}

/* FOOTER */
footer{background:var(--dark);border-top:.5px solid rgba(255,255,255,0.06);padding:3.5rem 5%}
.footer-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem}
.footer-brand .nav-mark{width:36px;height:36px;margin-bottom:1rem}
.footer-brand .nav-mark span{font-size:13px}
.footer-brand-name{font-family:'Playfair Display',serif;font-size:14px;font-weight:600;color:rgba(255,255,255,0.6);margin-bottom:.5rem}
.footer-brand-desc{font-size:12px;color:rgba(255,255,255,0.3);line-height:1.7;max-width:220px}
.footer-col-title{font-size:10px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-bottom:1.2rem}
.footer-col a{display:block;font-size:12px;color:rgba(255,255,255,0.35);margin-bottom:.6rem;transition:color .2s}
.footer-col a:hover{color:var(--gold-light)}
.footer-bottom{max-width:1200px;margin:2.5rem auto 0;padding-top:2rem;border-top:.5px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-copy{font-size:11px;color:rgba(255,255,255,0.25)}

/* MOBILE */
.mobile-menu{display:none;position:fixed;inset:0;background:var(--white);z-index:998;flex-direction:column;align-items:center;justify-content:center;gap:2rem}
.mobile-menu.open{display:flex}
.mobile-menu a{font-size:14px;font-weight:500;letter-spacing:2px;text-transform:uppercase;color:var(--mid)}
.mobile-menu a:hover{color:var(--gold)}
.mobile-menu .close{font-size:24px;position:absolute;top:1.5rem;right:5%;cursor:pointer;color:var(--mid)}

@media(max-width:1024px){
  .hero{grid-template-columns:1fr}.hero-right{min-height:320px}
  .who-grid,.contracts-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}
  .why-grid{grid-template-columns:repeat(2,1fr)}
  .hayy-grid{grid-template-columns:repeat(2,1fr)}
  .hayy-top{grid-template-columns:1fr}
  .footer-inner{grid-template-columns:1fr 1fr;gap:2rem}
}
@media(max-width:768px){
  .nav-links,.nav-cta{display:none}.nav-toggle{display:flex}
  .hero-left{padding:4rem 5%}
  .portfolio-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr 1fr}
  .form-row{grid-template-columns:1fr}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .page-banner{height:260px}
  .footer-inner{grid-template-columns:1fr}
}
@media(max-width:480px){
  .portfolio-grid{grid-template-columns:1fr}
  .why-grid{grid-template-columns:1fr}
}
