@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400;1,9..40,600&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root {
  --navy: #152738;
  --navy-2: #1e3549;
  --gold: #b88a38;
  --gold-light: #c59b43;
  --gold-pale: #fbf6ee;
  --cream: #fbfaf7;
  --white: #ffffff;
  --border-light: #e8e4dc;
  --border-gold: rgba(184,138,56,.3);
  --ink: #162430;
  --muted: #5e6d78;
}

*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; overflow-x:hidden; }
body { margin:0; background:#ffffff; color:var(--ink); font-family:"DM Sans",sans-serif; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a { color:inherit; text-decoration:none; }
button,input,select,textarea { font:inherit; }

/* ===== Site Header (Light & Bright Glassmorphism) ===== */
.site-header { position:fixed; z-index:100; top:0; left:0; right:0; height:100px; display:flex; align-items:center; gap:28px; padding:0 4vw; color:#162430; background:rgba(255,255,255,.95); backdrop-filter:blur(16px); border-bottom:1px solid #e8e4dc; box-shadow:0 4px 25px rgba(0,0,0,.05); transition:background .35s, box-shadow .35s, border-color .35s, height .3s; }
.site-header.overlay { background:rgba(255,255,255,.94); border-bottom:1px solid rgba(232,228,220,.8); box-shadow:0 4px 20px rgba(0,0,0,.04); }
.site-header.solid, .site-header.is-scrolled { background:rgba(255,255,255,.98); border-bottom:1px solid #e2ddd3; box-shadow:0 6px 30px rgba(0,0,0,.07); height:90px; }

/* Brand */
.brand,.footer-brand { display:flex; align-items:center; gap:12px; min-width:200px; }
.brand-mark { width:48px; height:48px; border:1.5px solid var(--gold); color:var(--gold); background:var(--gold-pale); border-radius:52% 48% 44% 56%; display:grid; place-items:center; transform:rotate(-8deg); transition:.3s; flex-shrink:0; }
.brand:hover .brand-mark { transform:rotate(0deg) scale(1.05); }
.brand-mark i { font:italic 600 27px "Playfair Display",serif; transform:rotate(8deg); }
.brand strong,.footer-brand strong { display:block; color:#162430; font:700 23px/1 "Playfair Display",serif; letter-spacing:.09em; }
.brand small,.footer-brand small { display:block; margin-top:5px; font-size:8.5px; letter-spacing:.44em; color:var(--gold); font-weight:700; }

/* Nav links */
.site-header nav { flex:1; display:flex; align-items:center; justify-content:center; gap:clamp(14px,1.4vw,28px); height:100%; }
.site-header nav>a,.nav-projects>a { position:relative; display:flex; align-items:center; gap:5px; height:100%; padding:4px 0 0; text-transform:uppercase; letter-spacing:.07em; font-size:clamp(11px,.82vw,13.5px); font-weight:600; white-space:nowrap; color:#2c3e50; transition:color .22s; }
.site-header nav>a:after,.nav-projects>a:after { content:""; position:absolute; left:0; right:100%; bottom:22px; height:2px; background:var(--gold); transition:.28s; border-radius:2px; }
.site-header nav>a:hover:after,.site-header nav>a.active:after,.nav-projects>a:hover:after,.nav-projects>a.active:after { right:0; }
.site-header nav>a:hover,.nav-projects>a:hover,.site-header nav>a.active,.nav-projects>a.active { color:var(--gold); }
.nav-caret { display:flex; align-items:center; opacity:.75; transition:.22s; color:var(--gold); }
.nav-projects>a:hover .nav-caret { opacity:1; transform:rotate(180deg); }
.nav-projects { position:relative; height:100%; display:flex; align-items:center; }

/* Mega menu (Light Luxury) */
.mega-menu { position:absolute; top:84px; left:50%; width:640px; min-height:315px; display:grid; grid-template-columns:230px 1fr; color:#162430; background:#ffffff; border-radius:12px; box-shadow:0 24px 70px rgba(0,0,0,.12); opacity:0; visibility:hidden; pointer-events:none; transform:translate(-34%,-12px); transition:.28s; overflow:hidden; border:1px solid #e8e4dc; }
.mega-menu.open { opacity:1; visibility:visible; pointer-events:auto; transform:translate(-34%,0); }
.mega-categories { padding:28px 0; background:#fbfaf7; border-right:1px solid #f0ece3; }
.mega-categories>a { min-height:64px; display:flex; align-items:center; justify-content:space-between; padding:0 26px 0 32px; color:#64748b; font-size:14.5px; font-weight:500; letter-spacing:.03em; transition:.2s; }
.mega-categories>a:hover,.mega-categories>a.active { color:#162430; background:#ffffff; padding-left:38px; font-weight:700; }
.mega-categories>a span { color:var(--gold); opacity:0; transform:translateX(-5px); transition:.2s; }
.mega-categories>a.active span,.mega-categories>a:hover span { opacity:1; transform:none; }
.mega-project-list { padding:28px 32px 24px; background:#ffffff; }
.mega-project-list>p { margin:0 0 14px; color:var(--gold); text-transform:uppercase; letter-spacing:.18em; font-size:10px; font-weight:700; }
.mega-project-list>a:not(.mega-all) { display:flex; align-items:center; justify-content:space-between; padding:13px 0; color:#334155; font-size:13.5px; border-bottom:1px solid #f1ece4; transition:.2s; }
.mega-project-list>a:hover { color:var(--gold); padding-left:6px; }
.mega-project-list>a small { color:#94a3b8; font-size:10px; text-transform:uppercase; letter-spacing:.1em; }
.mega-project-list .mega-all { display:inline-flex; align-items:center; gap:7px; margin-top:20px; color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.13em; font-size:10px; }

/* Enquire CTA button */
.header-enquire { display:inline-flex; align-items:center; gap:8px; padding:11px 22px; background:#ffffff; color:var(--gold); border:1.5px solid var(--gold); text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:700; white-space:nowrap; transition:.28s; border-radius:2px; box-shadow:0 4px 14px rgba(184,138,56,.12); }
.header-enquire:hover { background:var(--gold); color:#ffffff; }
.header-enquire svg { transition:.28s; }
.header-enquire:hover svg { transform:translateX(3px); }

/* Hamburger Button with animated cross */
.menu-button { display:none; margin-left:auto; width:44px; height:44px; padding:9px; background:none; border:0; cursor:pointer; position:relative; z-index:110; }
.menu-button span { display:block; height:2px; width:100%; margin:6px 0; background:#162430; border-radius:2px; transition:transform .3s ease, opacity .3s ease; }
.menu-button.is-active span:nth-child(1) { transform:translateY(8px) rotate(45deg); background:var(--gold); }
.menu-button.is-active span:nth-child(2) { opacity:0; }
.menu-button.is-active span:nth-child(3) { transform:translateY(-8px) rotate(-45deg); background:var(--gold); }

/* ===== Hero Slider (Natural Bright Images, Transparent Content) ===== */
.hero-slider { position:relative; height:100vh; min-height:800px; color:#162430; overflow:hidden; background:#ffffff; }
.hero-slide { position:absolute; inset:0; display:flex; align-items:center; background-position:center; background-size:cover; background-repeat:no-repeat; opacity:0; visibility:hidden; transition:opacity .8s ease,visibility .8s; }
.hero-slide.active { opacity:1; visibility:visible; z-index:2; }
.slide-shade { display:none!important; }
.hero-slide:after { display:none!important; }
.hero-content { position:relative; z-index:4; width:min(660px,52%); margin:40px 0 0 8vw; padding:0; background:transparent; border:0; box-shadow:none; }
.hero-slide.active .hero-content>* { animation:heroEnter .8s both; }
.hero-slide.active .hero-content h1 { animation-delay:.12s; }
.hero-slide.active .hero-copy { animation-delay:.22s; }
.hero-slide.active .hero-actions { animation-delay:.31s; }
@keyframes heroEnter { from { transform:translateY(28px); opacity:0; } to { transform:none; opacity:1; } }

.eyebrow { margin:0 0 16px; color:var(--gold); text-transform:uppercase; letter-spacing:.22em; font-size:11px; font-weight:700; }
.eyebrow.dark { color:var(--gold); }
.hero-content h1 { margin:0; max-width:660px; font:700 clamp(38px,5vw,78px)/1.02 "Playfair Display",serif; letter-spacing:-.03em; color:#162430; }
.hero-content h1 em { color:var(--gold); font-weight:600; font-style:italic; }
.hero-copy { max-width:500px; margin:18px 0 28px; color:#334155; font-size:16px; line-height:1.65; font-weight:500; }
.hero-actions { display:flex; flex-wrap:wrap; gap:13px; }

/* Buttons */
.button { min-height:50px; display:inline-flex; align-items:center; justify-content:center; padding:13px 24px; border:1px solid transparent; text-transform:uppercase; letter-spacing:.11em; font-size:10.5px; font-weight:700; cursor:pointer; transition:.25s; border-radius:2px; text-decoration:none; }
.button-gold { color:#ffffff; background:var(--gold); border-color:var(--gold); box-shadow:0 6px 20px rgba(184,138,56,.25); }
.button-gold:hover { background:var(--gold-light); transform:translateY(-2px); box-shadow:0 10px 25px rgba(184,138,56,.35); color:#ffffff; }
.button-ghost { color:#162430; border-color:#cbd5e1; background:rgba(255,255,255,.9); backdrop-filter:blur(6px); }
.button-ghost:hover { color:var(--gold); border-color:var(--gold); transform:translateY(-2px); background:#ffffff; }
.button-light { color:#162430; border-color:#cbd5e1; background:#ffffff; white-space:nowrap; }
.button-light:hover { background:var(--gold); color:#ffffff; border-color:var(--gold); }
.button-outline { color:#162430; border-color:#cbd5e1; background:#ffffff; }
.button-outline:hover { color:var(--gold); border-color:var(--gold); background:var(--gold-pale); }
.center { text-align:center; margin-top:40px; }

/* Hero stats */
.hero-stats { position:absolute; z-index:5; right:3.5vw; top:25%; width:210px; border-left:1.5px solid rgba(184,138,56,.5); }
.hero-stats div { margin:0 0 14px 20px; padding:15px 18px; border:1px solid rgba(232,228,220,.8); background:rgba(255,255,255,.78); backdrop-filter:blur(10px); box-shadow:0 8px 25px rgba(0,0,0,.04); transition:.25s; border-radius:3px; }
.hero-stats div:hover { transform:translateX(-6px); border-color:var(--gold); background:#ffffff; }
.hero-stats strong { display:block; color:var(--gold); font:700 32px/1 "Playfair Display",serif; }
.hero-stats span { display:block; margin-top:6px; color:#475569; font-size:9px; letter-spacing:.14em; font-weight:600; }

.slider-dots { position:absolute; z-index:8; left:4.5vw; top:50%; display:flex; flex-direction:column; gap:11px; }
.slider-dots button { width:20px; height:20px; display:grid; place-items:center; padding:0; background:none; border:0; cursor:pointer; }
.slider-dots button span { width:7px; height:7px; border-radius:50%; background:#cbd5e1; transition:.25s; }
.slider-dots button.active { border:1px solid var(--gold); border-radius:50%; }
.slider-dots button.active span { background:var(--gold); }

.slider-arrows { position:absolute; z-index:8; right:4vw; bottom:40px; display:flex; gap:8px; }
.slider-arrows button { width:48px; height:48px; color:#162430; background:#ffffff; border:1px solid #e2e8f0; box-shadow:0 4px 14px rgba(0,0,0,.06); cursor:pointer; transition:.25s; font-size:16px; }
.slider-arrows button:hover { color:#ffffff; background:var(--gold); border-color:var(--gold); }

.scroll-cue { position:absolute; z-index:8; left:50%; bottom:34px; display:flex; flex-direction:column; align-items:center; color:var(--gold); animation:scrollCue 1.4s infinite; }
.scroll-cue i { height:11px; font-style:normal; font-size:26px; line-height:13px; }
@keyframes scrollCue { 0%,100%{transform:translateY(0)} 50%{transform:translateY(7px)} }

/* ===== Section & Typography ===== */
.section { padding:105px 8vw; }
.intro { min-height:630px; display:grid; grid-template-columns:115px 1fr 1fr; gap:55px; align-items:center; background:var(--cream); border-top:1px solid var(--border-light); border-bottom:1px solid var(--border-light); }
.section-label { align-self:start; color:var(--gold); writing-mode:vertical-rl; transform:rotate(180deg); text-transform:uppercase; letter-spacing:.23em; font-size:10px; font-weight:700; }
.intro-title>span { display:block; color:var(--gold); font:600 clamp(48px,7vw,98px)/1 "Playfair Display",serif; }
.intro h2,.section-heading h2,.contact-info h2 { margin:16px 0 0; font:700 clamp(34px,4.2vw,66px)/1.08 "Playfair Display",serif; letter-spacing:-.025em; color:#162430; }
.intro-copy,.split-content>div:last-child { max-width:570px; color:var(--muted); font-size:16px; line-height:1.8; }
.text-link { display:inline-flex; gap:14px; align-items:center; margin-top:22px; padding-bottom:7px; color:#162430; border-bottom:1.5px solid var(--gold); text-transform:uppercase; letter-spacing:.1em; font-size:10.5px; font-weight:700; }
.text-link span { color:var(--gold); font-size:17px; }

/* Category Showcase */
.category-showcase { min-height:630px; display:grid; grid-template-columns:1fr 1fr; }
.category-card { position:relative; display:flex; align-items:flex-end; padding:66px 7vw; color:#ffffff; background-position:center; background-size:cover; overflow:hidden; }
.category-card:before { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(22,36,48,.1),rgba(22,36,48,.85)); transition:.45s; }
.category-card:after { content:""; position:absolute; inset:0; border:0 solid var(--gold); transition:.35s; }
.category-card:hover:before { background:linear-gradient(180deg,rgba(22,36,48,.05),rgba(22,36,48,.78)); }
.category-card:hover:after { inset:18px; border-width:1px; }
.category-card.homes { background-image:url('../images/project-residential.png'); }
.category-card.commerce { background-image:url('../images/project-commercial.png'); }
.category-card>div { position:relative; z-index:2; max-width:500px; transition:.35s; }
.category-card:hover>div { transform:translateY(-8px); }
.category-card span { color:var(--gold-light); font-family:"Playfair Display",serif; font-size:18px; }
.category-card h3 { margin:10px 0 15px; font:600 clamp(36px,4vw,62px)/1.05 "Playfair Display",serif; }
.category-card p { color:rgba(255,255,255,.85); line-height:1.7; }
.category-card a { display:inline-flex; gap:14px; margin-top:18px; color:var(--gold-light); text-transform:uppercase; letter-spacing:.1em; font-size:10.5px; font-weight:700; }

.section-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:60px; align-items:end; margin-bottom:66px; }
.section-heading>p { max-width:520px; color:var(--muted); line-height:1.8; }
.section-heading.text-center-heading { grid-template-columns:1fr; text-align:center; justify-items:center; }
.section-heading.text-center-heading>p { margin:12px auto 0; text-align:center; }

/* Reason Grid */
.reason-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid #e8e4dc; border-left:1px solid #e8e4dc; }
.reason-grid article { min-height:245px; padding:38px; border-right:1px solid #e8e4dc; border-bottom:1px solid #e8e4dc; background:#ffffff; transition:.3s; }
.reason-grid article:hover { background:var(--gold-pale); border-color:var(--gold); transform:translateY(-4px); box-shadow:0 14px 40px rgba(0,0,0,.05); }
.reason-grid span { color:var(--gold); font:600 16px "Playfair Display",serif; }
.reason-grid h3 { margin:40px 0 13px; font:600 24px "Playfair Display",serif; color:#162430; }
.reason-grid p { margin:0; color:var(--muted); line-height:1.65; font-size:14px; }

/* Statement / CTA Banner */
.statement { min-height:380px; padding:80px 8vw; display:flex; align-items:center; justify-content:space-between; gap:50px; color:#162430; background:linear-gradient(105deg,rgba(251,250,247,.97),rgba(244,241,234,.92)),url('../images/amanor-hero.png') center/cover; border-top:1px solid #e8e4dc; border-bottom:1px solid #e8e4dc; }
.statement p { color:var(--gold); text-transform:uppercase; letter-spacing:.2em; font-size:10.5px; font-weight:700; }
.statement h2 { max-width:900px; margin:18px 0 0; font:600 clamp(32px,4vw,61px)/1.15 "Playfair Display",serif; color:#162430; }

/* Projects on Homepage */
.projects { background:var(--cream); }
.projects-heading { align-items:center; }
.filters { display:flex; flex-wrap:wrap; gap:9px; margin:-27px 0 34px; }
.filters button { padding:9px 16px; color:#162430; background:#ffffff; border:1px solid #d4cfc4; text-transform:uppercase; letter-spacing:.09em; font-size:9.5px; font-weight:700; cursor:pointer; transition:.2s; border-radius:2px; }
.filters button:hover,.filters button.active { color:#ffffff; background:var(--gold); border-color:var(--gold); }
.project-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.project-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; transition:.35s; overflow:hidden; box-shadow:0 4px 18px rgba(0,0,0,.03); }
.project-card:hover { transform:translateY(-8px); box-shadow:0 20px 50px rgba(0,0,0,.08); border-color:var(--gold); }
.project-image { position:relative; aspect-ratio:1.33; background-position:center; background-size:cover; transition:.65s; }
.project-card:hover .project-image { background-size:112%; }
.project-image>span { position:absolute; left:18px; top:18px; width:36px; height:36px; display:grid; place-items:center; color:var(--gold); background:rgba(255,255,255,.94); font-family:"Playfair Display",serif; font-weight:700; border-radius:50%; box-shadow:0 4px 12px rgba(0,0,0,.08); }
.project-image>b { position:absolute; right:18px; top:18px; padding:6px 11px; color:#ffffff; background:var(--gold); text-transform:uppercase; letter-spacing:.1em; font-size:8.5px; font-weight:700; border-radius:2px; }
.project-image>a { position:absolute; right:18px; bottom:18px; width:44px; height:44px; display:grid; place-items:center; color:#162430; background:#ffffff; border:1px solid #e2e8f0; font-size:18px; border-radius:50%; box-shadow:0 6px 18px rgba(0,0,0,.1); transition:.25s; }
.project-image>a:hover { color:#ffffff; background:var(--gold); border-color:var(--gold); transform:rotate(45deg); }
.project-card>div:last-child { padding:24px 26px 28px; }
.project-card>div:last-child>p:first-child,.project-card>div:last-child>span { margin:0; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:9.5px; font-weight:700; }
.project-card h3 { margin:8px 0 11px; font:600 26px "Playfair Display",serif; color:#162430; }
.project-summary { color:var(--muted); font-size:13.5px; line-height:1.65; }
.card-link { display:inline-block; margin-top:12px; color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:9.5px; }

/* Testimonials */
.testimonial { min-height:540px; padding:105px 15vw; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#162430; text-align:center; background:linear-gradient(rgba(251,250,247,.95),rgba(244,241,234,.95)),url('../images/project-villas.png') center/cover; border-top:1px solid #e8e4dc; border-bottom:1px solid #e8e4dc; }
.testimonial blockquote { max-width:1000px; margin:0 0 34px; font:600 clamp(28px,3.8vw,52px)/1.25 "Playfair Display",serif; color:#162430; }
.testimonial>div { display:flex; align-items:center; gap:14px; }
.quote-avatar { width:50px; height:50px; display:grid; place-items:center; color:#ffffff; background:var(--gold); border-radius:50%; font-weight:700; }
.testimonial strong,.testimonial small { display:block; text-align:left; }
.testimonial small { margin-top:4px; color:var(--muted); }

/* Article / Blog Grid on Homepage */
.article-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.blog-card-item { display:flex; flex-direction:column; background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; overflow:hidden; transition:transform .3s, box-shadow .3s, border-color .3s; }
.blog-card-item:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.08); border-color:var(--gold); }
.blog-card-thumb { position:relative; aspect-ratio:16/10; overflow:hidden; display:block; }
.blog-card-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.blog-card-item:hover .blog-card-thumb img { transform:scale(1.08); }
.blog-tag-badge { position:absolute; top:14px; left:14px; padding:4px 10px; background:#ffffff; color:var(--gold); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; border:1px solid var(--border-gold); border-radius:2px; }
.blog-card-body { padding:24px 22px 26px; display:flex; flex-direction:column; flex:1; }
.blog-card-body small,.blog-card-body .card-meta { color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; margin-bottom:8px; display:flex; gap:6px; align-items:center; }
.blog-card-body h3 { margin:0 0 12px; font:700 20px/1.3 "Playfair Display",serif; color:#162430; }
.blog-card-body h3 a { color:#162430; transition:color .2s; }
.blog-card-body h3 a:hover { color:var(--gold); }
.blog-card-body p { margin:0 0 18px; color:var(--muted); font-size:13.5px; line-height:1.7; flex:1; }
.blog-card-link { display:inline-flex; align-items:center; gap:6px; color:var(--gold); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; transition:color .2s, transform .2s; margin-top:auto; }
.blog-card-link:hover { color:#162430; transform:translateX(3px); }

/* Contact Panel & Enquiry Form on Homepage */
.contact-panel { min-height:550px; display:grid; grid-template-columns:1fr 1fr; background:#ffffff; border-top:1px solid #e8e4dc; }
.contact-info { padding:80px 7vw 55px; background:linear-gradient(rgba(251,250,247,.95),rgba(244,241,234,.96)),url('../images/project-commercial.png') center/cover; border-right:1px solid #e8e4dc; }
.contact-info>p:not(.eyebrow) { max-width:520px; color:var(--muted); line-height:1.75; margin:16px 0 32px; }
.contact-info a { display:block; padding:14px 0; border-bottom:1px solid #e8e4dc; }
.contact-info a span { display:block; color:var(--gold); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.contact-info a strong { display:block; font-size:16px; color:#162430; margin-top:4px; font-weight:600; }

.enquiry-form { padding:70px 6vw 75px; display:grid; grid-template-columns:1fr 1fr; gap:22px; align-content:start; background:#ffffff; }
.enquiry-form>div { display:flex; flex-direction:column; gap:6px; }
.enquiry-form .full { grid-column:1/-1; }
.enquiry-form label { color:var(--gold); text-transform:uppercase; letter-spacing:.12em; font-size:10px; font-weight:700; }
.enquiry-form input, .enquiry-form select, .enquiry-form textarea { width:100%; padding:11px 14px; color:#162430; background:#fbfaf7; border:1px solid #d4cfc4; border-radius:3px; font-size:13.5px; outline:none; transition:.2s; }
.enquiry-form input:focus, .enquiry-form select:focus, .enquiry-form textarea:focus { border-color:var(--gold); background:#ffffff; box-shadow:0 0 0 3px rgba(184,138,56,.15); }
.enquiry-form select { cursor:pointer; }
.enquiry-form textarea { min-height:95px; resize:vertical; }
.enquiry-form button[type=submit] { grid-column:1/-1; justify-self:start; min-width:200px; height:50px; }
.form-status { grid-column:1/-1; margin:6px 0 0; font-size:13px; font-weight:600; }
.form-status.success { color:#186c2e; }
.form-status.error { color:#c9342b; }

/* ===== Page Hero Banners (Light Luxury) ===== */
.page-hero { min-height:500px; padding:160px 8vw 75px; display:flex; align-items:center; color:#162430; background-position:center; background-size:cover; background-color:var(--cream); }
.page-hero>div { max-width:850px; width:100%; }
.page-hero h1 { margin:0; font:700 clamp(44px,5.8vw,88px)/.98 "Playfair Display",serif; letter-spacing:-.035em; color:#162430; }
.page-hero h1 em { color:var(--gold); font-weight:600; font-style:italic; }
.page-hero>div>p:not(.eyebrow) { max-width:650px; color:#475569; font-size:16.5px; line-height:1.7; margin:20px 0 28px; }

.about-hero { background:linear-gradient(105deg,rgba(251,250,247,.97) 0%,rgba(244,241,234,.93) 55%,rgba(255,255,255,.82)),url('../images/amanor-hero.png') center/cover; border-bottom:1px solid #e8e4dc; }
.projects-hero { background:linear-gradient(105deg,rgba(251,250,247,.97) 0%,rgba(244,241,234,.93) 55%,rgba(255,255,255,.82)),url('../images/project-residential.png') center/cover; border-bottom:1px solid #e8e4dc; }
.partner-hero { background:linear-gradient(105deg,rgba(251,250,247,.97) 0%,rgba(244,241,234,.93) 55%,rgba(255,255,255,.82)),url('../images/project-commercial.png') center/cover; border-bottom:1px solid #e8e4dc; }
.news-hero { background:linear-gradient(105deg,rgba(251,250,247,.97) 0%,rgba(244,241,234,.93) 55%,rgba(255,255,255,.82)),url('../images/project-commercial.png') center/cover; border-bottom:1px solid #e8e4dc; }
.blogs-hero,.blog-hero { background:linear-gradient(105deg,rgba(251,250,247,.97) 0%,rgba(244,241,234,.93) 55%,rgba(255,255,255,.82)),url('../images/project-residential.png') center/cover; border-bottom:1px solid #e8e4dc; }
.contact-hero { background:linear-gradient(105deg,rgba(251,250,247,.97) 0%,rgba(244,241,234,.93) 55%,rgba(255,255,255,.82)),url('../images/project-commercial.png') center/cover; border-bottom:1px solid #e8e4dc; }

/* Breadcrumbs Bar */
.breadcrumbs-bar { display:flex; align-items:center; gap:8px; margin-bottom:20px; font-size:11.5px; text-transform:uppercase; letter-spacing:.12em; color:#64748b; font-weight:600; flex-wrap:wrap; }
.breadcrumbs-bar a { color:var(--gold); transition:color .2s; }
.breadcrumbs-bar a:hover { color:#162430; }
.breadcrumbs-bar span { opacity:.6; }

/* ===== About Us Page ===== */
.about-intro { display:grid; grid-template-columns:1fr 1fr; gap:7vw; align-items:center; background:#ffffff; }
.about-intro-image { position:relative; }
.about-intro-image img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; border-radius:4px; box-shadow:0 16px 50px rgba(0,0,0,.08); }
.about-intro-badge { position:absolute; bottom:-28px; right:-28px; width:140px; height:140px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--gold); color:#ffffff; border-radius:50%; box-shadow:0 12px 40px rgba(184,138,56,.35); }
.about-intro-badge strong { font:700 38px/1 "Playfair Display",serif; }
.about-intro-badge span { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-top:4px; opacity:.95; }
.about-intro-content h2 { margin:16px 0 22px; font:700 clamp(36px,4vw,58px)/1.1 "Playfair Display",serif; letter-spacing:-.025em; color:#162430; }
.about-intro-content p { color:var(--muted); font-size:16px; line-height:1.82; margin:0 0 16px; }
.about-highlights { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:#e8e4dc; border:1px solid #e8e4dc; margin:30px 0 28px; }
.about-highlights>div { padding:20px 18px; background:#ffffff; }
.about-highlights strong { display:block; color:#162430; font:700 15px "Playfair Display",serif; margin-bottom:4px; }
.about-highlights span { font-size:12px; color:var(--muted); }

.numbers { display:grid; grid-template-columns:repeat(4,1fr); color:#162430; background:var(--cream); border-top:1px solid #e8e4dc; border-bottom:1px solid #e8e4dc; }
.numbers article { min-height:205px; padding:48px 28px; display:flex; flex-direction:column; justify-content:flex-end; border-right:1px solid #e8e4dc; transition:.25s; }
.numbers article:hover { background:var(--gold-pale); }
.numbers strong { color:var(--gold); font:700 41px "Playfair Display",serif; }
.numbers span { margin-top:11px; color:#475569; text-transform:uppercase; letter-spacing:.12em; font-size:9.5px; font-weight:600; }

.vm-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.vm-card { padding:44px 36px; border:1px solid #e8e4dc; background:#ffffff; transition:.3s; border-radius:4px; }
.vm-card:hover { border-color:var(--gold); box-shadow:0 18px 55px rgba(0,0,0,.08); transform:translateY(-5px); }
.vm-card-icon { width:62px; height:62px; display:grid; place-items:center; color:var(--gold); background:var(--gold-pale); border:1.5px solid var(--border-gold); margin-bottom:28px; border-radius:4px; }
.vm-card h3 { margin:0 0 16px; font:700 26px/1.15 "Playfair Display",serif; color:#162430; }
.vm-card>p { color:var(--muted); font-size:15px; line-height:1.8; margin:0 0 22px; }
.vm-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.vm-list li { display:flex; align-items:baseline; gap:10px; color:var(--muted); font-size:14px; }
.vm-list li::before { content:"→"; color:var(--gold); flex-shrink:0; font-size:12px; font-weight:700; }

.team-section { background:#ffffff; }
.team-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:36px 28px; }
.team-card { display:flex; flex-direction:column; align-items:center; text-align:center; padding:42px 24px 36px; background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; transition:box-shadow .3s, transform .3s, border-color .3s; }
.team-card:hover { transform:translateY(-8px); box-shadow:0 24px 60px rgba(0,0,0,.08); border-color:var(--gold); }
.team-photo-wrap { position:relative; width:160px; height:160px; margin-bottom:28px; flex-shrink:0; }
.team-photo-ring { position:absolute; inset:-5px; border-radius:50%; border:2px dashed rgba(184,138,56,.35); transition:transform .8s ease, border-color .3s; }
.team-card:hover .team-photo-ring { transform:rotate(90deg); border-color:var(--gold); border-style:solid; }
.team-photo { width:160px; height:160px; border-radius:50%; overflow:hidden; border:3px solid var(--gold); box-shadow:0 8px 30px rgba(0,0,0,.1); }
.team-photo img { width:100%; height:100%; object-fit:cover; object-position:top; display:block; transition:transform .55s ease; }
.team-card:hover .team-photo img { transform:scale(1.08); }
.team-info { display:flex; flex-direction:column; align-items:center; gap:8px; }
.team-info h4 { margin:0; color:#162430; font:700 21px/1.2 "Playfair Display",serif; }
.team-info .team-role { margin:0; color:var(--gold); text-transform:uppercase; letter-spacing:.18em; font-size:9.5px; font-weight:700; }

/* ===== Projects Portfolio Page ===== */
.project-filters-bar { display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-bottom:45px; }
.filter-btn { padding:10px 20px; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#162430; background:#ffffff; border:1px solid #d4cfc4; border-radius:2px; cursor:pointer; transition:.2s; }
.filter-btn:hover, .filter-btn.active { background:var(--gold); color:#ffffff; border-color:var(--gold); }

.projects-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.project-item-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; overflow:hidden; display:flex; flex-direction:column; transition:transform .3s, box-shadow .3s, border-color .3s; }
.project-item-card:hover { transform:translateY(-6px); box-shadow:0 22px 55px rgba(0,0,0,.08); border-color:var(--gold); }
.card-thumb-wrap { position:relative; height:240px; overflow:hidden; }
.card-thumb-wrap img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; }
.project-item-card:hover .card-thumb-wrap img { transform:scale(1.05); }

.project-num-tag { position:absolute; top:16px; left:16px; width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.94); color:var(--gold); font-size:11px; font-weight:700; display:grid; place-items:center; border:1px solid var(--gold); box-shadow:0 4px 12px rgba(0,0,0,.1); }
.project-status-badge { position:absolute; top:16px; right:16px; background:var(--gold); color:#ffffff; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; padding:5px 11px; border-radius:2px; }
.project-status-badge.badge-completed { background:#186c2e; color:#ffffff; }
.project-type-badge { position:absolute; bottom:16px; left:16px; background:#ffffff; color:var(--gold); font-size:8.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; padding:4px 9px; border-radius:2px; border:1px solid var(--border-gold); }

.card-content { padding:28px 26px; display:flex; flex-direction:column; flex:1; }
.card-location-row { display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; font-size:12px; }
.loc-pin { display:inline-flex; align-items:center; gap:5px; color:var(--muted); font-weight:500; }
.loc-pin svg { color:var(--gold); }
.rera-tag { font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#186c2e; background:#e8f7ec; padding:3px 7px; border-radius:2px; }
.project-card-title { margin:0 0 6px; font:700 22px/1.25 "Playfair Display",serif; }
.project-card-title a { color:#162430; transition:color .2s; }
.project-card-title a:hover { color:var(--gold); }
.project-card-subtitle { margin:0 0 16px; color:var(--gold); font-size:12.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.project-card-desc { margin:0 0 20px; color:var(--muted); font-size:13.5px; line-height:1.65; flex:1; }
.project-card-actions { display:grid; grid-template-columns:1.2fr 1fr; gap:10px; margin-top:auto; }
.project-card-actions .button { padding:9px 12px; font-size:11px; text-align:center; justify-content:center; }

/* ===== Single Project Detail Page ===== */
.single-project-hero { position:relative; min-height:520px; display:flex; align-items:flex-end; padding:150px 8vw 70px; background-size:cover; background-position:center; color:#162430; background-color:var(--cream); }
.project-hero-container { position:relative; z-index:2; max-width:880px; }
.project-hero-badges { display:flex; gap:10px; margin-bottom:16px; flex-wrap:wrap; align-items:center; }
.badge-type { background:#ffffff; color:var(--gold); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; padding:5px 11px; border-radius:2px; border:1px solid var(--border-gold); }
.badge-status { background:var(--gold); color:#ffffff; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; padding:5px 11px; border-radius:2px; }
.badge-status.badge-completed { background:#186c2e; color:#ffffff; }
.badge-rera { font-size:11px; color:#64748b; font-family:monospace; background:#ffffff; padding:4px 10px; border-radius:2px; border:1px solid #e2e8f0; font-weight:600; }
.project-hero-title { margin:0 0 8px; font:700 clamp(34px,5vw,58px)/1.08 "Playfair Display",serif; color:#162430; }
.project-hero-subtitle { margin:0 0 18px; color:var(--gold); font-size:16px; font-weight:600; text-transform:uppercase; letter-spacing:.08em; }
.project-hero-summary { margin:0 0 28px; color:#475569; font-size:15.5px; line-height:1.7; max-width:760px; }
.project-hero-cta-row { display:flex; gap:14px; flex-wrap:wrap; }

.project-metrics-bar { background:var(--cream); color:#162430; border-top:1px solid #e8e4dc; border-bottom:1px solid #e8e4dc; }
.metrics-container { display:grid; grid-template-columns:repeat(4,1fr); padding:0 8vw; }
.metric-item { padding:28px 20px; border-right:1px solid #e8e4dc; text-align:center; }
.metric-item:last-child { border-right:0; }
.metric-label { display:block; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); margin-bottom:6px; }
.metric-val { display:block; font:700 16px/1.3 "DM Sans",sans-serif; color:#162430; }

.project-detail-body { padding-top:80px; padding-bottom:80px; background:#ffffff; }
.project-detail-container { display:grid; grid-template-columns:1.8fr 1fr; gap:60px; align-items:start; }
.detail-block { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:38px 36px; margin-bottom:34px; box-shadow:0 8px 30px rgba(0,0,0,.03); }
.detail-block-header { margin-bottom:24px; padding-bottom:14px; border-bottom:1px solid #f0ede6; }
.block-eyebrow { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--gold); display:block; margin-bottom:6px; }
.detail-block-header h2 { margin:0; font:700 clamp(22px,2.5vw,30px)/1.2 "Playfair Display",serif; color:#162430; }
.detail-text-body p { margin:0 0 16px; color:#475569; font-size:15px; line-height:1.8; }
.project-highlights-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.highlight-pill-card { display:flex; align-items:flex-start; gap:12px; padding:16px 18px; background:var(--cream); border:1px solid #e8e4dc; border-radius:3px; font-size:13.5px; color:#334155; line-height:1.55; font-weight:500; }
.highlight-pill-card svg { color:var(--gold); flex-shrink:0; margin-top:2px; }

.floor-plans-table-wrap { overflow-x:auto; }
.floor-plans-table { width:100%; border-collapse:collapse; text-align:left; font-size:13.5px; }
.floor-plans-table th { padding:14px 16px; background:#f4f1ea; color:#162430; font-weight:700; text-transform:uppercase; letter-spacing:.08em; font-size:11px; border:1px solid #e2ddd3; }
.floor-plans-table td { padding:14px 16px; border:1px solid #e8e4dc; color:#475569; vertical-align:middle; }
.floor-plans-table tr:nth-child(even) td { background:#fbfaf7; }
.plan-enquire-btn { display:inline-block; padding:7px 14px; background:var(--gold); color:#ffffff; font-size:11px; font-weight:700; border-radius:2px; transition:.2s; text-transform:uppercase; letter-spacing:.06em; }
.plan-enquire-btn:hover { background:var(--gold-light); }

.amenities-cards-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.amenity-card { display:flex; align-items:center; gap:14px; padding:16px 20px; background:var(--cream); border:1px solid #e8e4dc; border-radius:3px; }
.amenity-icon { width:38px; height:38px; border-radius:50%; background:var(--gold-pale); color:var(--gold); border:1.5px solid var(--border-gold); display:grid; place-items:center; flex-shrink:0; }
.amenity-card span { font-size:13.5px; font-weight:600; color:#162430; }

.connectivity-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.connectivity-item { display:flex; align-items:center; gap:12px; padding:14px 18px; background:var(--cream); border:1px solid #e8e4dc; border-radius:3px; font-size:13.5px; color:#334155; font-weight:600; }
.connectivity-item svg { color:var(--gold); flex-shrink:0; }

/* Sticky Sidebar */
.project-sidebar { position:sticky; top:100px; }
.sidebar-enquiry-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:34px 28px; box-shadow:0 16px 45px rgba(0,0,0,.06); }
.sidebar-card-header { margin-bottom:22px; padding-bottom:14px; border-bottom:1px solid #f0ede6; }
.sidebar-tag { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); display:block; margin-bottom:6px; }
.sidebar-card-header h3 { margin:0 0 6px; font:700 22px "Playfair Display",serif; color:#162430; }
.sidebar-card-header p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.sidebar-form { display:flex; flex-direction:column; gap:14px; margin-bottom:24px; }
.sidebar-field { display:flex; flex-direction:column; gap:5px; }
.sidebar-field label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#162430; }
.sidebar-field label span { color:#d9534f; }
.sidebar-field input, .sidebar-field textarea { width:100%; padding:10px 14px; border:1px solid #d4cfc4; border-radius:3px; font-size:13.5px; background:#fbfaf7; color:#162430; outline:none; transition:.2s; }
.sidebar-field input:focus, .sidebar-field textarea:focus { border-color:var(--gold); background:#ffffff; box-shadow:0 0 0 3px rgba(184,138,56,.15); }
.sidebar-submit-btn { width:100%; height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; cursor:pointer; }
.sidebar-direct-contacts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:24px; }
.sidebar-contact-btn { display:flex; align-items:center; justify-content:center; gap:6px; padding:10px; background:var(--gold-pale); border:1px solid var(--border-gold); border-radius:3px; font-size:11.5px; font-weight:700; color:var(--gold); transition:.2s; text-align:center; }
.sidebar-contact-btn:hover { background:var(--gold); color:#ffffff; }
.sidebar-contact-btn.wa { background:#e8f7ec; border-color:#a8dbb2; color:#186c2e; }
.sidebar-contact-btn.wa:hover { background:#186c2e; color:#ffffff; }
.sidebar-approvals-box { background:var(--cream); border:1px solid #e8e4dc; border-radius:3px; padding:18px 20px; }
.sidebar-approvals-box h4 { margin:0 0 10px; font:700 14px "Playfair Display",serif; color:#162430; }
.sidebar-approvals-box ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.sidebar-approvals-box li { font-size:12px; color:#555; line-height:1.5; }

/* ===== Partner With Us Page ===== */
.partner-pillars-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:30px; margin-top:20px; }
.partner-pillar-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:42px 36px; display:flex; flex-direction:column; transition:transform .3s, box-shadow .3s, border-color .3s; }
.partner-pillar-card:hover { transform:translateY(-6px); box-shadow:0 20px 50px rgba(0,0,0,.08); border-color:var(--gold); }
.pillar-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:20px; }
.pillar-tag { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--gold); }
.pillar-icon { width:52px; height:52px; border-radius:4px; background:var(--gold-pale); color:var(--gold); border:1.5px solid var(--border-gold); display:grid; place-items:center; }
.partner-pillar-card h3 { margin:0 0 14px; font:700 24px/1.2 "Playfair Display",serif; color:#162430; }
.pillar-desc { color:var(--muted); font-size:14.5px; line-height:1.75; margin:0 0 22px; }
.pillar-points { list-style:none; padding:0; margin:0 0 28px; display:flex; flex-direction:column; gap:10px; }
.pillar-points li { display:flex; align-items:flex-start; gap:10px; font-size:13.5px; color:#334155; font-weight:500; }
.pillar-points svg { color:var(--gold); flex-shrink:0; margin-top:2px; }
.pillar-card-actions { margin-top:auto; }

.career-dept-filters { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-bottom:40px; }
.dept-btn { padding:9px 16px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#162430; background:#ffffff; border:1px solid #d4cfc4; border-radius:2px; cursor:pointer; transition:.2s; }
.dept-btn:hover, .dept-btn.active { background:var(--gold); color:#ffffff; border-color:var(--gold); }

.career-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.job-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:32px 28px; display:flex; flex-direction:column; transition:transform .3s, box-shadow .3s, border-color .3s; }
.job-card:hover { transform:translateY(-6px); box-shadow:0 18px 45px rgba(0,0,0,.07); border-color:var(--gold); }
.job-card-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.job-meta-badges { display:flex; gap:6px; flex-wrap:wrap; }
.job-dept-badge { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:var(--gold); background:var(--gold-pale); padding:4px 8px; border-radius:2px; border:1px solid var(--border-gold); }
.job-exp-badge { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#475569; background:#f1f5f9; padding:4px 8px; border-radius:2px; }
.job-id-tag { font-size:11px; font-family:monospace; color:#94a3b8; }
.job-title { margin:0 0 12px; font:700 20px "Playfair Display",serif; color:#162430; }
.job-specs { display:flex; gap:16px; margin-bottom:14px; font-size:12.5px; color:var(--muted); }
.job-spec-item { display:inline-flex; align-items:center; gap:5px; }
.job-spec-item svg { color:var(--gold); }
.job-description { font-size:13.5px; line-height:1.65; color:var(--muted); margin:0 0 18px; }
.job-skills-list { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:24px; }
.skill-pill { font-size:11px; color:#475569; background:#f8fafc; border:1px solid #e2e8f0; padding:3px 8px; border-radius:2px; }
.job-card-actions { margin-top:auto; }
.job-card-actions .button { width:100%; justify-content:center; }

.general-application-banner { margin-top:50px; padding:45px 50px; background:var(--cream); border:1px solid #e8e4dc; border-radius:4px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
.general-app-tag { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--gold); display:block; margin-bottom:8px; }
.general-app-content h3 { margin:0 0 8px; font:700 24px "Playfair Display",serif; color:#162430; }
.general-app-content p { margin:0; color:var(--muted); font-size:14.5px; line-height:1.6; max-width:620px; }

/* Partner / Career Modal Popup */
.career-modal-backdrop { position:fixed; inset:0; z-index:200; background:rgba(22,36,48,.65); backdrop-filter:blur(6px); display:grid; place-items:center; padding:20px; opacity:0; visibility:hidden; pointer-events:none; transition:.3s ease; }
.career-modal-backdrop.open, .career-modal-backdrop.modal-open { opacity:1; visibility:visible; pointer-events:auto; }
.career-modal-dialog { position:relative; width:100%; max-width:680px; max-height:90vh; overflow-y:auto; background:#ffffff; border-radius:6px; padding:44px 40px 36px; box-shadow:0 24px 70px rgba(0,0,0,.2); border:1px solid #e8e4dc; }
.modal-close-btn { position:absolute; top:20px; right:20px; width:36px; height:36px; border-radius:50%; background:#f1f5f9; border:0; color:#64748b; display:grid; place-items:center; cursor:pointer; transition:.2s; }
.modal-close-btn:hover { background:#e2e8f0; color:#162430; }
.career-modal-header { margin-bottom:28px; }
.modal-badge-row { display:flex; gap:8px; align-items:center; margin-bottom:8px; }
.modal-tag { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); }
.modal-role-badge { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#162430; background:var(--gold-pale); padding:3px 8px; border-radius:2px; border:1px solid var(--border-gold); }
.career-modal-header h2 { margin:0 0 6px; font:700 24px "Playfair Display",serif; color:#162430; }
.career-modal-header p { margin:0; color:var(--muted); font-size:13.5px; line-height:1.55; }
.form-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-group { display:flex; flex-direction:column; gap:5px; }
.form-group.full-width { grid-column:1/-1; }
.form-group label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#162430; }
.form-group label span { color:#d9534f; }
.form-group input, .form-group select, .form-group textarea { width:100%; padding:10px 14px; border:1px solid #d4cfc4; border-radius:3px; font-size:13.5px; background:#fbfaf7; color:#162430; outline:none; transition:.2s; }
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color:var(--gold); background:#ffffff; box-shadow:0 0 0 3px rgba(184,138,56,.15); }
.file-upload-dropzone { position:relative; border:2px dashed #d4cfc4; border-radius:4px; padding:22px; text-align:center; background:#fbfaf7; cursor:pointer; transition:.2s; }
.file-upload-dropzone:hover { border-color:var(--gold); background:var(--gold-pale); }
.file-upload-dropzone input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
.upload-icon-wrap { width:44px; height:44px; margin:0 auto 10px; border-radius:50%; background:#ffffff; color:var(--gold); display:grid; place-items:center; border:1px solid var(--border-gold); }
.dropzone-prompt { margin:0 0 4px; font-size:13px; color:#162430; }
.dropzone-hint { font-size:11px; color:#64748b; }
.selected-file-pill { display:flex; align-items:center; justify-content:center; gap:8px; background:#ffffff; border:1px solid var(--gold); padding:8px 14px; border-radius:20px; margin-top:8px; font-size:12px; font-weight:600; color:var(--gold); }
.selected-file-pill button { background:none; border:0; color:#ef4444; font-size:16px; cursor:pointer; line-height:1; }
.modal-footer { margin-top:24px; display:flex; flex-direction:column; gap:12px; }
.modal-footer .button { width:100%; justify-content:center; height:48px; }
.modal-privacy-note { margin:0; text-align:center; font-size:11.5px; color:#94a3b8; }
.career-alert { padding:14px 18px; border-radius:4px; display:flex; align-items:center; gap:12px; font-size:13.5px; font-weight:500; }
.career-alert.success { background:#e8f7ec; color:#186c2e; border:1px solid #b7e4c2; }
.career-alert.error { background:#fdeeee; color:#c9342b; border:1px solid #f6c4c4; }

/* ===== News & Events & Media ===== */
.media-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:26px; }
.media-card { display:flex; flex-direction:column; background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; transition:box-shadow .3s, transform .3s, border-color .3s; overflow:hidden; }
.media-card:hover { transform:translateY(-6px); box-shadow:0 22px 55px rgba(0,0,0,.08); border-color:var(--gold); }
.media-card-img { position:relative; aspect-ratio:16/10; overflow:hidden; }
.media-card-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.media-card:hover .media-card-img img { transform:scale(1.08); }
.media-badge { position:absolute; top:14px; left:14px; padding:5px 10px; background:#ffffff; color:var(--gold); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; border:1px solid var(--border-gold); border-radius:2px; }
.media-card-content { padding:24px 22px 26px; display:flex; flex-direction:column; flex:1; }
.media-card-content time { color:var(--gold); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; margin-bottom:8px; }
.media-card-content h3 { margin:0 0 12px; font:700 20px/1.3 "Playfair Display",serif; color:#162430; transition:color .2s; }
.media-card:hover .media-card-content h3 { color:var(--gold); }
.media-card-content p { margin:0 0 18px; color:var(--muted); font-size:13.5px; line-height:1.7; flex:1; }
.media-link { display:inline-flex; align-items:center; gap:6px; color:var(--gold); font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; transition:color .2s, transform .2s; margin-top:auto; }
.media-link:hover { color:#162430; transform:translateX(3px); }

.event-header { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; margin-bottom:24px; padding-bottom:16px; border-bottom:1px solid #e8e4dc; }
.event-tag { display:inline-block; margin-bottom:6px; color:var(--gold); font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }
.event-header h3 { margin:0; font:700 28px/1.2 "Playfair Display",serif; color:#162430; }
.event-meta { margin:0; max-width:440px; color:var(--muted); font-size:14px; line-height:1.6; text-align:right; }
.event-photo-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.event-photo { position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:4px; box-shadow:0 8px 24px rgba(0,0,0,.06); cursor:pointer; }
.event-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.event-photo:hover img { transform:scale(1.1); }
.photo-overlay { position:absolute; inset:0; background:linear-gradient(0deg,rgba(22,36,48,.8) 0%,transparent 60%); display:flex; align-items:flex-end; padding:16px; opacity:0; transition:opacity .3s ease; }
.event-photo:hover .photo-overlay { opacity:1; }
.photo-overlay span { color:#ffffff; font-size:12.5px; font-weight:600; letter-spacing:.04em; }

.news-list-container { display:flex; flex-direction:column; gap:1px; background:#e8e4dc; border:1px solid #e8e4dc; border-radius:4px; overflow:hidden; }
.news-list-item { display:grid; grid-template-columns:120px 1fr 140px; gap:36px; align-items:center; padding:32px 36px; background:#ffffff; transition:background .25s; }
.news-list-item:hover { background:var(--gold-pale); }
.news-list-date { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:12px 8px; background:var(--gold-pale); color:#162430; border-radius:3px; text-align:center; border:1.5px solid var(--border-gold); }
.news-day { font:700 24px/1 "Playfair Display",serif; color:var(--gold); }
.news-month-year { font-size:9px; text-transform:uppercase; letter-spacing:.12em; margin-top:4px; color:#64748b; font-weight:700; }
.news-item-tag { display:inline-block; margin-bottom:6px; color:var(--gold); font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; }
.news-list-body h3 { margin:0 0 8px; font:700 22px/1.25 "Playfair Display",serif; color:#162430; }
.news-list-body p { margin:0; color:var(--muted); font-size:14px; line-height:1.65; max-width:700px; }
.news-list-action { display:flex; justify-content:flex-end; }
.news-action-btn { display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border:1px solid #d4cfc4; color:#162430; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; transition:.25s; border-radius:2px; white-space:nowrap; background:#ffffff; }
.news-action-btn:hover { background:var(--gold); color:#ffffff; border-color:var(--gold); }

/* ===== Blogs Archive & Single Reader Page ===== */
.blogs-listing-page, .blogs-archive-page { background:#ffffff; }
.blog-filters-bar { background:#f4f1ea; padding:22px 8vw; border-top:1px solid #e2ddd3; border-bottom:1px solid #e2ddd3; }
.filters-wrapper { display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }
.category-pills { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.cat-pill { padding:9px 18px; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#162430; background:#ffffff; border:1px solid #d4cfc4; border-radius:3px; transition:.2s; text-decoration:none; display:inline-block; }
.cat-pill:hover, .cat-pill.active { background:var(--gold); color:#ffffff; border-color:var(--gold); box-shadow:0 4px 14px rgba(184,138,56,.2); }

.blog-search-form { position:relative; display:flex; align-items:center; min-width:280px; }
.blog-search-form input { width:100%; padding:10px 42px 10px 14px; border:1px solid #d4cfc4; border-radius:3px; font-size:13.5px; background:#ffffff; outline:none; transition:.2s; color:#162430; }
.blog-search-form input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(184,138,56,.15); }
.blog-search-form button { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:32px; height:32px; background:var(--gold); border:0; border-radius:2px; color:#ffffff; display:grid; place-items:center; cursor:pointer; transition:.2s; }
.blog-search-form button:hover { background:var(--gold-light); }

.featured-blog-section { padding-top:60px; padding-bottom:40px; }
.featured-blog-card { display:grid; grid-template-columns:1.2fr 1fr; background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; overflow:hidden; box-shadow:0 14px 45px rgba(0,0,0,.06); }
.featured-blog-thumb { position:relative; min-height:380px; display:block; overflow:hidden; }
.featured-blog-thumb img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.featured-blog-card:hover .featured-blog-thumb img { transform:scale(1.05); }
.spotlight-badge { position:absolute; top:20px; left:20px; background:var(--gold); color:#ffffff; font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; padding:6px 12px; border-radius:2px; box-shadow:0 4px 12px rgba(0,0,0,.15); }
.featured-blog-content { padding:48px 42px; display:flex; flex-direction:column; justify-content:center; }
.card-meta { display:flex; gap:8px; align-items:center; margin-bottom:12px; font-size:11.5px; color:#64748b; font-weight:600; }
.meta-cat { color:var(--gold); font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.featured-blog-content h2 { margin:0 0 16px; font:700 clamp(24px,2.8vw,36px)/1.2 "Playfair Display",serif; color:#162430; }
.featured-blog-content h2 a { color:#162430; transition:color .2s; }
.featured-blog-content h2 a:hover { color:var(--gold); }
.featured-blog-content p { color:var(--muted); font-size:15px; line-height:1.75; margin:0 0 24px; }
.featured-card-footer { display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-top:auto; padding-top:18px; border-top:1px solid #f1ece4; }
.author-name { font-size:12.5px; color:#64748b; font-weight:600; }

.blog-grid-section { padding-top:40px; padding-bottom:80px; }
.blog-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.blog-card-footer { display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:14px; border-top:1px solid #f1ece4; }
.author-tag { font-size:11px; color:#94a3b8; font-weight:600; }
.no-articles-found { text-align:center; padding:60px 20px; background:var(--cream); border:1px solid #e8e4dc; border-radius:4px; }
.no-articles-found h3 { font:700 24px "Playfair Display",serif; margin:0 0 10px; color:#162430; }
.no-articles-found p { color:var(--muted); margin:0 0 20px; }

.blog-newsletter-section { background:var(--cream); padding-top:60px; padding-bottom:60px; }
.newsletter-card { display:flex; justify-content:space-between; align-items:center; gap:30px; background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:44px 48px; box-shadow:0 12px 40px rgba(0,0,0,.04); }
.newsletter-badge { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); display:block; margin-bottom:8px; }
.newsletter-card h3 { margin:0 0 8px; font:700 24px "Playfair Display",serif; color:#162430; }
.newsletter-card p { margin:0; font-size:14px; color:var(--muted); line-height:1.6; max-width:600px; }

/* Single Blog Reader */
.blog-single-page { background:#ffffff; }
.blog-header-meta { display:flex; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.blog-category-pill { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); background:#ffffff; padding:4px 10px; border-radius:2px; border:1px solid var(--border-gold); }
.blog-time-pill { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#64748b; background:#ffffff; padding:4px 10px; border-radius:2px; }
.blog-byline { display:flex; gap:12px; align-items:center; margin-top:20px; font-size:13px; color:#475569; }
.byline-author { display:inline-flex; align-items:center; gap:6px; font-weight:600; color:#162430; }

.blog-reader-body { padding-top:80px; padding-bottom:80px; }
.blog-reader-container { display:grid; grid-template-columns:1.8fr 1fr; gap:60px; align-items:start; }
.blog-article-main { display:flex; flex-direction:column; }
.blog-featured-image-wrap { position:relative; border-radius:4px; overflow:hidden; margin-bottom:34px; box-shadow:0 14px 45px rgba(0,0,0,.08); }
.blog-featured-image-wrap img { width:100%; aspect-ratio:16/9; object-fit:cover; display:block; }
.blog-image-caption { display:flex; justify-content:space-between; padding:12px 18px; background:var(--cream); border:1px solid #e8e4dc; border-top:0; font-size:11.5px; color:#64748b; font-weight:500; }
.blog-category-label { color:var(--gold); font-weight:700; text-transform:uppercase; }

.blog-pull-quote { position:relative; padding:28px 32px; background:var(--gold-pale); border-left:4px solid var(--gold); border-radius:0 4px 4px 0; margin-bottom:32px; }
.blog-pull-quote p { margin:0; font:italic 500 18px/1.7 "Playfair Display",serif; color:#162430; }
.blog-text-content { font-size:16px; line-height:1.85; color:#334155; }
.blog-text-content p { margin:0 0 20px; }

.blog-highlights-box { margin:34px 0; padding:28px 32px; background:var(--cream); border:1px solid #e8e4dc; border-radius:4px; }
.blog-highlights-box h4 { margin:0 0 16px; font:700 18px "Playfair Display",serif; color:#162430; }
.blog-highlights-box ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:12px; }
.blog-highlights-box li { display:flex; align-items:flex-start; gap:10px; font-size:14.5px; color:#334155; line-height:1.55; }
.blog-highlights-box svg { color:var(--gold); flex-shrink:0; margin-top:2px; }

.blog-author-box { display:flex; gap:20px; align-items:center; padding:24px 28px; background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; margin:34px 0; }
.author-avatar { width:58px; height:58px; border-radius:50%; background:var(--gold); color:#ffffff; font:700 20px "Playfair Display",serif; display:grid; place-items:center; flex-shrink:0; }
.author-details h5 { margin:0 0 6px; font:700 17px "Playfair Display",serif; color:#162430; }
.author-details p { margin:0; font-size:13px; line-height:1.6; color:var(--muted); }

.blog-share-bar { display:flex; justify-content:space-between; align-items:center; padding:18px 0; border-top:1px solid #e8e4dc; border-bottom:1px solid #e8e4dc; margin:24px 0 40px; flex-wrap:wrap; gap:14px; }
.share-label { font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.1em; color:#162430; }
.share-buttons { display:flex; gap:10px; }
.share-btn { display:inline-flex; align-items:center; gap:6px; padding:7px 14px; font-size:11px; font-weight:700; border:1px solid #d4cfc4; border-radius:2px; background:#ffffff; color:#162430; transition:.2s; }
.share-btn:hover { background:var(--gold); color:#ffffff; border-color:var(--gold); }

.blog-nav-prev-next { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:20px; }
.blog-nav-card { padding:20px 24px; border:1px solid #e8e4dc; border-radius:4px; background:#ffffff; display:flex; flex-direction:column; gap:6px; transition:.2s; }
.blog-nav-card:hover { border-color:var(--gold); background:var(--gold-pale); transform:translateY(-3px); }
.blog-nav-card.disabled { opacity:.5; pointer-events:none; }
.nav-direction { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); }
.blog-nav-card strong { font:700 15px "Playfair Display",serif; color:#162430; line-height:1.35; }
.blog-nav-card small { font-size:11px; color:#64748b; }

/* Blog / Media Sidebar Widgets */
.blog-sidebar, .media-sidebar { display:flex; flex-direction:column; gap:30px; position:sticky; top:100px; }
.sidebar-widget { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:28px 24px; }
.sidebar-widget-title { margin:0 0 18px; padding-bottom:12px; border-bottom:1px solid #f0ede6; font:700 17px "Playfair Display",serif; color:#162430; }
.sidebar-search-form .search-input-wrap { display:flex; gap:6px; }
.sidebar-search-form input { flex:1; padding:9px 12px; border:1px solid #d4cfc4; border-radius:2px; font-size:13px; outline:none; }
.sidebar-search-form button { padding:9px 14px; background:var(--gold); color:#ffffff; border:0; border-radius:2px; font-size:11px; font-weight:700; text-transform:uppercase; cursor:pointer; }
.sidebar-categories-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; }
.sidebar-categories-list a { display:flex; justify-content:space-between; padding:10px 0; border-bottom:1px solid #f5f2eb; font-size:13.5px; color:#334155; font-weight:500; transition:.2s; }
.sidebar-categories-list a:hover { color:var(--gold); padding-left:4px; }
.sidebar-articles-list { display:flex; flex-direction:column; gap:16px; }
.sidebar-article-item { display:flex; gap:14px; align-items:center; }
.sidebar-article-thumb { width:70px; height:54px; border-radius:3px; overflow:hidden; flex-shrink:0; }
.sidebar-article-thumb img { width:100%; height:100%; object-fit:cover; display:block; }
.sidebar-article-info h5 { margin:0 0 4px; font:600 13.5px/1.3 "Playfair Display",serif; color:#162430; }
.sidebar-article-info time { font-size:10px; color:#94a3b8; }
.sidebar-tag { font-size:9px; font-weight:700; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:2px; }
.blog-cta-widget, .media-contact-widget { background:linear-gradient(rgba(251,250,247,.97),rgba(244,241,234,.95)),url('../images/project-commercial.png') center/cover; }
.blog-cta-widget p, .media-contact-widget p { font-size:13px; line-height:1.6; color:var(--muted); margin:0 0 16px; }
.sidebar-contact-info { list-style:none; padding:0; margin:0 0 20px; display:flex; flex-direction:column; gap:12px; }
.sidebar-contact-info li { display:flex; flex-direction:column; gap:2px; font-size:13.5px; }
.sidebar-contact-info strong { font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--gold); }
.sidebar-contact-info a { color:#162430; font-weight:600; transition:.2s; }
.sidebar-contact-info a:hover { color:var(--gold); }
.full-btn { width:100%; justify-content:center; }
.back-link-btn { display:inline-flex; align-items:center; gap:8px; color:var(--gold); font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }

/* ===== Contact Us Page ===== */
.contact-page-wrapper { background:#ffffff; }
.contact-hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
.contact-channels-section { padding-top:70px; padding-bottom:70px; }
.contact-channels-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.channel-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:32px 24px; display:flex; flex-direction:column; transition:transform .3s, box-shadow .3s, border-color .3s; text-align:left; }
.channel-card:not(.no-hover-link):hover { transform:translateY(-6px); box-shadow:0 18px 45px rgba(0,0,0,.08); border-color:var(--gold); }
.channel-icon { width:52px; height:52px; border-radius:4px; background:var(--gold-pale); color:var(--gold); border:1.5px solid var(--border-gold); display:grid; place-items:center; margin-bottom:18px; }
.channel-tag { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); margin-bottom:6px; display:block; }
.channel-card h3 { margin:0 0 8px; font:700 18px "Playfair Display",serif; color:#162430; word-break:break-word; }
.channel-card p { margin:0 0 16px; font-size:13px; line-height:1.55; color:var(--muted); flex:1; }
.channel-action { display:inline-flex; align-items:center; gap:5px; color:var(--gold); font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-top:auto; }

.contact-split-section { padding-top:90px; padding-bottom:90px; }
.contact-split-container { display:grid; grid-template-columns:1.1fr 1.3fr; gap:60px; align-items:start; }
.contact-lead-text { font-size:16px; line-height:1.8; color:#475569; margin-bottom:30px; }
.contact-promises-box { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:28px 26px; margin-bottom:30px; }
.contact-promises-box h4 { margin:0 0 16px; font:700 17px "Playfair Display",serif; color:#162430; }
.contact-promises-box ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:14px; }
.contact-promises-box li { display:flex; align-items:flex-start; gap:10px; font-size:13.5px; line-height:1.55; color:#334155; }
.contact-promises-box svg { color:var(--gold); flex-shrink:0; margin-top:2px; }
.working-hours-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:24px 26px; }
.working-hours-card h4 { margin:0 0 12px; font:700 15px "Playfair Display",serif; color:#162430; }
.hours-row { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f5f2eb; font-size:13px; color:#475569; }
.hours-row:last-child { border-bottom:0; }

.contact-form-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:44px 38px; box-shadow:0 16px 50px rgba(0,0,0,.05); }
.form-card-header { margin-bottom:28px; padding-bottom:16px; border-bottom:1px solid #f0ede6; }
.form-card-header h3 { margin:0 0 6px; font:700 24px "Playfair Display",serif; color:#162430; }
.form-card-header p { margin:0; color:var(--muted); font-size:13.5px; }
.main-contact-form { display:flex; flex-direction:column; gap:18px; }
.form-row-2 { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { display:flex; flex-direction:column; gap:6px; }
.form-field label { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#162430; }
.form-field label span { color:#d9534f; }
.form-field input, .form-field select, .form-field textarea { width:100%; padding:11px 14px; border:1px solid #d4cfc4; border-radius:3px; font-size:13.5px; background:#fbfaf7; color:#162430; outline:none; transition:.2s; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color:var(--gold); background:#ffffff; box-shadow:0 0 0 3px rgba(184,138,56,.15); }
.submit-contact-btn { height:50px; justify-content:center; }
.form-privacy-note { margin:8px 0 0; text-align:center; font-size:11px; color:#94a3b8; }
.contact-alert { padding:14px 18px; border-radius:4px; display:flex; align-items:center; gap:12px; margin-bottom:20px; font-size:13.5px; }
.contact-alert.success { background:#e8f7ec; color:#186c2e; border:1px solid #b7e4c2; }
.contact-alert.error { background:#fdeeee; color:#c9342b; border:1px solid #f6c4c4; }

.contact-map-section { padding-top:0; padding-bottom:70px; }
.contact-map-wrapper { position:relative; height:450px; border-radius:4px; overflow:hidden; border:1px solid #e8e4dc; }
.contact-map-iframe { width:100%; height:100%; border:0; display:block; }
.map-overlay-card { position:absolute; bottom:24px; left:24px; background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:24px 28px; max-width:340px; box-shadow:0 12px 40px rgba(0,0,0,.12); }
.map-card-badge { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); display:block; margin-bottom:6px; }
.map-overlay-card h4 { margin:0 0 8px; font:700 18px "Playfair Display",serif; color:#162430; }
.map-overlay-card p { margin:0 0 14px; font-size:13px; line-height:1.55; color:var(--muted); }

.contact-process-section { background:var(--cream); border-top:1px solid #e8e4dc; }
.process-steps-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.process-step-card { background:#ffffff; border:1px solid #e8e4dc; border-radius:4px; padding:36px 30px; display:flex; flex-direction:column; transition:.3s; }
.process-step-card:hover { transform:translateY(-5px); border-color:var(--gold); box-shadow:0 16px 45px rgba(0,0,0,.06); }
.step-num { font:700 36px/1 "Playfair Display",serif; color:var(--gold); margin-bottom:12px; }
.step-tag { font-size:9.5px; font-weight:700; text-transform:uppercase; letter-spacing:.14em; color:#64748b; margin-bottom:8px; }
.process-step-card h3 { margin:0 0 10px; font:700 20px "Playfair Display",serif; color:#162430; }
.process-step-card p { margin:0; font-size:13.5px; line-height:1.65; color:var(--muted); }

/* ===== Footer (Warm Porcelain & Champagne Luxury) ===== */
footer { background:#f4f1ea; color:#4a5568; border-top:1px solid #e2ddd3; }
.footer-top { display:grid; grid-template-columns:1.6fr 1fr 1.2fr 1.3fr; gap:60px; padding:80px 8vw 65px; }
.footer-about .footer-brand { margin:0 0 22px; }
.footer-desc { margin:0 0 28px; font-size:14.5px; line-height:1.85; color:#5a6874; max-width:330px; }
.footer-social { display:flex; gap:10px; }
.footer-social a { width:38px; height:38px; display:grid; place-items:center; color:#526270; border:1px solid #d4cfc4; background:#ffffff; border-radius:50%; transition:.22s; }
.footer-social a:hover { color:#ffffff; border-color:var(--gold); background:var(--gold); }
.footer-col-title { margin:0 0 24px; color:#162430; font:700 12px/1 "DM Sans",sans-serif; text-transform:uppercase; letter-spacing:.2em; padding-bottom:14px; border-bottom:1.5px solid rgba(184,138,56,.35); }
.footer-nav-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.footer-nav-list li a { display:flex; align-items:center; gap:8px; padding:10px 0; color:#526270; font-size:14.5px; font-weight:500; border-bottom:1px solid rgba(0,0,0,.05); transition:.2s; }
.footer-nav-list li:last-child a { border-bottom:0; }
.footer-nav-list li a::before { content:"→"; color:var(--gold); font-size:12px; opacity:0; transform:translateX(-6px); transition:.2s; }
.footer-nav-list li a:hover { color:var(--gold); padding-left:4px; }
.footer-nav-list li a:hover::before { opacity:1; transform:none; }
.footer-nav-list li a small { margin-left:auto; color:#94a3b8; font-size:10px; text-transform:uppercase; letter-spacing:.1em; white-space:nowrap; }

.footer-contact-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:20px; }
.footer-contact-list li { display:flex; align-items:flex-start; gap:14px; }
.footer-contact-icon { flex-shrink:0; width:36px; height:36px; display:grid; place-items:center; color:var(--gold); background:#ffffff; border:1px solid var(--border-gold); border-radius:50%; margin-top:1px; }
.footer-contact-list li div { display:flex; flex-direction:column; gap:4px; }
.footer-contact-list li strong { color:#162430; font-size:11px; text-transform:uppercase; letter-spacing:.13em; font-weight:700; }
.footer-contact-list li a,.footer-contact-list li span { color:#526270; font-size:14.5px; transition:.2s; }
.footer-contact-list li a:hover { color:var(--gold); }
.footer-divider { height:1px; background:linear-gradient(90deg, transparent, rgba(184,138,56,.3) 30%, rgba(184,138,56,.3) 70%, transparent); margin:0 8vw; }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 8vw 28px; font-size:12.5px; color:#718096; }
.footer-bottom-links { display:flex; gap:22px; }
.footer-bottom-links a { color:#718096; transition:.2s; }
.footer-bottom-links a:hover { color:var(--gold); }

/* ===== Luxury Floating Action Buttons ===== */
.floating-actions { position:fixed; z-index:90; right:28px; bottom:28px; display:flex; flex-direction:column; align-items:center; gap:14px; pointer-events:none; }
.float-btn { position:relative; pointer-events:auto; width:52px; height:52px; border-radius:50%; display:grid; place-items:center; border:0; cursor:pointer; text-decoration:none; transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s; }
.float-btn:hover { transform:scale(1.12); }
.float-btn-top { background:#ffffff; color:#162430; border:1.5px solid #d4cfc4; box-shadow:0 6px 20px rgba(0,0,0,.1); opacity:0; visibility:hidden; transform:translateY(15px); transition:opacity .3s, transform .3s, visibility .3s; }
.float-btn-top.visible { opacity:1; visibility:visible; transform:translateY(0); }
.float-btn-top:hover { background:var(--gold); color:#ffffff; border-color:var(--gold); box-shadow:0 8px 25px rgba(184,138,56,.35); }
.float-btn-call { background:#ffffff; color:var(--gold); border:1.5px solid var(--gold); box-shadow:0 6px 22px rgba(184,138,56,.2); }
.float-btn-call:hover { background:var(--gold); color:#ffffff; box-shadow:0 10px 28px rgba(184,138,56,.4); }
.float-btn-wa { background:#25d366; color:#ffffff; box-shadow:0 8px 25px rgba(37,211,102,.35); }
.float-btn-wa:hover { box-shadow:0 12px 32px rgba(37,211,102,.5); }
.float-pulse-ring { position:absolute; inset:-4px; border-radius:50%; border:2px solid #25d366; opacity:0; animation:floatPulse 2.4s infinite; }
@keyframes floatPulse { 0% { transform:scale(.95); opacity:.8; } 50% { transform:scale(1.3); opacity:0; } 100% { transform:scale(1.3); opacity:0; } }
.float-tooltip { position:absolute; right:calc(100% + 12px); top:50%; transform:translateY(-50%) translateX(6px); background:#162430; color:#ffffff; padding:6px 12px; border-radius:3px; font-size:11px; font-weight:700; letter-spacing:.04em; white-space:nowrap; opacity:0; visibility:hidden; pointer-events:none; transition:.2s ease; box-shadow:0 4px 14px rgba(0,0,0,.15); }
.float-tooltip::after { content:""; position:absolute; left:100%; top:50%; transform:translateY(-50%); border:5px solid transparent; border-left-color:#162430; }
.float-btn:hover .float-tooltip { opacity:1; visibility:visible; transform:translateY(-50%) translateX(0); }

/* ===== Responsive Breakpoints ===== */
@media (max-width:1180px) {
  .site-header { padding:0 24px; }
  .site-header nav { gap:12px; }
  .site-header nav>a,.nav-projects>a { font-size:11px; }
  .brand { min-width:175px; }
  .footer-top { grid-template-columns:1.2fr 1fr 1fr 1.2fr; gap:36px; }
  .contact-channels-grid { grid-template-columns:repeat(2,1fr); }
  .media-grid { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:980px) {
  .site-header { height:90px; }
  .site-header nav { position:fixed; top:90px; left:0; right:0; height:auto; max-height:calc(100vh - 90px); overflow-y:auto; display:none; flex-direction:column; align-items:stretch; gap:0; padding:18px 6vw 30px; background:#ffffff; border-bottom:1px solid #e8e4dc; box-shadow:0 20px 40px rgba(0,0,0,.12); z-index:99; }
  .site-header nav.nav-open { display:flex; animation:slideDownNav .28s ease both; }
  @keyframes slideDownNav { from { opacity:0; transform:translateY(-10px); } to { opacity:1; transform:none; } }
  .site-header nav>a,.nav-projects>a { min-height:52px; padding:0; font-size:14px; border-bottom:1px solid #f1ece4; color:#162430; }
  .site-header nav>a:after,.nav-projects>a:after { display:none; }
  .nav-projects { display:block; height:auto; }
  .mega-menu { display:none!important; }
  .menu-button { display:block; }
  .header-enquire { display:none; }

  .hero-content { width:75%; margin-left:6vw; }
  .hero-stats { right:2vw; width:205px; }
  .section { padding:80px 6vw; }
  .intro { grid-template-columns:1fr; gap:30px; }
  .section-label { writing-mode:initial; transform:none; }
  .category-showcase { grid-template-columns:1fr; }
  .category-card { min-height:480px; padding:50px 6vw; }
  .section-heading { grid-template-columns:1fr; gap:20px; margin-bottom:45px; }
  .reason-grid { grid-template-columns:1fr 1fr; }
  .project-grid { grid-template-columns:repeat(2,1fr); }
  .projects-cards-grid { grid-template-columns:repeat(2,1fr); }
  .project-detail-container { grid-template-columns:1fr; gap:45px; }
  .metrics-container { grid-template-columns:repeat(2,1fr); padding:0 5vw; }
  .metric-item:nth-child(2) { border-right:0; }
  .metric-item:nth-child(-n+2) { border-bottom:1px solid #e8e4dc; }
  .team-grid { grid-template-columns:repeat(2,1fr); gap:20px; }
  .vm-grid { grid-template-columns:1fr; gap:20px; }
  .about-intro { grid-template-columns:1fr; gap:50px; }
  .about-intro-badge { width:110px; height:110px; right:-10px; bottom:-20px; }
  .about-intro-badge strong { font-size:28px; }
  .event-photo-grid { grid-template-columns:repeat(2,1fr); gap:14px; }
  .event-header { flex-direction:column; align-items:flex-start; gap:10px; }
  .event-meta { text-align:left; max-width:100%; }
  .news-list-item { grid-template-columns:100px 1fr; gap:20px; padding:24px; }
  .news-list-action { grid-column:1/-1; justify-content:flex-start; }
  .featured-blog-card { grid-template-columns:1fr; }
  .blog-grid-3 { grid-template-columns:repeat(2,1fr); }
  .blog-reader-container { grid-template-columns:1fr; gap:45px; }
  .partner-pillars-grid { grid-template-columns:1fr; }
  .career-cards-grid { grid-template-columns:repeat(2,1fr); }
  .general-application-banner { flex-direction:column; align-items:flex-start; gap:22px; padding:34px 28px; }
  .contact-split-container { grid-template-columns:1fr; gap:45px; }
  .contact-panel { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr 1fr; gap:40px; padding:60px 5vw 50px; }
}

@media (max-width:720px) {
  .site-header { height:80px; padding:0 18px; }
  .site-header.is-scrolled { height:75px; }
  .site-header nav { top:80px; max-height:calc(100vh - 80px); padding:15px 5vw 30px; }
  .brand { min-width:auto; }
  .brand-mark { width:40px; height:40px; }
  .brand strong { font-size:18px; }

  .hero-slider { min-height:720px; height:100svh; }
  .hero-slide { align-items:flex-end; padding:0 18px 180px; }
  .hero-slide:after { display:none; }
  .hero-content { width:100%; margin:0; padding:0; background:transparent; }
  .hero-content h1 { font-size:clamp(40px,12vw,62px); }
  .hero-copy { font-size:14.5px; margin:18px 0 24px; }
  .hero-stats { left:18px; right:18px; bottom:30px; top:auto; width:auto; display:grid; grid-template-columns:repeat(3,1fr); border:0; }
  .hero-stats div { margin:0; padding:12px 6px; text-align:center; }
  .hero-stats strong { font-size:22px; }
  .hero-stats span { font-size:6.5px; }
  .slider-dots { top:auto; left:50%; bottom:135px; flex-direction:row; transform:translateX(-50%); }
  .slider-arrows,.scroll-cue { display:none; }

  .section { padding:60px 18px; }
  .intro-title>span { font-size:48px; }
  .reason-grid { grid-template-columns:1fr; border-left:0; }
  .reason-grid article { border-left:1px solid #e8e4dc; }
  .project-grid { grid-template-columns:1fr; }
  .projects-cards-grid { grid-template-columns:1fr; }
  .article-grid { grid-template-columns:1fr; }
  .media-grid { grid-template-columns:1fr; }
  .career-cards-grid { grid-template-columns:1fr; }
  .blog-grid-3 { grid-template-columns:1fr; }
  .contact-channels-grid { grid-template-columns:1fr; }
  .process-steps-grid { grid-template-columns:1fr; }
  .numbers { grid-template-columns:1fr 1fr; }
  .numbers article { padding:30px 18px; min-height:160px; }
  .numbers strong { font-size:32px; }

  .statement { padding:55px 18px; flex-direction:column; align-items:flex-start; gap:24px; }
  .testimonial { padding:60px 18px; }
  .testimonial blockquote { font-size:clamp(22px,6vw,34px); }

  .page-hero { min-height:440px; padding:125px 18px 60px; }
  .page-hero h1 { font-size:clamp(36px,10vw,54px); }

  .about-highlights { grid-template-columns:1fr; }
  .team-grid { grid-template-columns:1fr; gap:20px; }

  .project-highlights-grid, .amenities-cards-grid, .connectivity-grid { grid-template-columns:1fr; }
  .project-card-actions { grid-template-columns:1fr; }
  .detail-block { padding:26px 18px; }
  .sidebar-enquiry-card { padding:26px 18px; }
  .sidebar-direct-contacts { grid-template-columns:1fr; }

  .news-list-item { grid-template-columns:1fr; gap:14px; padding:20px 18px; }
  .news-list-date { width:max-content; padding:6px 14px; flex-direction:row; gap:8px; }
  .news-month-year { margin-top:0; }
  .event-photo-grid { grid-template-columns:1fr 1fr; gap:10px; }

  .blog-filters-bar { padding:18px 18px; }
  .filters-wrapper { flex-direction:column; align-items:stretch; gap:14px; }
  .category-pills { justify-content:flex-start; gap:6px; }
  .cat-pill { font-size:10.5px; padding:8px 12px; }
  .blog-search-form { width:100%; min-width:100%; }

  .featured-blog-content { padding:28px 20px; }
  .blog-nav-prev-next { grid-template-columns:1fr; }
  .blog-share-bar { flex-direction:column; align-items:flex-start; gap:12px; }
  .newsletter-card { flex-direction:column; align-items:flex-start; padding:32px 20px; }

  .form-grid-2, .form-row-2, .enquiry-form { grid-template-columns:1fr; gap:14px; padding:45px 18px; }
  .career-modal-dialog { padding:28px 18px 24px; max-height:94vh; }
  .contact-form-card { padding:28px 18px; }
  .contact-map-wrapper { height:340px; }
  .map-overlay-card { position:static; max-width:100%; margin-top:16px; }

  .footer-top { grid-template-columns:1fr; gap:36px; padding:50px 18px 40px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:12px; padding:20px 18px 28px; }
  .footer-bottom-links { flex-wrap:wrap; gap:14px; }
  .floating-actions { right:16px; bottom:16px; gap:10px; }
  .float-btn { width:46px; height:46px; }
  .float-tooltip { display:none!important; }
}

@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { animation:none!important; transition:none!important; } }

/* Utility helpers */
.mega-hidden { display:none!important; }
.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.not-found { min-height:600px; padding:130px 20px; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; background:var(--cream); }
.not-found h1 { margin:0; font:700 clamp(40px,6vw,72px) "Playfair Display",serif; color:#162430; }
.not-found>p:not(.eyebrow) { color:var(--muted); margin-bottom:28px; }
