/* Contact form and AI chat widget (generated by build_website.py) */
.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}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px}

/* Capability / Beyond the gold face */
.capability-band .section-head p{color:#cfd5e2;max-width:760px}
.capability-grid{margin-top:8px}
.capability-card{background:rgba(255,255,255,.06);border:1px solid rgba(226,177,60,.35);border-radius:12px;padding:28px 24px 24px;position:relative}
.capability-card h3{color:#fff;margin:8px 0 10px;font-size:1.25rem}
.capability-card p{color:#d7dbe5;margin:0 0 10px}
.capability-card .cap-num{display:inline-block;font-family:var(--serif);color:var(--gold);font-size:1.4rem;letter-spacing:.04em}
.capability-card .cap-link{margin-top:14px;margin-bottom:0;font-size:.95rem}
.capability-card .cap-link a{color:var(--gold)}
.capability-card .cap-link a:hover{color:#fff}
.capability-about .section-head{margin-bottom:22px}
/* Office map (Contact), office strip (Home), footer map links */
.map-layout{display:grid;grid-template-columns:1.45fr 1fr;gap:32px;align-items:stretch}
.map-frame{position:relative;min-height:420px;border-radius:12px;overflow:hidden;background:#e8eaef;box-shadow:0 10px 30px rgba(28,42,73,.10)}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-card address{font-style:normal;line-height:1.6;margin:0 0 14px;color:var(--navy);font-weight:700}
.map-card .cta-actions{margin-top:16px}
.map-review{margin-top:14px;font-size:.95rem}
@media (max-width:900px){.map-layout{grid-template-columns:1fr;gap:24px}.map-frame{min-height:0;aspect-ratio:4/3}}
.office-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.office-strip-inner>div:first-child{flex:1 1 420px}
.office-strip h2{margin:.2em 0 .4em}
.office-strip a[href^="tel:"],.map-card a[href^="tel:"]{white-space:nowrap}
/* Contact page */
.contact-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:start}
@media (max-width:900px){.contact-layout{grid-template-columns:1fr;gap:40px}}
.form-card h2{margin-bottom:.3em}
.contact-form{margin-top:18px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media (max-width:600px){.form-row{grid-template-columns:1fr}}
.field{margin-bottom:14px}
.field label{display:block;font-weight:700;color:var(--navy);font-size:.92rem;margin-bottom:6px}
.field .req{color:#b42318}
.field .opt{font-weight:400;color:var(--muted);font-size:.85rem}
.field input,.field select,.field textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:#fff;border:1px solid #cfcab9;border-radius:8px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}
.field textarea{resize:vertical;min-height:140px}
.field select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--navy) 50%),linear-gradient(135deg,var(--navy) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:38px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,150,62,.25)}
.field [aria-invalid="true"]{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.12)}
.field-error{color:#b42318;font-size:.85rem;margin:5px 0 0;min-height:0}
.field-error:empty{display:none}
.hp{position:absolute !important;left:-10000px !important;top:auto;width:1px;height:1px;overflow:hidden}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px}
.form-actions .btn[disabled]{opacity:.65;cursor:progress}
.form-status{margin-top:18px;padding:14px 16px;border-radius:8px;font-size:.95rem;border-left:4px solid}
.form-status.ok{background:#e9f6ee;border-color:#1d6b43;color:#14532d}
.form-status.err{background:#fdecea;border-color:#b42318;color:#7a1a12}
.form-status:focus{outline:none}

/* AI chat widget */
.agc-launch{position:fixed;right:20px;bottom:20px;z-index:90;display:flex;align-items:center;gap:10px;background:var(--navy);color:#fff;border:2px solid var(--gold);border-radius:999px;padding:12px 18px 12px 14px;font:700 .95rem/1 var(--sans);cursor:pointer;box-shadow:0 10px 30px rgba(19,29,52,.35);transition:transform .15s,background .15s}
.agc-launch:hover{background:var(--navy-2);transform:translateY(-2px)}
.agc-launch svg{width:24px;height:24px;flex:none;stroke:var(--gold-light);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.agc-launch .agc-dot{position:absolute;top:6px;left:34px;width:9px;height:9px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px var(--navy)}
.agc-open .agc-launch{display:none}
.agc-panel{position:fixed;right:20px;bottom:20px;z-index:95;width:380px;max-width:calc(100vw - 24px);height:min(600px,calc(100vh - 40px));height:min(600px,calc(100dvh - 40px));display:flex;flex-direction:column;background:#fff;border-radius:16px;box-shadow:0 18px 50px rgba(19,29,52,.35);overflow:hidden;border:1px solid var(--line)}
.agc-panel[hidden]{display:none}
.agc-head{display:flex;align-items:center;gap:12px;padding:14px 14px 14px 16px;background:linear-gradient(120deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-bottom:3px solid var(--gold)}
.agc-avatar{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--navy);display:flex;align-items:center;justify-content:center;font:700 .95rem var(--serif);flex:none}
.agc-title{flex:1;min-width:0}
.agc-title strong{display:block;font-family:var(--serif);font-size:1rem;line-height:1.2}
.agc-title span{font-size:.8rem;color:var(--gold-light)}
.agc-iconbtn{background:transparent;border:0;color:#fff;width:36px;height:36px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
.agc-iconbtn:hover{background:rgba(255,255,255,.12)}
.agc-iconbtn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.agc-log{flex:1;overflow-y:auto;padding:16px;background:var(--bg);display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.agc-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:.93rem;line-height:1.5;word-wrap:break-word;overflow-wrap:anywhere}
.agc-msg p{margin:0 0 .5em}.agc-msg p:last-child{margin:0}
.agc-msg ul{margin:.2em 0 .5em;padding-left:1.1em}.agc-msg li{margin-bottom:2px}
.agc-bot{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px;color:var(--ink)}
.agc-bot a{color:var(--navy);font-weight:700}
.agc-user{align-self:flex-end;background:var(--navy);color:#fff;border-bottom-right-radius:4px;white-space:pre-wrap}
.agc-err{border-color:#f1c0bb;background:#fff7f6}
.agc-suggest{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}
.agc-suggest button{font:700 .84rem/1.3 var(--sans);color:var(--navy);background:#fff;border:1px solid var(--gold);border-radius:999px;padding:8px 12px;cursor:pointer;text-align:left}
.agc-suggest button:hover{background:var(--gold-pale)}
.agc-typing{display:inline-flex;gap:4px;align-items:center;padding:13px 14px}
.agc-typing span{width:7px;height:7px;border-radius:50%;background:var(--gold);animation:agc-b 1.2s infinite ease-in-out}
.agc-typing span:nth-child(2){animation-delay:.15s}.agc-typing span:nth-child(3){animation-delay:.3s}
@keyframes agc-b{0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-5px);opacity:1}}
.agc-form{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 6px;border-top:1px solid var(--line);background:#fff}
.agc-form textarea{flex:1;resize:none;font:inherit;font-size:16px;line-height:1.4;max-height:120px;min-height:42px;padding:10px 12px;border:1px solid #cfcab9;border-radius:12px;color:var(--ink)}
.agc-form textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(184,150,62,.25)}
.agc-send{width:42px;height:42px;border-radius:50%;border:0;background:var(--gold);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;flex:none}
.agc-send:hover{background:#a3832f}
.agc-send[disabled]{opacity:.5;cursor:not-allowed}
.agc-send svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.agc-foot{padding:4px 14px 10px;font-size:.74rem;color:var(--muted);background:#fff;text-align:center;line-height:1.35}
.agc-foot a{color:var(--navy)}
@media (max-width:560px){
  .agc-launch{right:14px;bottom:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:12px}
  .agc-launch .agc-label{display:none}
  .agc-launch .agc-dot{left:30px;top:5px}
  .agc-panel{right:0;left:0;bottom:0;width:100%;max-width:100%;height:88vh;height:88dvh;border-radius:16px 16px 0 0;padding-bottom:env(safe-area-inset-bottom)}
}
@media (prefers-reduced-motion:reduce){.agc-typing span{animation:none}.agc-launch{transition:none}}
@media print{.agc-launch,.agc-panel{display:none !important}}

/* Footer: five columns on wide screens */
@media (min-width:861px){.footer-grid{grid-template-columns:1.3fr .8fr 1fr .95fr 1.1fr;gap:30px}}

/* On-page sub-navigation (Investors) */
.subnav{background:#fff;border-bottom:1px solid var(--line)}
.subnav .container{display:flex;flex-wrap:wrap;gap:6px 22px;padding-top:12px;padding-bottom:12px}
.subnav a{font-weight:700;font-size:.9rem;text-decoration:none;color:var(--navy);padding:4px 0;border-bottom:2px solid transparent}
.subnav a:hover{border-bottom-color:var(--gold);color:var(--navy)}

/* Investor resources */
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:22px}
@media (max-width:600px){.res-grid{grid-template-columns:1fr}}
.res-group{padding:24px 24px 18px;border-top:4px solid var(--gold)}
.res-group h3{font-size:1.08rem;margin-bottom:12px}
.res-company{border-top-color:var(--navy);background:#fbfaf6}
.res-list{list-style:none;margin:0;padding:0}
.res-list li{padding:10px 0;border-top:1px solid #f0ede6}
.res-list li:first-child{border-top:0;padding-top:0}
.res-list a{font-weight:700;text-decoration:none;color:var(--navy)}
.res-list a .ext{display:inline-block;vertical-align:-1px;margin-left:5px}
.res-list a:hover{color:var(--gold)}
.res-list span{display:block;font-size:.9rem;color:var(--muted);line-height:1.45;margin-top:2px}
.res-list .ext,.ext{width:13px;height:13px;flex:none;stroke:var(--gold);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

/* Gold price card (Home) */
.gold-section .lead,.gold-section p{color:#d7dbe5}
.gold-card{background:#fff;color:var(--ink);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.25);overflow:hidden;border-top:5px solid var(--gold);max-width:520px;margin-left:auto}
.gold-head{display:flex;align-items:center;gap:14px;padding:18px 22px 14px;border-bottom:1px solid var(--line)}
.gold-head h3{margin:0;font-size:1.12rem}
.gold-sub{font-size:.82rem;color:var(--muted)}
.gold-badge{width:44px;height:44px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;font:700 1.05rem var(--serif);color:var(--navy);background:linear-gradient(135deg,#f3dc95 0%,var(--gold) 55%,#8f7130 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.gold-body{padding:12px 22px 6px}
.gold-date{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.85rem;color:var(--muted);margin:0 0 6px}
.gold-date strong{color:var(--navy);font-size:.95rem}
.gold-table{width:100%;border-collapse:collapse;font-size:.95rem}
.gold-table th,.gold-table td{background:none;color:var(--ink);padding:10px 0;border-bottom:1px solid #f0ede6;font-size:.93rem;letter-spacing:0;font-weight:400;vertical-align:baseline}
.gold-table th{text-align:left;font-weight:700;color:var(--navy)}
.gold-table th small{display:block;font-weight:400;color:var(--muted);font-size:.78rem}
.gold-table td{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}
.gold-table tr:last-child th,.gold-table tr:last-child td{border-bottom:0}
.gold-table td:first-child{color:inherit}
.gold-chg{display:block;font-size:.76rem;font-weight:400;color:var(--muted)}
.gold-chg.up{color:#1d6b43}.gold-chg.down{color:#b42318}
.gold-note{margin:0;padding:12px 22px 16px;font-size:.8rem;color:var(--muted);background:#fbfaf6;border-top:1px solid var(--line)}
.gold-section .gold-card h3{color:var(--navy)}
.gold-section .gold-card p{color:var(--muted)}
.gold-section .gold-card .gold-stale{color:#7a6024}
.gold-note a{color:var(--navy);font-weight:700}
.gold-loading,.gold-unavail{color:var(--muted);font-size:.95rem;margin:8px 0 12px}
.gold-unavail a{font-weight:700}
.gold-stale{font-size:.8rem;color:#7a6024;background:var(--gold-pale);border-radius:6px;padding:6px 10px;margin:6px 0 4px}
@media (max-width:760px){.gold-card{margin:0 auto}}
@media (max-width:420px){.gold-head{padding:16px 16px 12px}.gold-body{padding:10px 16px 4px}.gold-note{padding:12px 16px 14px}.gold-table th,.gold-table td{font-size:.88rem}}

/* Gold strip (Investors) */
.gold-strip{background:var(--navy-dark);color:#d7dbe5;border-bottom:3px solid var(--gold);font-size:.88rem}
.gold-strip .container{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding-top:10px;padding-bottom:10px}
.gs-title{font-weight:700;color:var(--gold-light);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;white-space:nowrap}
.gs-items{display:flex;flex-wrap:wrap;gap:4px 18px;align-items:center}
.gs-item{white-space:nowrap}
.gs-item b{color:#fff;font-variant-numeric:tabular-nums}
.gold-strip a{color:var(--gold-light);font-weight:700;text-decoration:none;white-space:nowrap}
.gold-strip a:hover{color:#fff}
