:root{--ink:#1A1D1B;--paper:#F6F4EF;--navy:#0D1B2A;--navy2:#152236;--gold:#B8960C;--gold-light:#D4AF37;--cream:#F0EBE0;--line:rgba(26,29,27,0.13);}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--paper);color:var(--ink);font-family:'Inter',sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;}
h1,h2,h3{font-family:'Fraunces',serif;}
.wrap{max-width:1140px;margin:0 auto;padding:0 28px;}
.tag{font-size:11.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:8px;display:block;}
h2{font-size:clamp(26px,3.4vw,36px);margin-bottom:20px;line-height:1.15;}
p{color:#3c3c38;font-size:15.5px;line-height:1.72;}
p+p{margin-top:14px;}
.topstrip{background:#0A1520;color:rgba(212,175,55,.85);font-size:11.5px;padding:8px 0;text-align:center;font-family:monospace;letter-spacing:.05em;}
header{padding:16px 0;border-bottom:1px solid rgba(212,175,55,.2);background:var(--navy);position:sticky;top:0;z-index:50;}
.hinner{display:flex;justify-content:space-between;align-items:center;gap:20px;}
.brand{font-family:'Fraunces',serif;font-size:17px;color:#F6F4EF;font-weight:600;line-height:1.2;text-decoration:none;display:inline-block;}
.brand small{display:block;font-size:10px;color:rgba(246,244,239,.5);font-family:'Inter',sans-serif;letter-spacing:.05em;margin-top:2px;}
.site-nav{display:flex;gap:20px;align-items:center;}
.site-nav a{color:rgba(246,244,239,.75);font-size:13px;font-weight:500;text-decoration:none;font-family:'Inter',sans-serif;transition:color .2s;white-space:nowrap;}
.site-nav a:hover{color:var(--gold-light);}
.site-search-wrap{position:relative;flex:1;max-width:320px;margin:0 16px;}
.site-search-input{width:100%;padding:12px 16px 12px 40px;background:rgba(255,255,255,.09);border:1.5px solid rgba(246,244,239,.25);color:#F6F4EF;font-size:14.5px;font-family:'Inter',sans-serif;border-radius:4px;transition:all .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D4AF37' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:12px center;background-size:17px;}
.site-search-input::placeholder{color:rgba(246,244,239,.45);}
.site-search-input:focus{outline:none;border-color:var(--gold-light);background-color:rgba(255,255,255,.14);box-shadow:0 0 0 3px rgba(212,175,55,.18);}
.site-search-results{display:none;position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:6px;max-height:400px;overflow-y:auto;z-index:200;box-shadow:0 16px 40px rgba(0,0,0,.28);}
.site-search-results.show{display:block;}
.ssr-item{display:flex;gap:12px;align-items:center;padding:12px 14px;text-decoration:none;border-bottom:1px solid var(--line);color:var(--ink);transition:background .12s;}
.ssr-item:last-child{border-bottom:none;}
.ssr-item:hover,.ssr-item.active{background:var(--cream);}
.ssr-item img,.ssr-item .ssr-noimg{width:52px;height:42px;object-fit:cover;background:var(--navy2);flex-shrink:0;border-radius:3px;}
.ssr-item > div{flex:1;min-width:0;}
.ssr-item .ssr-name{font-size:14px;font-weight:600;font-family:'Fraunces',serif;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ssr-item .ssr-name mark{background:rgba(212,175,55,.3);color:inherit;padding:0 1px;}
.ssr-item .ssr-loc{font-size:11.5px;color:#777;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.ssr-item .ssr-arrow{color:var(--gold);font-size:16px;flex-shrink:0;opacity:0;transition:opacity .15s;}
.ssr-item:hover .ssr-arrow,.ssr-item.active .ssr-arrow{opacity:1;}
.ssr-empty{padding:18px 14px;font-size:13.5px;color:#888;text-align:center;}
@media(max-width:900px){.site-nav{display:none;}.site-search-wrap{max-width:none;flex:1;}}
@media(max-width:640px){.site-search-wrap{order:3;max-width:none;width:100%;margin:10px 0 0;flex-basis:100%;}.hinner{flex-wrap:wrap;}}

/* Bigger homepage "hero" search — separate from the compact header one */
.hero-search-block{max-width:640px;margin:0 auto 8px;position:relative;}
.hero-search-input{width:100%;padding:20px 24px 20px 54px;font-size:17px;border:2px solid var(--gold);border-radius:6px;font-family:'Inter',sans-serif;background:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B8960C' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.35-4.35'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:18px center;background-size:22px;box-shadow:0 8px 28px rgba(184,150,12,.15);transition:box-shadow .2s;}
.hero-search-input:focus{outline:none;box-shadow:0 8px 32px rgba(184,150,12,.28);}
.hero-search-input::placeholder{color:#999;}
#heroSiteSearchResults{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border:1px solid var(--line);border-radius:8px;max-height:420px;overflow-y:auto;z-index:200;box-shadow:0 20px 48px rgba(0,0,0,.2);display:none;}
#heroSiteSearchResults.show{display:block;}
#heroSiteSearchResults .ssr-item{padding:14px 18px;}
#heroSiteSearchResults .ssr-item img,#heroSiteSearchResults .ssr-item .ssr-noimg{width:62px;height:50px;}
#heroSiteSearchResults .ssr-item .ssr-name{font-size:15.5px;}
.cta{background:var(--gold);color:#0A1520;padding:10px 22px;font-weight:700;font-size:13px;text-decoration:none;border:none;cursor:pointer;display:inline-block;transition:background .2s;}
.cta:hover{background:var(--gold-light);}
.hero{background:var(--navy);color:#F6F4EF;padding:64px 0 0;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%, rgba(184,150,12,.08) 0%, transparent 60%);pointer-events:none;}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(212,175,55,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(212,175,55,.04) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;}
.hero-inner{position:relative;z-index:1;}
.eyebrow{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);margin-bottom:18px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--gold-light);}
.hero h1{font-size:clamp(34px,5.5vw,62px);line-height:1.04;max-width:760px;margin-bottom:16px;}
.hero h1 em{font-style:italic;color:var(--gold-light);}
.hero .lede{max-width:520px;color:rgba(246,244,239,.72);font-size:16px;margin-bottom:28px;}
.hcta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:52px;}
.ghost{border:1px solid rgba(212,175,55,.35);color:#F6F4EF;padding:13px 24px;font-size:13.5px;text-decoration:none;transition:border-color .2s;}
.ghost:hover{border-color:var(--gold);}
.specbar{border-top:1px solid rgba(212,175,55,.15);display:grid;grid-template-columns:repeat(5,1fr);}
.spec{padding:20px 20px;border-left:1px solid rgba(212,175,55,.1);}
.spec:first-child{border-left:none;padding-left:0;}
.spec .n{font-family:'Fraunces',serif;font-size:20px;color:var(--gold-light);}
.spec .l{font-size:10px;color:rgba(246,244,239,.48);text-transform:uppercase;margin-top:3px;letter-spacing:.05em;}
.ribbon{background:#F0E8D0;border-bottom:1px solid var(--line);font-size:13px;padding:9px 0;color:#5c5547;}
.debut-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(184,150,12,.15);border:1px solid rgba(184,150,12,.4);color:var(--gold-light);font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 14px;margin-bottom:20px;}
.debut-badge::before{content:"★";}
section{padding:68px 0;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:52px;}
.slider-wrap{background:#0D1B2A;padding:52px 0;}
.slider-box{position:relative;overflow:hidden;}
.slider-track{display:flex;transition:transform .5s cubic-bezier(.4,0,.2,1);will-change:transform;}
.slide{min-width:100%;position:relative;}
.slide img{width:100%;height:540px;object-fit:cover;display:block;}
@media(max-width:768px){.slide img{height:56vw;min-height:220px;}}
.slide-cap{position:absolute;bottom:0;left:0;right:0;padding:70px 28px 22px;background:linear-gradient(to top,rgba(13,27,42,.95) 0%,transparent 100%);color:#F6F4EF;font-size:13px;font-family:monospace;text-transform:uppercase;letter-spacing:.07em;}
.slide-count{position:absolute;top:20px;right:24px;background:rgba(13,27,42,.8);color:var(--gold-light);font-size:12px;font-family:monospace;padding:5px 12px;backdrop-filter:blur(4px);}
.arr{position:absolute;top:50%;transform:translateY(-50%);background:rgba(13,27,42,.75);border:1px solid rgba(212,175,55,.25);color:#F6F4EF;width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;z-index:10;transition:background .2s;backdrop-filter:blur(4px);}
.arr:hover{background:rgba(184,150,12,.7);}
.arr-l{left:16px;}
.arr-r{right:16px;}
.dots{display:flex;justify-content:center;gap:7px;padding:14px 0 6px;}
.dot{width:7px;height:7px;padding:9px;background-clip:content-box;border-radius:50%;background:rgba(212,175,55,.25);cursor:pointer;transition:all .25s;border:none;}
.dot.active{background:var(--gold-light);width:22px;border-radius:4px;}
.thumbs{display:flex;gap:6px;padding:0 28px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;}
.thumbs::-webkit-scrollbar{display:none;}
.thumb{min-width:90px;height:60px;object-fit:cover;cursor:pointer;opacity:.4;transition:opacity .2s;border:2px solid transparent;flex-shrink:0;}
.thumb.active,.thumb:hover{opacity:1;border-color:var(--gold);}
.dl-row{display:flex;gap:10px;flex-wrap:wrap;padding:18px 28px 24px;align-items:center;}
.dl-row span{color:rgba(212,175,55,.85);font-size:12.5px;}
.dl-btn{background:transparent;border:1px solid rgba(212,175,55,.4);color:var(--gold-light);padding:13px 16px;min-height:44px;font-size:12px;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;letter-spacing:.04em;transition:all .2s;}
.dl-btn:hover{background:var(--gold);border-color:var(--gold);color:#0A1520;}
.price-box{background:var(--navy);border:1px solid rgba(212,175,55,.25);padding:28px;color:#F6F4EF;margin-top:24px;}
.price-box .prow{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(212,175,55,.12);font-size:14.5px;}
.price-box .prow:last-child{border-bottom:none;}
.price-box .prow span:last-child{color:var(--gold-light);font-weight:700;}
.price-box .ptitle{font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;color:rgba(212,175,55,.85);margin-bottom:14px;}
.loclist{list-style:none;margin-top:18px;}
.loclist li{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.loclist li span:last-child{color:var(--gold);font-weight:600;font-size:13px;}
.highlights{display:grid;grid-template-columns:repeat(2,1fr);gap:0;background:var(--line);border:1px solid var(--line);margin-top:24px;}
.hl{background:var(--paper);padding:18px 20px;display:flex;gap:12px;align-items:flex-start;font-size:14.5px;}
.hl::before{content:"◆";color:var(--gold);font-size:11px;margin-top:2px;flex-shrink:0;}
.amen{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px;margin-top:22px;}
.ai{display:flex;gap:10px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);font-size:14.5px;}
.ai::before{content:"✓";color:var(--gold);font-size:15px;flex-shrink:0;margin-top:1px;}
.rera-table{margin-top:22px;border:1px solid var(--line);}
.rrow{display:flex;justify-content:space-between;padding:11px 16px;border-bottom:1px solid var(--line);font-size:13.5px;}
.rrow:last-child{border-bottom:none;}
.rrow span:first-child{color:#666;width:150px;flex-shrink:0;}
.rrow span:last-child{font-family:monospace;font-size:12.5px;color:var(--navy);}
.fq{border-bottom:1px solid var(--line);padding:20px 0;}
.fq summary{cursor:pointer;list-style:none;font-family:'Fraunces',serif;font-size:18px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.fq summary::-webkit-details-marker{display:none;}
.fq summary::after{content:"+";color:var(--gold);font-size:22px;font-weight:300;flex-shrink:0;}
.fq[open] summary::after{content:"–";}
.fq p{margin-top:12px;font-size:15px;padding-right:28px;}
.trust-sec{background:var(--navy);color:#F6F4EF;padding:68px 0;}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:32px;}
.tgrid div{border-top:2px solid var(--gold);padding-top:16px;}
.tn{font-family:'Fraunces',serif;font-size:28px;color:var(--gold-light);}
.tl{font-size:13px;color:rgba(246,244,239,.55);margin-top:6px;}
.lsec{background:var(--navy2);color:#F6F4EF;padding:64px 0;}
.lgrid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
.lgrid h2{font-size:clamp(24px,3vw,33px);}
.lgrid>div>p{color:rgba(246,244,239,.68);margin-top:12px;font-size:15px;}
.lform{background:#F6F4EF;padding:28px;color:var(--ink);}
.lform label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:rgba(246,244,239,.62);margin-bottom:6px;}
.frow{margin-bottom:14px;}
.lform input,.lform select,.lform textarea{width:100%;padding:11px 13px;border:1px solid var(--line);font-family:'Inter',sans-serif;font-size:14.5px;background:#fff;border-radius:0;}
.lform input:focus,.lform select:focus,.lform textarea:focus{outline:none;border-color:var(--gold);}
.lform textarea{resize:vertical;min-height:72px;}
.sbtn{width:100%;background:var(--navy);color:#F6F4EF;border:none;padding:14px;font-weight:700;font-size:14px;cursor:pointer;margin-top:6px;transition:background .2s;font-family:'Inter',sans-serif;}
.sbtn:hover{background:var(--gold);color:#0A1520;}
.sbtn:disabled{background:#888;cursor:not-allowed;}
.consent{font-size:11.5px;color:#8a8a84;margin-top:10px;line-height:1.6;}
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);z-index:200;align-items:center;justify-content:center;padding:20px;}
.overlay.on{display:flex;}
.mbox{background:#fff;max-width:460px;width:100%;padding:32px;position:relative;animation:up .22s ease;}
@keyframes up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
.mbox h3{font-family:'Fraunces',serif;font-size:22px;color:var(--navy);margin-bottom:4px;}
.mbox .msub{font-size:13.5px;color:#5c5c5c;margin-bottom:18px;}
.mbox .dtype{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--gold);background:#FBF7F0;border-left:3px solid var(--gold);padding:7px 12px;margin-bottom:16px;}
.cls{position:absolute;top:12px;right:16px;background:none;border:none;font-size:22px;cursor:pointer;color:#5a5a5a;line-height:1;padding:4px;}
.mform input,.mform textarea{width:100%;padding:11px 13px;border:1px solid var(--line);font-family:'Inter',sans-serif;font-size:14.5px;margin-bottom:10px;border-radius:0;}
.mform input:focus,.mform textarea:focus{outline:none;border-color:var(--gold);}
.mform textarea{resize:vertical;min-height:64px;}
.ty{display:none;position:fixed;inset:0;background:#fff;z-index:300;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;}
.ty.on{display:flex;}
.ty-ico{font-size:56px;margin-bottom:20px;}
.ty h2{font-family:'Fraunces',serif;font-size:34px;color:var(--navy);margin-bottom:10px;}
.ty p{font-size:15.5px;color:#555;max-width:440px;}
.wa-big{display:inline-flex;align-items:center;gap:10px;background:#25D366;color:#fff;padding:13px 26px;font-weight:700;font-size:15px;margin-top:22px;text-decoration:none;}
.bk{margin-top:12px;background:none;border:1px solid var(--line);padding:10px 22px;font-size:14px;cursor:pointer;font-family:'Inter',sans-serif;}
footer{padding:32px 0 0;border-top:1px solid var(--line);}
.fmain{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;font-size:13px;color:#6b6b66;padding-bottom:18px;}
.ftog{background:#EFEAE0;border-top:1px solid var(--line);padding:12px 0;}
.ftog summary{cursor:pointer;font-size:11.5px;font-family:monospace;text-transform:uppercase;letter-spacing:.06em;color:#5c5547;}
.leg{font-size:11px;color:#5f5a4f;margin-top:10px;line-height:1.72;max-width:860px;}
.copy{padding:12px 0;font-size:11.5px;color:#6b6b66;border-top:1px solid var(--line);margin-top:4px;}
.scta{position:fixed;bottom:0;left:0;right:0;display:flex;z-index:99;box-shadow:0 -3px 12px rgba(0,0,0,.18);}
.scta a{flex:1;text-align:center;padding:14px;font-weight:700;font-size:13.5px;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;}
.scta .call{background:var(--navy);color:#F6F4EF;}
.scta .wa{background:#25D366;color:#fff;}
@media(max-width:768px){
  .two,.lgrid,.specbar,.amen,.tgrid,.highlights{grid-template-columns:1fr;}
  .spec{border-left:none;border-top:1px solid rgba(212,175,55,.1);padding:14px 0;}
  body{padding-bottom:56px;}
  .dl-row{padding:14px 16px 18px;}
  .price-box .prow{flex-direction:column;gap:4px;}
}
@media(min-width:769px){.scta{display:none;}}

/* ============================================================
   P0 — Google Ads conversion additions (appended, non-destructive)
   ============================================================ */
.hero-quickcta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.hqc-btn{display:inline-flex;align-items:center;gap:7px;padding:11px 18px;font-size:13.5px;font-weight:700;font-family:'Inter',sans-serif;text-decoration:none;border-radius:2px;letter-spacing:.01em;transition:all .2s;cursor:pointer;border:none;}
.hqc-call{background:var(--gold);color:#0A1520;}
.hqc-call:hover{background:var(--gold-light);}
.hqc-wa{background:#25D366;color:#0A1520;}
.hqc-wa:hover{background:#1EBE57;color:#0A1520;}
.hqc-price{background:transparent;color:#F6F4EF;border:1px solid rgba(246,244,239,.35);}
.hqc-price:hover{border-color:var(--gold-light);color:var(--gold-light);}

.hero-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px;padding-top:16px;border-top:1px solid rgba(246,244,239,.12);}
.trust-item{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(246,244,239,.65);letter-spacing:.02em;}
.trust-item .tick{color:#4ADE80;font-weight:700;}

.hero-miniform{margin-top:22px;padding:18px;background:rgba(255,255,255,.05);border:1px solid rgba(212,175,55,.25);max-width:460px;}
.hero-miniform p{color:var(--gold-light);font-size:12.5px;font-weight:700;margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em;}
.hmf-row{display:flex;gap:8px;flex-wrap:wrap;}
.hmf-row input{flex:1;min-width:130px;padding:11px 12px;border:1px solid rgba(246,244,239,.25);background:rgba(0,0,0,.2);color:#F6F4EF;font-size:13.5px;font-family:'Inter',sans-serif;}
.hmf-row input::placeholder{color:rgba(246,244,239,.4);}
.hmf-row button{padding:11px 20px;background:var(--gold);color:#0A1520;border:none;font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap;font-family:'Inter',sans-serif;}
.hmf-row button:hover{background:var(--gold-light);}
@media(max-width:640px){.hero-quickcta{flex-direction:column;}.hqc-btn{justify-content:center;width:100%;}.hmf-row{flex-direction:column;}.hmf-row button{width:100%;}}

/* Sticky CTA v2 — 4 actions */
.scta2{position:fixed;bottom:0;left:0;right:0;z-index:60;display:none;grid-template-columns:repeat(2,1fr);background:var(--navy);border-top:1px solid rgba(212,175,55,.3);}
.scta2 a,.scta2 button{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;padding:14px 4px;color:#F6F4EF;font-size:14px;font-weight:700;text-decoration:none;border:none;background:transparent;font-family:'Inter',sans-serif;border-right:1px solid rgba(246,244,239,.1);cursor:pointer;}
.scta2 a:last-child,.scta2 button:last-child{border-right:none;}
.scta2 .ic{font-size:17px;}
.scta2 .primary{background:var(--gold);color:#0A1520;}
@media(max-width:768px){.scta2{display:grid;}body{padding-bottom:62px;}}

/* Honeypot field — invisible to real users, bots often auto-fill it */
.hp-field{position:absolute;left:-9999px;top:-9999px;height:0;width:0;opacity:0;pointer-events:none;}

/* Visible breadcrumb trail (separate from the JSON-LD BreadcrumbList schema) */
.breadcrumb-nav{background:var(--cream);padding:10px 0;font-size:12.5px;}
.breadcrumb-nav ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;color:#6b6b66;}
.breadcrumb-nav a{color:var(--gold);text-decoration:none;font-weight:600;}
.breadcrumb-nav a:hover{text-decoration:underline;}
.breadcrumb-nav .sep{color:#606060;}
.breadcrumb-nav .current{color:#6b6b66;}

/* Real form error state (was previously silently swallowed as false-success) */
.form-error-msg{color:#FF6B6B;font-size:12.5px;font-weight:600;margin-top:8px;padding:8px 10px;background:rgba(255,107,107,.08);border-left:2px solid #FF6B6B;}

/* Related Projects — real internal-linking mesh for SEO topical clustering */
.related-sec{background:var(--paper);}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px;margin-top:24px;}
.related-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--line);transition:box-shadow .2s,transform .2s;}
.related-card:hover{box-shadow:0 8px 24px rgba(0,0,0,.08);transform:translateY(-2px);}
.related-card .rc-img{width:100%;height:150px;object-fit:cover;display:block;background:var(--navy2);}
.related-card .rc-body{padding:14px 16px;}
.related-card .rc-dev{font-size:10.5px;color:#6b6b6b;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;}
.related-card .rc-name{font-size:15px;font-weight:700;color:var(--ink);font-family:'Playfair Display',serif;margin-bottom:4px;}
.related-card .rc-loc{font-size:12px;color:#5f5f5f;}

/* Screen-reader-only label — visually hidden, but read by assistive tech.
   Used where the visual design relies on placeholder text instead of a
   visible label (which fails accessibility on its own — placeholders
   disappear on input and are not a substitute for a real label). */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
