/* Faisal Jewel — scoped project styles. Everything lives under .fj so nothing leaks. */
.fj{
  --fj-bg:#FAF8F4;--fj-deep:#004443;--fj-teal:#007563;--fj-dark:#0E2423;
  --fj-gold:#CAA452;--fj-gold-l:#E4CB8F;--fj-ink:#13201F;--fj-muted:#4A5654;--fj-muted2:#55605E;
  --fj-line:#DDD6C8;--fj-panel:#EFEAE0;
  --fj-disp:'Cormorant Garamond',Georgia,serif;--fj-body:'Manrope','Helvetica Neue',sans-serif;
  --fj-pad:clamp(20px,4vw,64px);
  font-family:var(--fj-body);color:var(--fj-ink);background:var(--fj-bg);font-size:16px;line-height:1.6;
  overflow-x:clip;
}
.fj *,.fj *::before,.fj *::after{box-sizing:border-box}
.fj img,.fj video{max-width:100%}
:where(.fj) img{height:auto}
.fj h1,.fj h2,.fj h3{font-family:var(--fj-disp);font-weight:500;margin:0;letter-spacing:0}
.fj h2{font-size:clamp(36px,4.4vw,60px);line-height:1.05;color:var(--fj-deep);text-wrap:balance}
.fj p{margin:0}
:where(.fj) a{color:inherit}
.fj :focus-visible{outline:2px solid var(--fj-gold);outline-offset:3px}
.fj-wrap{max-width:1320px;margin:0 auto;padding-inline:var(--fj-pad)}
.fj-sec{padding:clamp(72px,9vw,120px) 0}
.fj-panel{background:var(--fj-panel)}
.fj-eyebrow,.fj-kicker{display:block;font-size:12px;letter-spacing:.32em;font-weight:700;color:var(--fj-teal);text-transform:uppercase}
.fj-eyebrow.fj-gold,.fj-kicker{color:var(--fj-gold)}
.fj-kicker{font-size:13px}
.fj-lead{color:var(--fj-muted);font-size:17px;max-width:560px;text-wrap:pretty}
.fj-split{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,72px);align-items:center}
.fj-col{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.fj-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.fj-head>div{display:flex;flex-direction:column;gap:18px;max-width:700px}
.fj-head>p{color:var(--fj-muted);max-width:380px}

/* buttons */
.fj-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;font:700 13px/1 var(--fj-body);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.fj-btn-sm{min-height:44px;padding:0 22px}
.fj-btn-gold{background:var(--fj-gold);color:var(--fj-dark)}
.fj-btn-gold:hover{background:var(--fj-gold-l);color:var(--fj-dark)}
.fj-btn-line{border-color:rgba(250,248,244,.55);color:#FAF8F4;background:transparent}
.fj-btn-line:hover{background:#FAF8F4;color:var(--fj-dark)}
.fj-btn-line-gold{border-color:var(--fj-gold);color:#FAF8F4;background:transparent}
.fj-btn-line-gold:hover{background:var(--fj-gold);color:var(--fj-dark)}
.fj-btn-deep{background:var(--fj-deep);color:#FAF8F4}
.fj-btn-deep:hover{background:var(--fj-teal);color:#fff}
.fj-actions{display:flex;flex-wrap:wrap;gap:12px}

/* sticky sub navigation (sits under the ELB site header) */
.fj-subnav{position:sticky;top:84px;z-index:40;background:var(--fj-dark);border-bottom:1px solid rgba(250,248,244,.12)}
.fj-subnav-in{max-width:1320px;margin:0 auto;padding:0 var(--fj-pad);min-height:60px;display:flex;align-items:center;gap:24px}
.fj-brand{display:flex;flex-direction:column;text-decoration:none;color:#FAF8F4;line-height:1;gap:3px;margin-right:auto}
.fj-brand span{font:600 20px/1 var(--fj-disp);letter-spacing:.2em}
.fj-brand small{font-size:9px;letter-spacing:.3em;color:var(--fj-gold);font-weight:700}
.fj-subnav-links{display:flex;gap:28px}
.fj-subnav-links a{color:rgba(250,248,244,.85);text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.fj-subnav-links a:hover{color:var(--fj-gold-l)}
@media (max-width:900px){.fj-subnav-links{display:none}}

/* hero */
.fj-hero{position:relative;min-height:min(820px,100svh);display:flex;align-items:flex-end;overflow:hidden;background:var(--fj-dark);color:#FAF8F4}
.fj-hero-media,.fj-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fj-hero-video{opacity:0;transition:opacity .8s}
.fj-hero-video.is-on{opacity:1}
.fj-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,40,39,.55) 0%,rgba(0,40,39,.15) 35%,rgba(0,40,39,.88) 100%)}
.fj-hero-in{position:relative;width:100%;padding-block:96px 48px;display:flex;flex-direction:column;gap:48px}
.fj-hero-copy{display:flex;flex-direction:column;gap:22px;max-width:820px;align-items:flex-start}
.fj-hero h1{font-size:clamp(46px,7.2vw,104px);line-height:.98;color:#FAF8F4;letter-spacing:-.01em;text-wrap:balance}
.fj-hero h1 em{font-style:italic;color:var(--fj-gold-l)}
.fj-hero-copy p{font-size:clamp(16px,1.4vw,19px);color:rgba(250,248,244,.9);max-width:600px;text-wrap:pretty}
.fj-hero .fj-actions{margin-top:8px}
.fj-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));border-top:1px solid rgba(250,248,244,.25)}
.fj-stats li{padding:22px 24px 0 0;display:flex;flex-direction:column;gap:4px}
.fj-stats strong{font:500 44px/1 var(--fj-disp);color:#FAF8F4}
.fj-stats span{font-size:12px;letter-spacing:.2em;color:var(--fj-gold);font-weight:600}

/* about */
.fj-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:1px;background:var(--fj-line);border:1px solid var(--fj-line);margin-top:16px;width:100%;max-width:560px}
.fj-facts>div{background:var(--fj-bg);padding:24px;display:flex;flex-direction:column;gap:6px}
.fj-facts span{font-size:12px;letter-spacing:.2em;color:var(--fj-muted2);font-weight:600}
.fj-facts strong{font:500 36px/1.1 var(--fj-disp);color:var(--fj-deep)}
.fj-tower{flex:1 1 380px;min-width:0;display:flex;gap:32px;align-items:flex-end;justify-content:center}
.fj-tower-bar{width:112px;flex-shrink:0;display:flex;flex-direction:column}
.fj-tower-bar i,.fj-tower-bar b{display:block}
.fj-tower-bar .cap{height:8px;background:var(--fj-gold)}
.fj-tower-bar .gap{height:2px;background:var(--fj-bg)}
.fj-tower-bar .gnd{height:3px;background:var(--fj-ink);margin:0 -16px}
.fj-tower-bar b{display:flex;align-items:center;justify-content:center;font:400 40px/1 var(--fj-disp)}
.fj-tower-bar .res{height:342px;background:var(--fj-deep);color:var(--fj-gold-l)}
.fj-tower-bar .com{height:114px;background:var(--fj-teal);color:#FAF8F4}
.fj-tower-bar .prk{height:57px;background:repeating-linear-gradient(135deg,#D8D1C2 0 6px,#EAE4D8 6px 12px);color:var(--fj-ink);font-size:32px;font-weight:600}
.fj-tower-key{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;flex:0 1 260px;min-width:0}
.fj-tower-key li{display:flex;flex-direction:column;justify-content:center;gap:4px;border-top:1px solid var(--fj-line)}
.fj-tower-key strong{font:400 28px/1.1 var(--fj-disp);color:var(--fj-deep)}
.fj-tower-key span{font-size:14px;color:var(--fj-muted2)}
.fj-tower-key .res{height:350px}.fj-tower-key .com{height:116px}.fj-tower-key .prk{height:60px;border-top-color:var(--fj-ink)}
.fj-tower-key .prk strong{font-size:24px;color:var(--fj-ink)}

/* hotel */
.fj-hotel{display:flex;flex-wrap:wrap;background:var(--fj-deep);color:#FAF8F4}
.fj-hotel-img{flex:1 1 520px;min-width:0;min-height:440px;position:relative}
.fj-hotel-img img,.fj-hotel-img .fj-missing{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fj-hotel-copy{flex:1 1 460px;min-width:0;padding:clamp(48px,6vw,104px) clamp(20px,5vw,88px);display:flex;flex-direction:column;justify-content:center;gap:24px}
.fj-hotel h2{color:#FAF8F4;font-size:clamp(36px,4.2vw,58px)}
.fj-hotel-copy>p{color:rgba(250,248,244,.86);font-size:17px;max-width:520px}
.fj-chips{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:8px 0 0;padding:0}
.fj-chips li{padding:10px 16px;border:1px solid rgba(202,164,82,.55);font-size:13px;letter-spacing:.06em}

/* amenities / gallery */
.fj-fig-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:20px}
.fj-fig{margin:0;display:flex;flex-direction:column;gap:14px;min-width:0}
.fj-fig img,.fj-fig .fj-missing{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.fj-fig figcaption{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--fj-line);padding-top:12px}
.fj-fig figcaption span{font:400 28px/1.2 var(--fj-disp);color:var(--fj-deep)}
.fj-fig figcaption small{font-size:12px;letter-spacing:.2em;color:var(--fj-muted2);font-weight:600}
.fj-amen-list{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));border-top:1px solid var(--fj-line)}
.fj-amen-list li{padding:22px 0;border-bottom:1px solid var(--fj-line);font:400 24px/1.2 var(--fj-disp)}
.fj-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px}
.fj-gal{min-width:0}
.fj-gal img,.fj-gal .fj-missing{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.fj-gal.wide{grid-column:1/-1}
.fj-gal.wide img,.fj-gal.wide .fj-missing{aspect-ratio:16/10}
.fj-missing{background:linear-gradient(135deg,#0E2423,#004443);aspect-ratio:4/3;width:100%}

/* floor plans */
.fj-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--fj-line);padding-bottom:16px;margin-bottom:40px}
.fj-tabs button{min-height:44px;padding:0 20px;font:600 14px var(--fj-body);letter-spacing:.04em;cursor:pointer;background:transparent;color:var(--fj-deep);border:1px solid #C9C1B0}
.fj-tabs button[aria-selected=true]{background:var(--fj-deep);color:#FAF8F4;border-color:var(--fj-deep)}
.fj-plan{display:flex;flex-wrap:wrap;gap:clamp(28px,4vw,48px);align-items:flex-start}
.fj-plan[hidden]{display:none}
.fj-plan-view{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:16px}
.fj-toggle{display:flex;align-self:flex-start;border:1px solid var(--fj-deep)}
.fj-toggle button{min-height:44px;padding:0 20px;border:0;font:700 13px var(--fj-body);letter-spacing:.12em;cursor:pointer;background:transparent;color:var(--fj-deep)}
.fj-toggle button[aria-pressed=true]{background:var(--fj-deep);color:#FAF8F4}
.fj-plan-img{background:var(--fj-bg);border:1px solid #E6E0D3;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.fj-plan-img img{width:100%;height:100%;object-fit:contain;display:block}
.fj-plan-img [hidden]{display:none}
.fj-plan-soon{display:flex;flex-direction:column;gap:8px;text-align:center;padding:24px;color:var(--fj-muted2);font-size:14px}
.fj-plan-soon strong{font:400 28px/1.1 var(--fj-disp);color:var(--fj-deep)}
.fj-plan-info{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.fj-plan-info h3{font-size:40px;line-height:1.05;color:var(--fj-deep)}
.fj-plan-info>p{color:var(--fj-muted)}
.fj-rows{margin:0;width:100%;border-top:1px solid var(--fj-line)}
.fj-rows>div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--fj-line)}
.fj-rows dt{color:var(--fj-muted2);font-size:14px}
.fj-rows dd{margin:0;font-weight:600;font-size:14px;text-align:right}

/* payment */
.fj-pay{background:var(--fj-dark);color:#FAF8F4;padding:clamp(56px,7vw,88px) 0}
.fj-pay-in{display:flex;flex-wrap:wrap;gap:40px;align-items:center;justify-content:space-between}
.fj-pay-in>div:first-child{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:14px}
.fj-pay h2{color:#FAF8F4;font-size:clamp(32px,3.6vw,48px);line-height:1.08}

/* progress */
.fj-lead+.fj-lead{margin-top:0}
.fj-head .fj-lead{margin-top:0}
.fj-handover{display:flex;flex-direction:column;gap:4px;padding:18px 24px;border:1px solid var(--fj-line)}
.fj-handover span{font-size:12px;letter-spacing:.2em;color:var(--fj-muted2);font-weight:600}
.fj-handover strong{font:400 32px/1.1 var(--fj-disp);color:var(--fj-deep)}
.fj-prog{display:flex;flex-wrap:wrap;gap:20px}
.fj-prog-video{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:12px}
.fj-prog-video video,.fj-prog-video img,.fj-prog-video .fj-missing{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:var(--fj-dark)}
.fj-prog-img{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:12px}
.fj-prog-img img,.fj-prog-img .fj-missing{width:100%;flex:1 1 auto;min-height:240px;object-fit:cover;display:block}
.fj-prog span{font-size:14px;color:var(--fj-muted2)}

/* location */
.fj-loc{background:var(--fj-deep);color:#FAF8F4;padding:clamp(72px,9vw,120px) 0}
.fj-loc-in{display:flex;flex-wrap:wrap;gap:clamp(40px,6vw,64px)}
.fj-loc h2{color:#FAF8F4}
.fj-loc .fj-col>p{color:rgba(250,248,244,.86);max-width:460px}
.fj-places{flex:1 1 440px;min-width:0;margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));column-gap:40px;align-content:start}
.fj-places li{display:flex;gap:18px;align-items:baseline;padding:22px 0;border-bottom:1px solid rgba(250,248,244,.18);font:400 26px/1.2 var(--fj-disp)}
.fj-places span{font:700 12px var(--fj-body);color:var(--fj-gold)}

/* contact */
.fj-contact-rows{margin:8px 0 0;width:100%;max-width:460px;border-top:1px solid var(--fj-line)}
.fj-contact-rows>div{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--fj-line)}
.fj-contact-rows dt{color:var(--fj-muted2);font-size:14px}
.fj-contact-rows dd{margin:0;font-weight:600;text-align:right;overflow-wrap:anywhere}
.fj-contact-rows a{color:var(--fj-deep);text-decoration:none}
.fj-contact-rows a:hover{color:var(--fj-teal)}
.fj-form{flex:1 1 440px;min-width:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:20px;background:var(--fj-panel);padding:clamp(24px,3vw,44px);align-content:start}
.fj-form label{display:flex;flex-direction:column;gap:8px;font-size:13px;font-weight:600;letter-spacing:.04em;min-width:0}
.fj-form .full{grid-column:1/-1}
.fj-input{min-height:48px;padding:0 14px;border:1px solid #B9B09E;background:var(--fj-bg);font:400 16px var(--fj-body);color:var(--fj-ink);width:100%;border-radius:0}
.fj-form textarea.fj-input{padding:12px 14px;resize:vertical}
.fj-form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:18px}
.fj-sent{color:var(--fj-deep);font-weight:600;font-size:14px}
.fj-fine{font-size:12px;color:var(--fj-muted2)}

/* footer note */
.fj-foot{background:var(--fj-dark);color:rgba(250,248,244,.78);padding:36px 0;font-size:13px}
.fj-foot .fj-wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px}

/* subtle reveal (only when JS is active) */
.fj-js .fj-reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.fj-js .fj-reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .fj-js .fj-reveal{opacity:1;transform:none;transition:none}
  .fj-hero-video{display:none}
}
@media (max-width:640px){
  .fj-tower{gap:20px}
  .fj-tower-bar{width:88px}
  .fj-plan-info h3{font-size:34px}
  .fj-actions .fj-btn{flex:1 1 100%}
}
.fj-brand span{white-space:nowrap}/*b*/
@media (max-width:420px){.fj-brand span{font-size:17px;letter-spacing:.14em}.fj-subnav-in{gap:12px}}
.fj-prog-img .fj-site-video{width:100%;aspect-ratio:9/16;object-fit:cover;display:block;background:var(--fj-dark)}
