/* Additions for the Laravel CMS build (loaded after site.css) */
.hp-field{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.field-error{color:#ff8f8f!important;font-weight:700}
.field input:invalid:not(:placeholder-shown){border-color:rgba(255,143,143,.45)}
.form-status.error{background:rgba(255,120,120,.1);border-color:rgba(255,120,120,.3);color:#ffb3b3}
.article-meta{font-size:.9rem!important;color:#8eaaa1!important;margin-top:18px}

.prose{max-width:780px;margin:0 auto;font-size:1.06rem;color:#c9d9d3}
.prose h2,.prose h3{color:var(--white);letter-spacing:-.03em;line-height:1.2;margin:1.8em 0 .6em}
.prose h2{font-size:clamp(1.7rem,3vw,2.3rem)}
.prose h3{font-size:1.35rem}
.prose p,.prose ul,.prose ol{margin:0 0 1.2em}
.prose a{color:#58ed98;text-decoration:underline;text-underline-offset:3px}
.prose img{max-width:100%;height:auto;border-radius:18px}
.prose blockquote{margin:1.6em 0;padding:4px 0 4px 22px;border-left:3px solid #2ddd7a;color:var(--white);font-weight:600}
.prose li{margin:.35em 0}
.prose table{width:100%;border-collapse:collapse;margin:1.4em 0 1.8em;font-size:.95rem;background:#0d211b;border-radius:16px;overflow:hidden;display:block;overflow-x:auto}
.prose th,.prose td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--line);vertical-align:top}
.prose th{color:#5ced99;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}
.prose tr:last-child td{border-bottom:0}
.prose ol{padding-left:1.3em}
.light .prose{color:#3c524b}
html.light-theme .prose table{background:#fff;box-shadow:0 12px 30px rgba(11,91,64,.06)}
.light .prose h2,.light .prose h3{color:#07110f}

html.light-theme .prose{color:#3c524b}
html.light-theme .prose h2,html.light-theme .prose h3,html.light-theme .prose blockquote{color:#071711}
html.light-theme .field-error{color:#c0392b!important}
html.light-theme .article-meta{color:#5d7169!important}

.error-page{min-height:70vh;display:flex;align-items:center;padding:190px 0 100px}
.error-page h1{font-size:clamp(3rem,7vw,6rem);line-height:1;letter-spacing:-.06em;margin:16px 0 20px}
.error-page p{color:var(--muted);max-width:520px;margin:0 0 30px}
.article-hero h1{font-size:clamp(2rem,3.6vw,3.3rem)!important;line-height:1.08;max-width:760px}

/* App store badges */
.store-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.store-badge{display:inline-flex;align-items:center;gap:11px;padding:10px 18px 10px 14px;border-radius:14px;background:#050e0c;border:1px solid rgba(255,255,255,.22);color:#fff;transition:.2s;min-width:176px}
.store-badge:hover{border-color:#51e890;transform:translateY(-2px)}
.store-badge svg{width:26px;height:26px;flex:0 0 26px}
.store-badge span{display:flex;flex-direction:column;line-height:1.15}
.store-badge small{font-size:.68rem;opacity:.75;letter-spacing:.02em}
.store-badge b{font-size:1.08rem;font-family:"Poppins",sans-serif}
.store-badge.is-soon{opacity:.55;cursor:default}
.store-badge.is-soon:hover{transform:none;border-color:rgba(255,255,255,.22)}
.footer-brand .store-badges{margin-top:6px}
.footer-brand .store-badge{min-width:0;padding:8px 14px 8px 11px}
html.light-theme .store-badge{background:#0b1f1a}

/* App showcase */
.platform .copy h2{margin-top:12px}
.platform-reverse .phone-wrap{order:2}
.platform .hero-actions{margin-top:26px}
@media(max-width:900px){.platform-reverse .phone-wrap{order:2}}

/* Investment calculator */
.calc{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#0d211b;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:0 30px 75px rgba(0,0,0,.25)}
.calc-inputs{padding:38px;display:flex;flex-direction:column;gap:24px}
.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.calc-field{display:flex;flex-direction:column;gap:9px}
.calc-field label{display:flex;justify-content:space-between;gap:10px;font-size:.88rem;font-weight:800;color:#dbe8e3}
.calc-field label span{font-weight:600;color:var(--muted)}
.calc-field output{color:#5ced99;font-weight:800}
.calc-field small{color:#80978f;font-size:.78rem}
.calc-field select,.calc-field input[type=number]{width:100%;border:1px solid rgba(255,255,255,.14);background:#081813;color:#fff;border-radius:13px;padding:13px 14px;outline:none;font:inherit}
.calc-field select:focus,.calc-field input[type=number]:focus{border-color:#36df83;box-shadow:0 0 0 4px rgba(54,223,131,.1)}
.calc-field input[type=range]{width:100%;accent-color:#2de981;height:26px}
.calc-results{padding:38px;background:var(--grad);color:#03140e;display:flex;flex-direction:column;gap:22px}
.calc-capex small,.calc-grid small{display:block;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.calc-capex strong{display:block;font:800 clamp(2.2rem,4vw,3.3rem)/1.05 "Poppins",sans-serif;letter-spacing:-.04em;margin:6px 0 4px}
.calc-capex span{font-size:.86rem;opacity:.75}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc-grid div{background:rgba(255,255,255,.28);border-radius:16px;padding:15px 16px}
.calc-grid div.wide{grid-column:1/-1}
.calc-grid b{display:block;font:800 1.3rem "Poppins",sans-serif;margin-top:4px}
.calc.is-negative .calc-grid b[data-out="net"]{color:#8a1c1c}
.calc-note{font-size:.8rem;margin:0;opacity:.8}
.calc-results .btn{align-self:flex-start;background:#06110e;color:#fff}
.calc-assumptions{color:var(--muted);font-size:.82rem;margin:18px 4px 0;max-width:900px}
.light .calc{background:#fff;border-color:rgba(6,60,44,.1)}
.light .calc-field label{color:#183a30}
.light .calc-field select,.light .calc-field input[type=number]{background:#f7fbf9;color:#102f26;border-color:rgba(7,72,51,.16)}
html.light-theme .calc{background:#fff;border-color:rgba(7,72,51,.12);box-shadow:0 22px 60px rgba(11,91,64,.1)}
html.light-theme .calc-field label{color:#183a30}
html.light-theme .calc-field select,html.light-theme .calc-field input[type=number]{background:#f7fbf9;color:#102f26;border-color:rgba(7,72,51,.16)}
@media(max-width:900px){.calc{grid-template-columns:1fr}}
@media(max-width:620px){.calc-inputs,.calc-results{padding:26px 20px}.calc-row,.calc-grid{grid-template-columns:1fr}}

/* Smaller hero headings (homepage hero and inner-page heroes) */
.hero h1{font-size:clamp(2.6rem,5.4vw,5.2rem);line-height:.96}
.page-hero h1{font-size:clamp(2.3rem,4.6vw,4.4rem);line-height:1.02}

/* Office cards */
.contact-options.cols-1{grid-template-columns:minmax(0,560px)}
.contact-options.cols-2{grid-template-columns:repeat(2,1fr)}
.contact-card .office-hours{color:var(--white);font-weight:600;font-size:.92rem}
.office-links{display:flex;flex-direction:column;gap:6px}
.office-links a{word-break:break-word}
@media(max-width:980px){.contact-options.cols-2{grid-template-columns:1fr}}
.nav-links>a.btn.active{color:#03140e}
