/* Home-page lead journey. Scoped to preserve shared service pages. */
.ref-offer { padding: 40px 0; background: #fff; border-bottom: 1px solid #d9e4ef; text-align:center; }
.ref-offer-grid { display:block; }
.ref-offer h1 { max-width:850px; margin:0 auto; color:#062f63; font-size:clamp(28px,3vw,38px); line-height:1.12; letter-spacing:-.025em; }
.ref-lead { max-width:740px; margin:16px auto 22px; color:#506279; font-size:18px; line-height:1.65; }
.ref-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }
.ref-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:13px 20px; border:1px solid transparent; border-radius:12px; font:700 15px/1.4 Arial,Helvetica,sans-serif; text-decoration:none; cursor:pointer; text-align:center; }
.ref-button-primary { background:#800020; color:white; box-shadow:0 6px 18px #80002020; }
.ref-button-primary:hover { background:#66001a; color:white; }
.ref-button-outline { border-color:#c6d7e7; color:#062f63; background:#fff; }
.ref-button-outline:hover { background:#f2f7fc; }
.ref-button:focus-visible,.ref-lead-form input:focus-visible,.ref-lead-form select:focus-visible { outline:3px solid #0878c9; outline-offset:3px; }
.ref-offer-note { margin:16px 0 0; color:#5d6d80; font-size:13px; }
.ref-first-meeting { padding:28px; background:#f2f7fc; border:1px solid #d9e4ef; border-radius:18px; }
.ref-small-label { color:#062f63; font-size:17px; font-weight:700; }
.ref-first-meeting ul { padding:0; margin:18px 0; list-style:none; }
.ref-first-meeting li { position:relative; margin:12px 0; padding-left:26px; color:#40576e; }
.ref-first-meeting li:before { position:absolute; left:0; content:'✓'; color:#0878c9; font-weight:bold; }
.ref-first-meeting a { display:inline-block; color:#062f63; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.referans-section-heading h2 { margin:0; color:#062f63; font-size:clamp(28px,3.3vw,40px); line-height:1.18; }
.referans-card h3 { margin:18px 0 12px; color:#062f63; font-size:21px; line-height:1.3; }
.referans-card-icon { font-size:16px; width:42px; height:42px; }
.referans-card a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.ref-service-note { margin:26px 0 0; text-align:center; color:#506279; }
.ref-service-note a { color:#062f63; font-weight:bold; text-decoration:underline; text-underline-offset:4px; }
.ref-contact-section { scroll-margin-top:100px; padding:72px 0; background:#062f63; color:#fff; }
.ref-contact-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:center; }
.ref-contact-copy .referans-eyebrow,.referans-home-trust .referans-eyebrow { color:#efb6c4; }
.ref-contact-copy h2 { margin:0 0 20px; font-size:clamp(30px,4vw,45px); line-height:1.13; color:white; }
.ref-contact-copy p,.ref-contact-copy li { color:#dfebf5; font-size:17px; line-height:1.7; }
.ref-contact-copy ol { margin:24px 0 32px; padding-left:22px; }
.ref-contact-copy li { padding-left:6px; margin:14px 0; }
.ref-phone { display:inline-block; font-size:20px; font-weight:700; color:white; }
.ref-contact-alternative a { color:white; text-decoration:underline; text-underline-offset:4px; }
.ref-lead-form { position:relative; padding:32px; border:1px solid #d9e4ef; border-radius:20px; background:white; color:#102744; box-shadow:0 18px 40px #03234b33; }
.ref-lead-form h3 { margin:0; color:#062f63; font-size:26px; }
.ref-form-intro { margin:8px 0 22px; color:#5d6d80; font-size:15px; }
.ref-lead-form label { display:block; margin:16px 0 7px; font-size:14px; font-weight:700; }
.ref-lead-form input:not([type=hidden]),.ref-lead-form select { display:block; width:100%; min-width:0; min-height:48px; padding:12px; border:1px solid #aabed0; border-radius:9px; background:#fff; color:#102744; font:16px/1.4 Arial,Helvetica,sans-serif; }
.ref-form-privacy { font-size:12px; line-height:1.65; color:#5d6d80; margin:18px 0; }
.ref-form-privacy a { color:#062f63; text-decoration:underline; }
.ref-lead-form .ref-button { width:100%; }
.ref-lead-form button:disabled { opacity:.65; cursor:wait; }
.ref-lead-form [data-form-status]:empty { display:none; }
.ref-lead-form [data-form-status] { margin:16px 0 0; font-size:14px; line-height:1.6; }
.ref-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.ref-trust-address { margin-top:22px; padding-top:22px; border-top:1px solid #ffffff33; color:#d7e7f4; font-style:normal; line-height:1.8; }
.ref-trust-address a { color:white; text-decoration:underline; }
@media (min-width:1121px) { .referans-hero { min-height:0; } .referans-hero-image { min-height:0; width:100%; height:auto; } }
@media (min-width:761px) and (max-width:1000px) { .referans-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:1000px) { .ref-offer-grid { gap:24px; grid-template-columns:1fr; } .ref-first-meeting { display:none; } .ref-contact-grid { gap:32px; } }
@media (max-width:760px) { .ref-offer { padding:28px 0 34px; } .ref-lead { font-size:16px; margin:14px 0 20px; } .ref-actions { display:grid; grid-template-columns:1fr; } .ref-offer-note { margin-top:12px; } .ref-contact-section { padding:48px 0; scroll-margin-top:88px; } .ref-contact-grid { grid-template-columns:1fr; } .ref-lead-form { padding:24px 20px; } .ref-contact-copy p,.ref-contact-copy li { font-size:16px; } .ref-phone { font-size:18px; } }

.referans-hero-hitbox { left:5%; bottom:12%; width:20.5%; height:9%; min-height:44px; }

.ref-contact-actions { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.ref-contact-actions .ref-call-button { background:#fff; color:#062f63; border-color:#fff; }
.ref-contact-actions .ref-call-button:hover { background:#eaf3fc; border-color:#eaf3fc; }
.ref-contact-actions .ref-whatsapp-button { background:#147d45; color:#fff; border-color:#64cb94; }
.ref-contact-actions .ref-whatsapp-button:hover { background:#106538; }
.ref-contact-actions .ref-button:focus-visible { outline-color:#800020; }
@media (max-width:760px) { .ref-contact-actions { align-items:stretch; } }

/* Compact home footer with a full-card directions link. */
.ref-footer { padding:32px 0 0; background:#06253f; color:#d6e2ed; font:14px/1.6 Arial,Helvetica,sans-serif; }
.ref-footer-grid { display:grid; grid-template-columns:.95fr .8fr 1.1fr 1.3fr; gap:28px; align-items:start; }
.ref-footer h2 { margin:0 0 12px; color:white; font-size:15px; font-weight:700; }
.ref-footer a { color:#d6e2ed; text-decoration:none; }
.ref-footer a:hover { color:#fff; text-decoration:underline; text-underline-offset:4px; }
.ref-footer a:focus-visible { outline:3px solid #800020; outline-offset:4px; }
.ref-footer-brand img { display:block; width:144px; height:auto; padding:6px 10px; background:white; border-radius:10px; }
.ref-footer-brand p { margin:12px 0; max-width:240px; font-size:13px; }
.ref-footer-social { display:flex; gap:8px; }
.ref-footer-social a { width:36px; height:36px; }
.ref-footer-links > a { display:block; padding:3px 0; font-size:13px; }
.ref-footer-contact > a { display:block; width:fit-content; margin-bottom:8px; overflow-wrap:anywhere; }
.ref-footer-contact .ref-footer-phone { color:white; font-size:18px; font-weight:700; }
.ref-footer-contact address { margin:12px 0; font-style:normal; font-size:13px; line-height:1.7; }
.ref-footer-directions { font-weight:700; }
.ref-footer-map { position:relative; height:180px; overflow:hidden; border:1px solid #7792a7; border-radius:12px; background:#e8edf1; }
.ref-footer-map iframe { display:block; width:100%; height:100%; border:0; pointer-events:none; }
.ref-footer-map-link { position:absolute; inset:0; display:flex; align-items:flex-start; justify-content:center; padding:10px; }
.ref-footer-map-link span { padding:7px 10px; background:#fff; border-radius:7px; color:#062f63; font-size:12px; font-weight:700; box-shadow:0 2px 10px #0002; }
.ref-footer-map-link:hover span { background:#eaf3fc; }
.ref-footer-map-link:focus-visible { outline-offset:-4px!important; }
.ref-footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px 24px; margin-top:24px; padding:14px 0; border-top:1px solid #ffffff26; font-size:11px; }
.ref-footer-bottom p { margin:0; }
.ref-footer-bottom nav { display:flex; flex-wrap:wrap; gap:6px 16px; }
.ref-footer-bottom a { display:inline-block; padding:5px 0; }
@media (max-width:1000px) { .ref-footer-grid { grid-template-columns:1fr 1fr; gap:24px; } }
@media (max-width:480px) { .ref-footer { padding-top:24px; } .ref-footer-grid { gap:22px 16px; } .ref-footer-contact,.ref-footer-location { grid-column:1 / -1; } .ref-footer-brand img { width:132px; } .ref-footer-map { height:160px; } .ref-footer-bottom { margin-top:18px; } }

.ref-footer-wordmark { display:flex; align-items:center; gap:9px; color:white; font-size:16px; font-weight:700; letter-spacing:.03em; }
.ref-footer-wordmark strong { display:block; font-size:11px; letter-spacing:.1em; }
.ref-footer-brand .ref-footer-wordmark img { width:40px; height:40px; object-fit:contain; padding:6px; border-radius:9px; background:#104374; }
@media (max-width:480px) { .ref-footer-wordmark { font-size:14px; gap:7px; } .ref-footer-wordmark strong { font-size:9px; } .ref-footer-bottom nav { padding-right:70px; } }

/* Burgundy consultation label with contrast against the navy section. */
.ref-contact-copy .referans-eyebrow { display:inline-block; padding:6px 10px; border-radius:6px; background:#fff1f4; color:#800020; }
