/* ============ Kausalya — static build ============ */
:root { --ink:#1a2f14; --ink2:#0f1f0b; --cream:#fdf8e8; --gold:#d4b16a; --gold2:#e8c988; --gold3:#b8934c; --clay:#8b4a2b; }

/* Font stacks mirror the React app */
.font-hero    { font-family:'Poppins', sans-serif; font-weight:500; letter-spacing:-0.02em; }
.font-display { font-family:'Poppins', sans-serif; font-weight:700; letter-spacing:-0.025em; }
.font-head    { font-family:'Poppins', sans-serif; letter-spacing:0.035em; font-weight:400; }
.font-sub     { font-family:'Poppins', sans-serif; font-weight:600; letter-spacing:0.05em; text-transform:uppercase; }
.font-codec   { font-family:'Poppins', sans-serif; font-weight:500; letter-spacing:0.005em; }
.font-body    { font-family:'Poppins', sans-serif; font-weight:400; letter-spacing:0.005em; }

html { scroll-behavior:smooth; overflow-x: hidden; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:'Poppins', sans-serif; overflow-x: hidden; }
*, *::before, *::after { box-sizing: border-box; }
a { color:inherit; text-decoration:none; }
button { font-family:'Poppins', sans-serif; }
img { display:block; max-width:100%; height:auto; }

.diagonal-top { clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%); }
.diagonal-bot { clip-path: polygon(0 0, 100% 0, 100% calc(100% - 40px), 0 100%); }

@keyframes floaty { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
.floaty { animation: floaty 3s ease-in-out infinite; }
@keyframes fadeUp { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }
.fade-up { animation: fadeUp .8s ease-out both; }
@keyframes wapulse { 0%,100%{box-shadow:0 0 0 0 rgba(37,211,102,.55)} 70%{box-shadow:0 0 0 18px rgba(37,211,102,0)} }
.wa-pulse { animation: wapulse 2.2s infinite; }
@keyframes shimmer { 0%{transform:translateX(-120%)} 100%{transform:translateX(220%)} }
.btn-shine { position:relative; overflow:hidden; }
.btn-shine::after { content:""; position:absolute; top:0; bottom:0; width:40%; background:linear-gradient(120deg, transparent, rgba(255,255,255,.55), transparent); transform:translateX(-120%); animation: shimmer 3.2s ease-in-out infinite; }
.noise { position:relative; }
.noise::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.035; mix-blend-mode:overlay; background-image: radial-gradient(rgba(255,255,255,.9) 1px, transparent 1px); background-size: 3px 3px; }

.gold-gradient { background: linear-gradient(135deg, var(--gold2) 0%, var(--gold) 45%, var(--gold3) 100%); }
.gold-text { background: linear-gradient(135deg, var(--gold2), var(--gold)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.card-lift { transition: transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease; }
.card-lift:hover { transform: translateY(-4px); }
.divider-orn { display:flex; align-items:center; gap:10px; }
.divider-orn .line { height:1px; width:48px; display:inline-block; }
.divider-orn .dot { width:6px; height:6px; border-radius:999px; transform: rotate(45deg); display:inline-block; }
.ring-frame { box-shadow: 0 0 0 1px rgba(212,177,106,.35), 0 30px 60px -20px rgba(26,47,20,.45); }

.nav-link { position:relative; padding:6px 2px; background:transparent; border:0; color:rgba(253,248,232,.85); font-size:14.5px; letter-spacing:.02em; cursor:pointer; transition:color .3s; }
.nav-link:hover { color:var(--gold); }
.nav-link::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1.5px; background:var(--gold); transform:scaleX(0); transform-origin:right center; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.nav-link:hover::after, .nav-link.is-active::after { transform:scaleX(1); transform-origin:left center; }
.nav-link.is-active { color:var(--gold); }
.nav-link::before { content:""; position:absolute; left:50%; top:-6px; width:4px; height:4px; border-radius:999px; background:var(--gold); transform: translate(-50%,-4px) scale(0); transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.nav-link.is-active::before { transform: translate(-50%,0) scale(1); }

@keyframes kenburns { 0%{transform:scale(1.05) translate(0,0)} 100%{transform:scale(1.15) translate(-2%,-1%)} }
.kenburns { animation: kenburns 18s ease-in-out infinite alternate; }

[data-reveal] { opacity:0; transform: translateY(24px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); will-change: opacity, transform; }
@media (min-width:768px){
  [data-reveal="left"] { transform: translateX(-32px); }
  [data-reveal="right"] { transform: translateX(32px); }
}
[data-reveal="zoom"] { transform: scale(.94); }
[data-reveal].is-in { opacity:1; transform:none; }
[data-reveal-delay="1"].is-in { transition-delay:.08s; }
[data-reveal-delay="2"].is-in { transition-delay:.16s; }
[data-reveal-delay="3"].is-in { transition-delay:.24s; }
[data-reveal-delay="4"].is-in { transition-delay:.32s; }
[data-reveal-delay="5"].is-in { transition-delay:.40s; }

@keyframes softFloat { 0%,100%{ transform: translateY(0) } 50%{ transform: translateY(-6px) } }
.soft-float { animation: softFloat 5s ease-in-out infinite; }
@keyframes sweep { 0%{ background-position: 0% 50% } 100%{ background-position: 200% 50% } }
.tilt { transition: transform .5s cubic-bezier(.2,.7,.2,1), box-shadow .5s ease; }
.tilt:hover { transform: perspective(900px) rotateX(2deg) rotateY(-2deg) translateY(-6px); }

.cta-sheen { position:relative; overflow:hidden; }
.cta-sheen::before { content:""; position:absolute; inset:0; background:linear-gradient(120deg, transparent 30%, rgba(255,255,255,.55) 50%, transparent 70%); transform: translateX(-120%); transition: transform .8s ease; }
.cta-sheen:hover::before { transform: translateX(120%); }

.brand-word { position:relative; overflow:hidden; }
.brand-word::after { content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); transform:scaleX(0); transform-origin:left; transition: transform .5s ease; }
.brand-word:hover::after { transform:scaleX(1); }

/* ==== Layout helpers ==== */
.wrap { max-width: 80rem; margin: 0 auto; padding: 0; }
@media (min-width:640px){ .wrap { padding: 0; } }
@media (min-width:1024px){ .wrap { padding: 0; } }

/* progress bar */
.progress { position:fixed; top:0; left:0; right:0; height:3px; z-index:60; pointer-events:none; }
.progress > span { display:block; height:100%; width:0%; transition: width .1s linear; }

/* header */
.header { position:fixed; top:0; left:0; right: var(--scrollbar-width, 0); z-index:50; transition: all .5s; background: rgba(15,31,11,.95); backdrop-filter: blur(20px); box-shadow: 0 10px 30px -15px rgba(0,0,0,.5); border-bottom:1px solid rgba(212,177,106,.2); padding: 0 1.25rem; }
@media (min-width:768px){ .header { padding: 0 2rem; } }
@media (min-width:1024px){ .header { padding: 0 2.5rem; } }
.header.scrolled { background: rgba(15,31,11,.95); backdrop-filter: blur(20px); box-shadow: 0 10px 30px -15px rgba(0,0,0,.5); border-bottom:1px solid rgba(212,177,106,.2); }
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:.75rem; height:76px; transition: height .3s; position:relative; }
.header.scrolled .header-inner { height:64px; }
@media (min-width:1024px){ .header-inner { height:96px; } .header.scrolled .header-inner { height:76px; } }
.brand { background:transparent; border:0; display:flex; min-width:0; align-items:center; gap:.6rem; color:var(--cream); cursor:pointer; padding: 0; margin-left: calc(-1.5rem - 11px); }
@media (min-width:768px){ .brand { margin-left: -61px; } }
.brand-block { min-width:0; line-height:1; display:flex; align-items:baseline; gap:.6rem; }
.brand-title { font-family:'Poppins', sans-serif; font-weight:700; font-size:19px; letter-spacing:.26em; }
@media (min-width:768px){ .brand-title { font-size:23px; } }
.brand-dot { display:none; width:4px; height:4px; border-radius:999px; background:var(--gold); animation: pulse 2s infinite; }
@media (min-width:768px){ .brand-dot { display:inline-block; } .brand-sub { display:block; } }
.brand-sub { display:none; font-family:'Poppins', sans-serif; font-size:11px; color: rgba(212,177,106,.85); letter-spacing:.36em; text-transform:uppercase; }
@keyframes pulse { 0%,100%{opacity:1} 50%{opacity:.4} }
.nav-desktop { display:none; align-items:center; gap:1.75rem; margin-right:.75rem; }
@media (min-width:1024px){ .nav-desktop { display:flex; } }
.cta-pill { display:none; align-items:center; gap:.375rem; padding:.58rem .85rem .58rem 1.15rem; border-radius:9999px; color:var(--ink); font-weight:600; font-size:14.5px; border:0; cursor:pointer; box-shadow: 0 10px 25px -10px rgba(212,177,106,.6); transition: transform .3s; }
.cta-pill:hover { transform: scale(1.05); }
@media (min-width:640px){ .cta-pill { display:inline-flex; } }
.cta-pill .arrow-wrap { width:24px; height:24px; border-radius:9999px; background: rgba(26,47,20,.15); display:flex; align-items:center; justify-content:center; }
.menu-btn { display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; color:var(--cream); cursor:pointer; margin-left:.25rem; }
@media (min-width:1024px){ .menu-btn { display:none; } }
.mobile-menu { display:none; background: rgba(15,31,11,.95); backdrop-filter: blur(20px); border-top:1px solid rgba(212,177,106,.15); }
.mobile-menu.open { display:block; }
.mobile-menu .inner { padding:1rem 1.25rem; display:flex; flex-direction:column; gap:.25rem; }
.mobile-link { text-align:left; padding:.625rem 0; font-size:15px; border-bottom:1px solid rgba(255,255,255,.05); font-weight:500; display:flex; align-items:center; justify-content:space-between; background:transparent; border-top:0; border-left:0; border-right:0; color:var(--cream); cursor:pointer; }
.mobile-link.is-active { color:var(--gold); }
.mobile-cta { background: linear-gradient(135deg,var(--gold2),var(--gold) 45%,var(--gold3)); color:var(--ink); padding:.75rem 1.25rem; border-radius:9999px; font-weight:600; text-align:center; margin-top:.75rem; display:inline-flex; align-items:center; justify-content:center; gap:.5rem; border:0; cursor:pointer; }

/* Hero */
.hero { position:relative; min-height:100svh; display:flex; align-items:center; justify-content:center; overflow:hidden; background: linear-gradient(rgba(15, 31, 11, 0.58), rgba(15, 31, 11, 0.68)), url('images/hero-pdf.jpg') no-repeat center center; background-size: cover; }
@media (max-width: 768px) {
  .hero {
    min-height: auto;
    background: none;
    display: block;
  }
}
.hero-video-wrapper {
  position: absolute;
  top: 76px;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  .hero-video-wrapper {
    position: relative;
    top: 0;
    margin-top: 76px;
    height: auto;
    bottom: auto;
  }
}
@media (min-width: 1024px) {
  .hero-video-wrapper {
    top: 96px;
  }
}
.hero-video-box {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow: hidden;
  border: none;
  box-shadow: none;
  background: #000;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .hero-video-box {
    background: none;
  }
}
.hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(1.18) contrast(1.08) saturate(1.1);
}
@media (max-width: 768px) {
  .hero-video {
    object-fit: cover;
    height: auto;
  }
}
.hero-inner { position:relative; z-index:10; text-align:center; padding: 0 1.25rem; max-width:56rem; }
.hero-badge { display:inline-flex; align-items:center; gap:.625rem; background: rgba(26,47,20,.7); backdrop-filter: blur(12px); border:1px solid rgba(212,177,106,.4); padding:.375rem 1rem; border-radius:9999px; color:var(--cream); font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; margin-bottom:1.25rem; letter-spacing:.32em; }
@media (min-width:768px){ .hero-badge { font-size:11px; } }
.hero-badge .d { width:4px; height:4px; border-radius:9999px; background:var(--gold); animation: pulse 2s infinite; }
.hero h1 { font-family:'Poppins', sans-serif; font-weight:500; color:#fff; font-size: 3.75rem; line-height:.9; margin:0; text-shadow: 0 10px 40px rgba(0,0,0,.5); }
@media (min-width:640px){ .hero h1 { font-size: 4.5rem; } }
@media (min-width:768px){ .hero h1 { font-size: 7.5rem; } }
.hero-orn { margin-top:1rem; display:flex; align-items:center; justify-content:center; gap:.75rem; color:var(--gold); }
.hero-orn .lne { height:1px; width:32px; background: rgba(212,177,106,.6); display:inline-block; }
.hero-orn .diamond { width:6px; height:6px; transform:rotate(45deg); background:var(--gold); display:inline-block; }
.hero-tag { margin-top:.75rem; color: rgba(255,255,255,.95); font-family:'Poppins', sans-serif; font-style:italic; font-size:1rem; }
@media (min-width:768px){ .hero-tag { font-size:1.25rem; } }
.hero-kicker { margin-top:.375rem; color: rgba(255,255,255,.7); font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; letter-spacing:.28em; }
@media (min-width:768px){ .hero-kicker { font-size:11px; } }
.hero-cta { margin-top:2rem; display:flex; align-items:center; justify-content:center; }
.btn-primary { display:inline-flex; align-items:center; gap:.5rem; padding:.75rem 1.75rem; border-radius:9999px; color:var(--ink); font-weight:600; font-size:14px; border:0; cursor:pointer; box-shadow: 0 20px 50px -15px rgba(212,177,106,.7); transition: transform .3s; }
.btn-primary:hover { transform: scale(1.05); }
.hero-badges { margin-top:2rem; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.5rem; color: rgba(255,255,255,.9); font-size:10px; }
@media (min-width:768px){ .hero-badges { font-size:12px; } }
.pill-badge { padding:.25rem .875rem; border-radius:9999px; border:1px solid rgba(212,177,106,.4); background: rgba(255,255,255,.08); backdrop-filter: blur(12px); font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; letter-spacing:.15em; }
.scroll-hint { position:absolute; bottom:1.5rem; left:50%; transform:translateX(-50%); color: rgba(255,255,255,.7); font-size:10px; font-family:'Poppins', sans-serif; font-weight:600; letter-spacing:.35em; }

/* Section head */
.section { position:relative; padding: 1.5rem 1.25rem; }
@media (min-width:768px){ .section { padding: 2.25rem 2rem; } }
@media (min-width:1024px){ .section { padding: 2.75rem 2.5rem; } }
.section-inner { max-width:80rem; margin:0 auto; }
.section-head h2 { font-family:'Poppins', sans-serif; font-weight:700; font-size:1.875rem; letter-spacing:.04em; line-height:.95; margin: .625rem 0 0; }
@media (min-width:640px){ .section-head h2 { font-size:2.25rem; } }
@media (min-width:768px){ .section-head h2 { font-size:3rem; } }
.kicker { font-family:'Poppins', sans-serif; font-weight:600; font-size:11px; letter-spacing:.28em; }

/* About */
.about-grid { display:grid; gap:2rem; align-items:start; margin-top:1.5rem; }
@media (min-width:1024px){ .about-grid { grid-template-columns: 1fr 1fr; gap:3rem; margin-top:2rem; } }
.about p { font-size:15px; line-height:1.7; color: rgba(26,47,20,.85); }
@media (min-width:768px){ .about p { font-size:16px; } }
.stat-row { margin-top:2rem; display:grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap:.75rem; width:100%; box-sizing:border-box; }
.stat-row .stat:last-child { grid-column: 1 / -1; width: calc(50% - 0.375rem); margin: 0 auto; }
@media (min-width:1024px){ 
  .stat-row { grid-template-columns: repeat(3, minmax(0, 1fr)); } 
  .stat-row .stat:last-child { grid-column: auto; width: 100%; margin: 0; }
}
.stat { position:relative; text-align:center; background:var(--ink); color:var(--cream); border-radius:1rem; padding:.875rem .25rem; border:1px solid rgba(212,177,106,.2); overflow:hidden; min-width:0; box-sizing:border-box; }
@media (min-width:768px){ .stat { padding: 1.75rem 0; } }
.stat::before { content:""; position:absolute; left:0; right:0; top:0; height:1px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.stat .n { font-family:'Poppins', sans-serif; font-weight:700; font-size:1.25rem; line-height:1; }
@media (min-width:768px){ .stat .n { font-size:2.85rem; } }
.stat .u { font-family:'Poppins', sans-serif; font-weight:600; font-size:8.5px; margin-top:.25rem; letter-spacing:.12em; opacity:.85; word-break:break-word; }
@media (min-width:768px){ .stat .u { font-size:12px; margin-top:.5rem; letter-spacing:.22em; } }

.collage { position:relative; width:100%; overflow:hidden; }
.collage-grid { display:flex; flex-direction:column; gap:.75rem; width:100%; box-sizing:border-box; }
.collage-cell { position:relative; overflow:hidden; border-radius:1rem; width:100%; }
.collage-cell img { width:100%; height:100%; object-fit:cover; display:block; transition: transform .7s; }
.collage-cell:hover img { transform: scale(1.05); }
/* Mobile: all cells stack, fixed heights */
.cc-1 { aspect-ratio: 16/9; }
.cc-2, .cc-3 { aspect-ratio: 4/3; }
.cc-4 { aspect-ratio: 16/9; }
/* Tablet+ side by side for cc-2/cc-3 */
@media (min-width:480px){
  .collage-grid { display:grid; grid-template-columns: repeat(2,1fr); }
  .cc-1 { grid-column: span 2; }
  .cc-2 { grid-column: span 1; }
  .cc-3 { grid-column: span 1; }
  .cc-4 { grid-column: span 2; }
}

@media (min-width:768px){
  .collage { overflow: visible; }
  .collage-grid { display:grid; grid-template-columns: repeat(6,1fr); grid-template-rows: repeat(6,1fr); height:460px; }
  .collage-cell { aspect-ratio: auto; }
  .cc-1 { grid-column: span 4; grid-row: span 3; aspect-ratio: auto; }
  .cc-2 { grid-column: span 2; grid-row: span 3; }
  .cc-3 { grid-column: span 3; grid-row: span 3; }
  .cc-4 { grid-column: span 3; grid-row: span 3; aspect-ratio: auto; }
}
.gbda-badge { position:static; color:var(--ink); padding: .75rem 1.25rem; border-radius:.75rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.25); display: flex; flex-direction: row; gap: 2rem; align-items: center; flex-wrap: wrap; margin-top: 1rem; width: 100%; box-sizing: border-box; }
@media (min-width:768px){ 
  .gbda-badge { position:absolute; bottom:-1.5rem; right:0rem; padding: 1rem 1.75rem; border-radius:1rem; flex-direction: row; gap: 3.5rem; align-items: center; margin-top:0; width:auto; z-index:5; }
  .rera-badge { bottom: 5.5rem; }
}
.gbda-badge .lbl { font-family:'Poppins', sans-serif; font-weight:600; font-size:8px; letter-spacing:.28em; opacity:.85; }
@media (min-width:768px){ .gbda-badge .lbl { font-size:10px; } }
.gbda-badge .no  { font-family:'Poppins', sans-serif; font-size:12px; margin-top:.125rem; letter-spacing:.04em; word-break:break-all; }
@media (min-width:768px){ .gbda-badge .no { font-size:14px; margin-top:.25rem; word-break:normal; } }

/* Amenities */
.dark { background: var(--ink); color: var(--cream); }
.amen-grid { display:grid; grid-template-columns: repeat(1,1fr); gap:1rem 2rem; margin-top:1.5rem; list-style:none; padding:0; }
@media (min-width:640px){ .amen-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px){ .amen-grid { grid-template-columns: repeat(3,1fr); } }
.amen-grid li { display:flex; align-items:center; gap:.75rem; font-size:16px; color:rgba(253,248,232,.9); font-weight:500; }
.amen-grid li::before { content:""; width:6px; height:6px; border-radius:9999px; background:var(--gold); flex-shrink:0; }

.specs-wrap { margin-top:2rem; display:grid; gap:2rem; align-items:center; }
@media (min-width:1024px){ .specs-wrap { grid-template-columns: 1fr auto; } }
.rule { display:flex; align-items:center; gap:1rem; margin-bottom:1.5rem; }
.rule .l { height:1px; width:2rem; background: var(--gold); }
.rule h3 { color: var(--gold); font-family:'Poppins', sans-serif; font-weight:600; font-size:14px; letter-spacing:.28em; margin:0; }
@media (min-width:768px){ .rule h3 { font-size:16px; } }
.rule .l-flex { height:1px; flex:1; background: rgba(212,177,106,.25); }
.rule.dark-rule .l, .rule.dark-rule .l-flex { background: rgba(139,74,43,.5); }
.rule.dark-rule .l { background: var(--clay); }
.rule.dark-rule h3 { color: var(--ink); font-family:'Poppins', sans-serif; font-weight:700; font-size:1.25rem; letter-spacing:.04em; }
@media (min-width:768px){ .rule.dark-rule h3 { font-size:1.5rem; } }
.spec-list { display:grid; gap:.625rem; }
@media (min-width:640px){ .spec-list { grid-template-columns: 1fr 1fr; } }
.spec-item { display:flex; align-items:center; gap:.75rem; background: rgba(255,255,255,.04); border-radius:.75rem; padding:.75rem 1rem; border:1px solid rgba(255,255,255,.1); font-size:13.5px; }
.spec-item:hover { border-color: rgba(212,177,106,.5); }
.spec-item .chk { color: var(--gold); flex-shrink:0; }
.spec-photo { position:relative; display:none; width:14rem; height:18rem; border-radius:1rem; overflow:hidden; box-shadow: 0 0 0 1px rgba(212,177,106,.3); }
@media (min-width:1024px){ .spec-photo { display:block; } }
.spec-photo img { width:100%; height:100%; object-fit:cover; }
.spec-photo .fade { position:absolute; inset:0; background: linear-gradient(to top, rgba(15,31,11,.7), transparent); }
.spec-photo .tag { position:absolute; bottom:.75rem; left:.75rem; font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; letter-spacing:.25em; color: var(--gold); }

/* Layout & Location */
.two { display:grid; gap:1.5rem; margin-top:1.5rem; grid-template-columns: 1fr; }
@media (min-width:1024px){
  .two { grid-template-columns: 1.35fr 0.85fr; }
}
.frame { position:relative; overflow:hidden; border-radius:1.5rem; background:var(--ink); height: 100%; display: flex; flex-direction: column; width:100%; box-sizing:border-box; }
.layout-plan-frame { width: 100%; min-height: auto; }
.layout-plan-frame img { width:100%; height:auto; object-fit:cover; border:0; transition: transform .7s, filter .7s; display: block; max-width:100%; }
@media (min-width:1024px){
  .layout-plan-frame img { height: 100%; object-fit: cover; background: var(--ink); }
}
.frame iframe { width:100%; min-height:220px; height:220px; flex-grow: 1; border:0; transition: transform .7s, filter .7s; filter: grayscale(15%); }
@media (min-width:1024px){
  .frame iframe { min-height: 380px; height: 100%; }
}
.frame:hover iframe { filter: grayscale(0%); }
.frame .fade { position:absolute; inset:0; background: linear-gradient(to top, rgba(26,47,20,.7), transparent 50%); pointer-events:none; }
.frame .layout-tag { position:absolute; bottom:1rem; left:1rem; background:var(--cream); color:var(--ink); padding:.375rem .875rem; border-radius:9999px; font-family:'Poppins', sans-serif; font-weight:600; font-size:13px; }
.frame .layout-arrow { position:absolute; top:1rem; right:1rem; width:2.25rem; height:2.25rem; border-radius:9999px; background: rgba(255,255,255,.9); color:var(--ink); display:flex; align-items:center; justify-content:center; opacity:0; transition: opacity .3s; }
.frame:hover .layout-arrow { opacity:1; }
.map-tag { position:absolute; top:1rem; left:1rem; z-index:10; display:flex; align-items:center; gap:.5rem; background: rgba(15,31,11,.85); backdrop-filter: blur(12px); color:var(--cream); padding:.5rem 1rem; border-radius:9999px; border:1px solid rgba(212,177,106,.3); }
.map-tag .t { font-family:'Poppins', sans-serif; font-weight:600; font-size:11px; letter-spacing:.22em; }
.map-open { position:absolute; top:1rem; right:1rem; z-index:10; display:inline-flex; align-items:center; gap:.375rem; color:var(--ink); padding:.5rem .875rem; border-radius:9999px; font-weight:600; font-size:12px; box-shadow: 0 10px 25px -10px rgba(0,0,0,.35); transition: transform .3s; }
.map-open:hover { transform: scale(1.05); }
.frame .ring-in { position:absolute; inset:0; pointer-events:none; box-shadow: inset 0 0 0 1px rgba(212,177,106,.3); border-radius:1.5rem; }

.rule-block { margin-top:2rem; }
.rule-block.big { margin-top:2rem; }

/* ===== Proximities — bullet list ===== */
.prox-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: .5rem;
}
@media (min-width:640px){ .prox-list { grid-template-columns: repeat(2,1fr); gap:.625rem .875rem; } }
@media (min-width:1024px){ .prox-list { grid-template-columns: repeat(2,1fr); } }

.prox-item {
  display:flex;
  align-items:center;
  gap:.75rem;
  padding:.5rem 0;
  transition: transform .3s;
}
.prox-item:hover { transform: translateX(4px); }
.prox-item::before {
  content:"";
  width:6px; height:6px;
  border-radius:9999px;
  background: var(--gold);
  flex-shrink:0;
}
.prox-icn {
  display:none;
}
.prox-lbl {
  font-weight:500;
  color:var(--ink);
  font-size:15px;
  line-height:1.35;
}
.prox-time {
  display:flex; align-items:center; gap:.25rem;
  font-size:11px;
  color:var(--clay);
  font-family:'Poppins', sans-serif; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
  white-space:nowrap;
  flex-shrink:0;
}

.reasons { display:grid; grid-template-columns:1fr; gap:1rem; }
@media (min-width:768px){ .reasons { grid-template-columns: repeat(2,1fr); } }
@media (min-width:1024px){ .reasons { grid-template-columns: repeat(3,1fr); } }
.reason-card { position:relative; background:#fff; border:1px solid rgba(26,47,20,.1); border-radius:1rem; padding:1.5rem; overflow:hidden; transition: border-color .3s, box-shadow .3s, transform .35s; }
.reason-card:hover { border-color: var(--gold); box-shadow: 0 25px 50px -25px rgba(26,47,20,.4); }
.reason-card .num { position:absolute; top:-1rem; right:-.25rem; font-family:'Poppins', sans-serif; font-weight:700; font-size:5rem; line-height:1; color: rgba(212,177,106,.25); user-select:none; }
.reason-card h4 { margin: .875rem 0 0; font-family:'Poppins', sans-serif; font-weight:700; font-size:15px; color:var(--ink); letter-spacing:.04em; position:relative; }
@media (min-width:768px){ .reason-card h4 { font-size:16px; } }
.reason-card p { margin: .5rem 0 0; font-size:13px; color: rgba(26,47,20,.75); line-height:1.6; position:relative; }

/* ============ Gallery — premium bento grid ============ */
.gallery-grid {
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  grid-auto-rows: 150px;
  grid-auto-flow: dense;
  gap: .875rem;
  margin-top: 1.5rem;
}
@media (min-width:640px){
  .gallery-grid { grid-template-columns: repeat(4, 1fr); grid-auto-rows: 130px; gap: 1rem; }
}
@media (min-width:1024px){
  .gallery-grid { grid-auto-rows: 155px; gap: 1.15rem; }
}

.g-cell {
  position:relative;
  grid-column: span 1;
  grid-row: span 1;
  overflow:hidden;
  border-radius: 1.25rem;
  background: var(--ink2);
  border:0;
  padding:0;
  cursor: zoom-in;
  box-shadow: 0 0 0 1px rgba(255,255,255,.08);
  transition: box-shadow .4s ease, transform .45s cubic-bezier(.2,.7,.2,1);
}
.g-cell:hover {
  box-shadow: 0 0 0 1.5px rgba(212,177,106,.65), 0 28px 55px -22px rgba(0,0,0,.55);
  transform: translateY(-4px);
  z-index: 2;
}
.g-cell.g-big  { grid-column: span 2; grid-row: span 2; }
.g-cell.g-wide { grid-column: span 2; grid-row: span 1; }
.g-cell.g-tall { grid-column: span 1; grid-row: span 2; }
@media (max-width:639px){
  .gallery-grid { grid-auto-rows: auto !important; }
  .g-cell { aspect-ratio: 4/3; height: auto !important; grid-row: span 1 !important; }
  .g-cell.g-big, .g-cell.g-wide { grid-column: span 2; }
  .g-cell.g-tall { grid-row: span 1 !important; }
  .g-cell.g-map-cell {
    grid-column: span 2 !important;
    aspect-ratio: 16/9 !important;
    height: auto !important;
  }
}

.g-cell img {
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition: transform 1.1s cubic-bezier(.2,.7,.2,1), filter .5s ease;
  filter: saturate(1.02);
}
.g-cell.g-map-cell {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 1.25rem !important;
}
.g-cell.g-map-cell img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  border-radius: 1.25rem !important;
  background: transparent !important;
}
.g-cell:hover img { transform: scale(1.09); }

.g-cell .fade {
  position:absolute; inset:0;
  background: linear-gradient(to top, rgba(10,20,8,.88) 0%, rgba(10,20,8,.32) 38%, rgba(10,20,8,0) 62%);
  opacity:.92;
  transition: opacity .4s ease;
  pointer-events:none;
}
.g-cell:hover .fade { opacity:1; }

.g-cell .g-idx {
  position:absolute; top:.75rem; left:.85rem;
  font-family:'Poppins', sans-serif; font-weight:700; font-size:10px; letter-spacing:.1em;
  color: rgba(253,248,232,.8);
  background: rgba(15,31,11,.55);
  backdrop-filter: blur(6px);
  border:1px solid rgba(212,177,106,.35);
  padding:.2rem .5rem;
  border-radius:9999px;
  opacity:0;
  transform: translateY(-4px);
  transition: opacity .35s ease, transform .35s ease;
}
.g-cell:hover .g-idx { opacity:1; transform:none; }

.g-cell .caption {
  position:absolute; bottom:0; left:0; right:0;
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:.5rem;
  padding: 1rem .95rem .9rem;
}
.g-cell .caption .txt { display:flex; flex-direction:column; gap:.2rem; min-width:0; }
.g-cell .caption .eyebrow {
  font-family:'Poppins', sans-serif; font-weight:600; font-size:8.5px; letter-spacing:.28em; text-transform:uppercase;
  color: rgba(212,177,106,.85);
}
.g-cell .caption .title {
  font-family:'Poppins', sans-serif; font-weight:400; font-size:13.5px; letter-spacing:.03em;
  color: var(--cream);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
@media (min-width:1024px){ .g-cell .caption .title { font-size:15px; } }
.g-cell.g-big .caption .title, .g-cell.g-wide .caption .title { font-size:17px; }
@media (min-width:1024px){ .g-cell.g-big .caption .title, .g-cell.g-wide .caption .title { font-size:19px; } }

.g-cell .g-arrow {
  flex-shrink:0;
  width:2rem; height:2rem;
  border-radius:9999px;
  background: var(--gold);
  color: var(--ink);
  display:flex; align-items:center; justify-content:center;
  opacity:0;
  transform: scale(.7) rotate(-25deg);
  transition: opacity .35s ease, transform .35s cubic-bezier(.2,.7,.2,1);
  box-shadow: 0 8px 20px -6px rgba(0,0,0,.5);
}
.g-cell:hover .g-arrow { opacity:1; transform:none; }

/* Contact */
.contact-grid { display:grid; gap:1.5rem; margin-top:1.5rem; }
@media (min-width:1024px){ .contact-grid { grid-template-columns: repeat(5,1fr); } }
.form-card { grid-column: auto; position:relative; background:var(--ink); border-radius:1.5rem; padding:1.75rem; color:var(--cream); overflow:hidden; }
@media (min-width:1024px){ .form-card { grid-column: span 3; padding:2.25rem; } }
.form-card .blob { position:absolute; top:-6rem; right:-6rem; width:16rem; height:16rem; border-radius:9999px; background: rgba(212,177,106,.1); filter: blur(48px); }
.form-card .k { font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; letter-spacing:.28em; color:var(--gold); margin-bottom:.5rem; position:relative; }
.form-card h3 { position:relative; font-family:'Poppins', sans-serif; font-weight:700; font-size:1.5rem; margin:0 0 .375rem; letter-spacing:.04em; }
@media (min-width:768px){ .form-card h3 { font-size:1.875rem; } }
.form-card p.lead { position:relative; font-size:13px; opacity:.8; margin: 0 0 1.25rem; }
.form-card form { position:relative; display:flex; flex-direction:column; gap:.875rem; }
.field { display:block; }
.field label { display:block; font-size:13px; font-weight:500; margin-bottom:.25rem; }
.field input, .field textarea { width:100%; box-sizing:border-box; background: rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.2); border-radius:.75rem; padding:.625rem .875rem; font-size:14px; color:var(--cream); transition: border-color .3s; font-family:'Poppins', sans-serif; }
.field input::placeholder, .field textarea::placeholder { color: rgba(255,255,255,.4); }
.field input:focus, .field textarea:focus { outline:none; border-color: var(--gold); }
.field .req { color: var(--gold); }
.row2 { display:grid; grid-template-columns:1fr; gap:.875rem; }
@media (min-width:640px){ .row2 { grid-template-columns:1fr 1fr; } }
.form-submit { display:flex; align-items:center; justify-content:center; gap:.5rem; width:100%; color:var(--ink); font-weight:600; padding:.75rem 0; border-radius:9999px; border:0; font-size:14px; cursor:pointer; box-shadow: 0 15px 35px -10px rgba(212,177,106,.6); transition: transform .3s; }
.form-submit:hover { transform: scale(1.01); }
.sent-note { text-align:center; font-size:13px; color:var(--gold); }
.contact-side { display:flex; flex-direction:column; gap:1rem; }
@media (min-width:1024px){ .contact-side { grid-column: span 2; } }
.contact-card { display:flex; gap:.875rem; background:#fff; border:1px solid rgba(26,47,20,.1); border-radius:1rem; padding:1rem; transition: border-color .3s, transform .35s; }
.contact-card:hover { border-color: rgba(212,177,106,.5); }
.contact-card .ic { width:2.5rem; height:2.5rem; border-radius:9999px; background:var(--ink); color:var(--gold); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.contact-card .t { font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; color:var(--clay); margin-bottom:.25rem; letter-spacing:.25em; text-transform:uppercase; }
.contact-card .v { color:var(--ink); font-weight:500; font-size:13.5px; }
.contact-card .v a { display:block; }
.contact-card .v a:hover { color:var(--clay); }
.side-map { border-radius:1rem; overflow:hidden; border:2px solid rgba(26,47,20,.1); height:13rem; }
.side-map iframe { width:100%; height:100%; border:0; }

/* Footer */
footer { position:relative; background: var(--ink2); color: rgba(253,248,232,.8); padding: 0.5rem 1.25rem 2rem; overflow:hidden; }
@media (min-width:768px){ footer { padding: 4rem 2rem 2rem; } }
@media (min-width:1024px){ footer { padding: 4rem 2.5rem 2rem; } }
footer .bg-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:.06; }
footer .topline { position:absolute; inset-inline:0; top:0; height:1px; background: linear-gradient(90deg, transparent, rgba(212,177,106,.4), transparent); pointer-events:none; }
.footer-hero { position:relative; max-width:80rem; margin:0 auto 3rem; display:grid; gap:1.5rem; }
@media (min-width:768px){ .footer-hero { grid-template-columns: 2fr 1fr; } }
.footer-hero h2 { font-family:'Poppins', sans-serif; font-weight:700; font-size:1.5rem; color:var(--cream); letter-spacing:.04em; line-height:1.15; margin:0; }
@media (min-width:768px){ .footer-hero h2 { font-size:1.875rem; } }
.footer-hero p { margin-top:.75rem; font-size:13px; line-height:1.7; max-width:48rem; }
.approvals-card { border-radius:1rem; border:1px solid rgba(212,177,106,.25); background: rgba(255,255,255,.03); padding:1rem; }
.approvals-card .k { font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; color:var(--gold); letter-spacing:.28em; margin-bottom:.5rem; }
.chip-row { display:flex; flex-wrap:wrap; gap:.5rem; }
.chip { font-size:10.5px; font-family:'Poppins', sans-serif; font-weight:600; letter-spacing:.15em; padding:.25rem .625rem; border-radius:9999px; border:1px solid rgba(212,177,106,.4); background: rgba(212,177,106,.05); }
.approvals-card .no { margin-top:.75rem; font-size:11px; opacity:.75; }

.footer-cols { position:relative; max-width:80rem; margin:0 auto; display:grid; gap:2.5rem; grid-template-columns: 1fr 1fr; }
.footer-cols > div:first-child, .footer-cols > div:last-child { grid-column: 1 / -1; }
@media (min-width:768px){
  .footer-cols { grid-template-columns: repeat(4,1fr); }
  .footer-cols > div:first-child, .footer-cols > div:last-child { grid-column: span 1; }
}
.footer-brand { display:flex; align-items:center; gap:.6rem; }
.footer-brand .t { font-family:'Poppins', sans-serif; font-size:18px; letter-spacing:.24em; color: var(--cream); }
.footer-brand .d { width:4px; height:4px; border-radius:9999px; background:var(--gold); }
.footer-brand .s { font-family:'Poppins', sans-serif; font-weight:600; font-size:10px; color: rgba(212,177,106,.8); letter-spacing:.34em; text-transform:uppercase; display: block; line-height: 1.2; }
.footer-blurb { margin-top:1rem; font-size:13px; line-height:1.7; }
.footer-blurb .brand { font-family:'Poppins', sans-serif; color:var(--gold); letter-spacing:.04em; }
.socials { margin-top:0.5rem; display:flex; gap:.625rem; }
.social { width:2.5rem; height:2.5rem; border-radius:9999px; background: rgba(255,255,255,.1); color: var(--cream); display:flex; align-items:center; justify-content:center; transition: background .3s, color .3s; }
.social:hover { background:var(--gold); color:var(--ink); }
.col h4 { font-family:'Poppins', sans-serif; font-weight:600; font-size:11px; color:var(--gold); margin: 0 0 .75rem; letter-spacing:.28em; }
.col ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:.5rem; font-size:13px; }
.col ul li a, .col ul li button { display:inline-flex; align-items:center; gap:.25rem; background:transparent; border:0; color:inherit; cursor:pointer; padding:0; font:inherit; transition: color .3s; }
.col ul li a:hover, .col ul li button:hover { color: var(--gold); }
.col .hi { display:flex; align-items:flex-start; gap:.5rem; }
.col .hi svg { color: var(--gold); flex-shrink:0; margin-top:3px; }
.contact-list { display:flex; flex-direction:column; gap:.625rem; font-size:13px; }
.contact-list a, .contact-list div { display:flex; align-items:center; gap:.5rem; transition: color .3s; }
.contact-list a:hover { color: var(--gold); }

.footer-bottom { position:relative; max-width:80rem; margin:3rem auto 0; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.1); display:flex; flex-direction:column; gap:.75rem; justify-content:space-between; font-size:11px; opacity:.6; }
@media (min-width:768px){ .footer-bottom { flex-direction:row; } }
.footer-bottom .r { max-width:48rem; text-align:left; }
@media (min-width:768px){ .footer-bottom .r { text-align:right; } }
.footer-credit { position:relative; max-width:80rem; margin:1rem auto 0; text-align:center; font-size:11px; letter-spacing:.28em; font-family:'Poppins', sans-serif; font-weight:600; text-transform:uppercase; color: rgba(253,248,232,.5); }
.footer-credit a { color: var(--gold); transition: color .3s; }
.footer-credit a:hover { color: #f0d78c; }

/* Footer brand column layout */
.footer-brand-top {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  position: relative;
  z-index: 5;
  margin-top: -55px;
  margin-bottom: 1.25rem;
}
.footer-brand-desktop-wrap {
  display: none;
}
@media (min-width:768px){
  .footer-brand-top {
    display: none;
  }
  .footer-brand-desktop-wrap {
    display: block;
  }
}

.footer-brand-col {
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  margin-top: 0;
  width: 100%;
}
.footer-logo-img {
  width: clamp(120px, 40vw, 220px);
  height: auto;
  margin: 0;
  margin-left: calc(-1.5rem - 11px);
}
.footer-slogan {
  font-family: 'Poppins', sans-serif;
  font-weight: 600;
  font-size: 10px;
  color: rgba(212,177,106,.8);
  letter-spacing: .34em;
  text-transform: uppercase;
  display: block;
  line-height: 1.4;
  margin-top: -56px;
  margin-left: 0;
  text-align: left;
}
.footer-ig-badge {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  margin-top: .75rem;
  padding: .3rem .75rem;
  border-radius: 9999px;
  background: rgba(212,177,106,.12);
  border: 1px solid rgba(212,177,106,.35);
  color: var(--gold);
  font-family: 'Poppins', sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  text-decoration: none;
  transition: background .3s, color .3s, transform .3s;
}
.footer-ig-badge:hover {
  background: var(--gold);
  color: var(--ink);
  transform: translateY(-2px);
}
@media (min-width:768px){
  .footer-brand-col { margin-top: -65px; align-items: flex-start; }
  .footer-logo-img { width: 220px; margin: 0; margin-left: -61px; }
  .footer-slogan { margin-top: -66px; margin-left: 0; font-size: 11px; text-align: left; }
  .footer-ig-badge { margin-left: 0; margin-top: .5rem; }
}

/* Collage mobile fix - prevent badge from overflowing */
@media (max-width:767px){
  .collage { overflow: hidden; }
  .collage-grid { margin-bottom: 1rem; }
}

/* WhatsApp float */
.wa-float { position:fixed; bottom:1.25rem; right:1.25rem; z-index:40; display:flex; align-items:center; justify-content:center; width:3.5rem; height:3.5rem; border-radius:9999px; background:#25D366; color:#fff; box-shadow: 0 25px 50px -12px rgba(0,0,0,.3); transition: transform .3s; }
.wa-float:hover { transform: scale(1.1); }

/* Lightbox */
.lightbox { position:fixed; inset:0; z-index:60; background: rgba(0,0,0,.9); display:none; align-items:center; justify-content:center; padding:1.25rem; cursor:zoom-out; }
.lightbox.open { display:flex; }
.lightbox img { max-width:100%; max-height:100%; border-radius:.75rem; box-shadow: 0 25px 50px -12px rgba(0,0,0,.5); }
.lightbox .close { position:absolute; top:1.25rem; right:1.25rem; background:transparent; border:0; color:#fff; cursor:pointer; }

.svg-icon { width:1em; height:1em; display:inline-block; }

/* Utility text tweaks */
.strong-serif { font-family:'Poppins', sans-serif; letter-spacing:.06em; color:var(--ink); }

/* ============ Gloss finish (site-wide) ============ */
@keyframes glossDrift { 0%{background-position:0% 0%} 50%{background-position:100% 50%} 100%{background-position:0% 100%} }

.section, .hero { position:relative; isolation:isolate; }

/* Soft light sheen — sweeps top-left to bottom-right */
.section::before, .hero::before {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(1200px 500px at 12% -10%, rgba(255,255,255,.14), transparent 60%),
    radial-gradient(900px 420px at 100% 110%, rgba(255,255,255,.08), transparent 60%),
    linear-gradient(120deg, rgba(255,255,255,.06) 0%, rgba(255,255,255,0) 35%, rgba(255,255,255,0) 65%, rgba(255,255,255,.05) 100%);
  background-size: 200% 200%;
  animation: glossDrift 18s ease-in-out infinite;
  mix-blend-mode: screen;
}

/* Warmer gloss over dark sections (green) */
.section.dark::before {
  background:
    radial-gradient(1200px 520px at 10% -10%, rgba(212,177,106,.18), transparent 60%),
    radial-gradient(900px 420px at 110% 110%, rgba(232,201,136,.10), transparent 60%),
    linear-gradient(120deg, rgba(255,255,255,.05) 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,0) 60%, rgba(212,177,106,.06) 100%);
  background-size: 200% 200%;
  mix-blend-mode: screen;
}

/* Fine specular hairline at the top of every section */
.section::after {
  content:""; position:absolute; left:0; right:0; top:0; height:1px; pointer-events:none; z-index:1;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
  opacity:.35;
}
.section.dark::after { background: linear-gradient(90deg, transparent, rgba(212,177,106,.55), transparent); opacity:.5; }

/* Keep actual content above the gloss — target content containers only,
   never override absolutely-positioned overlays like .hero-img / .hero-shade / .corner */
.section > .section-inner,
.section > .section-head,
.hero > .hero-inner,
.hero > .scroll-hint { z-index:3; }

/* Glossy card surfaces */
.amen-card, .prox-item, .reason-card, .form-card, .frame, .spec-photo, .map-tag, .gbda-badge, .g-cell, .stat, .pill-badge, .cta-pill, .btn-primary {
  position:relative; overflow:hidden;
}
.amen-card::after, .reason-card::after, .form-card::after,
.frame::after, .spec-photo::after, .gbda-badge::after, .stat::after {
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:
    linear-gradient(160deg, rgba(255,255,255,.28) 0%, rgba(255,255,255,.06) 22%, rgba(255,255,255,0) 45%),
    linear-gradient(20deg, rgba(255,255,255,0) 55%, rgba(255,255,255,.09) 85%, rgba(255,255,255,.18) 100%);
  mix-blend-mode: screen;
  opacity:.75;
}

/* Gloss sweep on primary buttons/pills */
.btn-primary::before, .cta-pill::before, .pill-badge::before {
  content:""; position:absolute; top:0; bottom:50%; left:0; right:0; pointer-events:none;
  background: linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,255,255,0));
  border-radius:inherit; opacity:.65;
}

/* Hero glass polish */
.hero::after {
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background: radial-gradient(60% 40% at 50% 0%, rgba(255,255,255,.18), transparent 70%);
  mix-blend-mode: screen;
}
