/* Branch pages (/punggol-coast/ …). Colours, fonts and buttons come from ../css/01-base.css. */
.bp{background:radial-gradient(1200px 600px at 80% -10%,rgba(226,189,120,.10),transparent 60%),var(--ink);min-height:100vh}
.bp a{color:var(--gold-hi)}
.bp .btn{text-decoration:none}
.bp .btn-gold{color:#1b1206}
.bp .btn-line{color:var(--ivory)}

.bp-head{position:sticky;top:0;z-index:20;background:rgba(4,17,32,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--line-soft)}
.bp-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:76px}
.bp-brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.bp-brand img{width:68px;height:auto}
.bp-brand b{display:block;font:700 19px/1 var(--serif);letter-spacing:.08em;color:var(--gold-hi)}
.bp-brand small{display:block;margin-top:5px;font:600 10.5px/1 var(--serif);letter-spacing:.2em;color:var(--dim)}
.bp-nav{display:flex;gap:22px}
.bp-nav a{font:600 13px/1 var(--serif);letter-spacing:.1em;text-decoration:none;color:var(--mist)}
.bp-nav a:hover{color:var(--gold-hi)}

.bp-hero{padding:56px 0 40px}
.bp-hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.bp-crumbs{font-size:15px;color:var(--dim);margin-bottom:18px}
.bp-crumbs a{color:var(--dim)}
.bp h1{font-size:clamp(36px,4.6vw,62px)}
.bp h1 .gold-text{display:block}
.bp .lede{margin-top:20px}
.bp-desc{margin-top:14px;color:var(--mist);font-size:19px}
.bp-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.bp-photo{margin:0;border-radius:22px;overflow:hidden;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.8)}
.bp-photo img{width:100%;aspect-ratio:4/3;object-fit:cover}

.bp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
section.bp-grid{margin-top:8px}
.bp-card{background:linear-gradient(180deg,rgba(20,58,86,.55),rgba(14,44,67,.45));border:1px solid var(--line-soft);border-radius:18px;padding:22px 24px}
.bp-card h2,.bp-card h3{font-size:16px;letter-spacing:.14em;color:var(--gold);margin-bottom:12px;text-transform:uppercase}
.bp-card p{font-size:19px;line-height:1.5}
.bp-card p+p{margin-top:4px}
.bp-link{display:block;text-decoration:none;transition:border-color .3s,transform .3s var(--ease)}
.bp-link:hover{border-color:var(--gold);transform:translateY(-2px)}
.bp-link h3{text-transform:none;letter-spacing:.04em;font-size:19px;color:var(--gold-hi)}

.bp-sec{margin-top:56px}
.bp-sec>h2{font-size:clamp(26px,2.8vw,38px);margin-bottom:12px}
.bp-sec>.muted{font-size:17px;margin-bottom:18px}

.bp-table-wrap{overflow-x:auto;border:1px solid var(--line-soft);border-radius:18px}
.bp-table{width:100%;border-collapse:collapse;font-size:19px}
.bp-table th,.bp-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
.bp-table thead th{font:600 12.5px/1 var(--serif);letter-spacing:.16em;color:var(--gold);background:rgba(20,58,86,.5)}
.bp-table tbody tr:last-child th,.bp-table tbody tr:last-child td{border-bottom:0}
.bp-table td{font-family:var(--figure);white-space:nowrap}
.bp-table td small{display:block;font:600 13px/1.3 var(--sans);color:var(--dim)}
.bp-table th .muted{font-size:16px}

.bp-faq{border-bottom:1px solid var(--line-soft);padding:14px 0}
.bp-faq summary{cursor:pointer;font:600 18px/1.4 var(--serif);letter-spacing:.02em;color:var(--ivory)}
.bp-faq p{margin-top:10px;color:var(--mist)}

.bp-foot{margin-top:72px;padding:28px 0 40px;border-top:1px solid var(--line-soft);font-size:15px;color:var(--dim)}
.bp-foot .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.bp-foot a{color:var(--mist)}

@media (max-width:860px){
  .bp-hero-in{grid-template-columns:1fr;gap:28px}
  .bp-photo{order:-1}
  .bp-nav{display:none}
  .bp-hero{padding-top:28px}
}
@media (max-width:520px){
  :root{--wrap:calc(100% - 32px)}
  .bp-cta .btn{flex:1 1 100%}
  .bp-table th,.bp-table td{padding:12px}
}
