:root{
  --navy:#061a3d;
  --blue:#065fd4;
  --soft-blue:#eaf3ff;
  --line:#d7e2f2;
  --text:#13233f;
  --muted:#4d5f7a;
  --shadow:0 18px 42px rgba(6,26,61,.14);
  --footer-h:86px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:#fff}
body{padding-bottom:var(--footer-h);overflow-x:hidden}
.page-shell{min-height:calc(100vh - var(--footer-h));position:relative;background:linear-gradient(180deg,#fff 0%,#f8fbff 55%,#fff 100%)}
.hero{position:relative;text-align:center;padding:38px 18px 22px;overflow:hidden;isolation:isolate}
.skyline{position:absolute;inset:0 0 auto 0;height:310px;background:
  linear-gradient(180deg,rgba(255,255,255,.66) 0%,rgba(255,255,255,.86) 55%,#fff 100%),
  url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1600 350"><rect width="1600" height="350" fill="%23eef5ff"/><path fill="%23c8d8eb" opacity=".55" d="M0 240h55v-78h34v78h42v-130h55v130h35V95h45v145h55V140h43v100h62v-70h58v70h88V86h58v154h74V122h43v118h63V152h48v88h82v-60h65v60h43v-116h52v116h74V130h45v110h55v-84h46v84h78v-125h55v125h47v-70h42v70h80v110H0z"/><path fill="%23b9ccdf" opacity=".35" d="M0 250c220-70 390-88 575-35 210 60 390 53 600-18 160-54 300-58 425-20v173H0z"/><path fill="none" stroke="%23b9ccdf" stroke-width="4" opacity=".35" d="M0 271h1600"/></svg>') center top/cover no-repeat;z-index:-1}
.hero-content{max-width:1050px;margin:0 auto;position:relative;z-index:1}.eyebrow{margin:0;color:var(--navy);font-size:clamp(42px,6vw,76px);font-weight:800;letter-spacing:-.04em;line-height:.95}.hero h1{font-size:clamp(20px,2.2vw,29px);margin:10px 0 0;font-weight:500;color:#122448}.rule,.small-rule{display:block;width:82px;height:3px;background:linear-gradient(90deg,transparent,var(--blue),transparent);margin:24px auto}.tagline{font-size:clamp(17px,1.6vw,23px);color:#53627d;margin:0 0 22px}.intro{font-size:clamp(18px,1.8vw,25px);margin:0 0 20px;color:#122448}.bc-line{display:inline-flex;align-items:center;gap:8px;margin:0;color:#586b8b;font-size:18px}.bc-line:before{content:'⌖';color:var(--blue);font-weight:700;font-size:24px}
.cards{max-width:1380px;margin:0 auto;padding:12px 30px 40px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-card{position:relative;min-height:455px;border:1px solid rgba(6,26,61,.12);border-radius:15px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}.service-card:hover{transform:translateY(-4px);box-shadow:0 24px 56px rgba(6,26,61,.18)}.card-bg{position:absolute;inset:0;background-position:center top;background-size:cover;opacity:.92;filter:saturate(1.12) contrast(1.12)}.service-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.43) 45%,rgba(255,255,255,.84) 100%)}.divorce-card .card-bg{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 520"><rect width="800" height="520" fill="%23edf3fb"/><path d="M70 350 400 80l330 270v138H70z" fill="%23bacbe0"/><path d="M92 342 400 97l308 245" fill="none" stroke="%238aa3c1" stroke-width="34"/><path d="M397 83l-70 170 92-31-62 184" fill="none" stroke="%23ffffff" stroke-width="28" stroke-linejoin="round"/><path d="M402 88l-64 160 86-29-58 172" fill="none" stroke="%23065fc9" stroke-width="8" stroke-linejoin="round" opacity=".55"/><rect x="145" y="363" width="125" height="125" fill="%23e0e8f2"/><rect x="525" y="363" width="130" height="125" fill="%23e0e8f2"/><rect x="330" y="345" width="138" height="143" fill="%239eb4cd"/></svg>')}.mortgage-card .card-bg{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 520"><rect width="800" height="520" fill="%23eef6ff"/><rect y="395" width="800" height="125" fill="%23bed6a7"/><circle cx="106" cy="360" r="65" fill="%239ac57a"/><circle cx="680" cy="355" r="70" fill="%23a8ce86"/><path d="M105 330 390 105l310 225v160H105z" fill="%23d9e4ef"/><path d="M80 328 390 85l335 243" fill="none" stroke="%238ba7c5" stroke-width="30"/><rect x="160" y="352" width="166" height="137" fill="%23b2c5d8"/><rect x="463" y="350" width="140" height="139" fill="%23f0f4f8"/><rect x="360" y="340" width="72" height="149" fill="%238ba5bd"/><path d="M178 370h130M178 404h130M178 438h130" stroke="%23eaf0f7" stroke-width="8"/></svg>')}.reverse-card .card-bg{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 800 520"><rect width="800" height="520" fill="%23edf6fc"/><path d="M0 345c150-90 240-115 390-52 145 61 265 18 410-76v303H0z" fill="%23bdd6ea"/><path d="M0 380c165-42 286-24 405 10 145 42 275 22 395-43" fill="none" stroke="%23ffffff" stroke-width="20" opacity=".78"/><circle cx="315" cy="156" r="52" fill="%2399aebe"/><circle cx="462" cy="154" r="50" fill="%23c9d2dc"/><path d="M244 430V255c0-62 45-112 100-112s100 50 100 112v175" fill="%23aebdcc"/><path d="M408 430V258c0-58 42-105 92-105s92 47 92 105v172" fill="%23d2d9e2"/><path d="M0 340c170-50 320-50 510-12 120 24 210 8 290-30" fill="none" stroke="%238aa9c7" stroke-width="5" opacity=".45"/></svg>')}.card-inner{position:relative;z-index:2;min-height:455px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;text-align:center;padding:44px 34px 34px}.icon{width:78px;height:78px;margin-bottom:8px;color:var(--blue)}.icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.service-card h2{font-size:clamp(25px,2.2vw,34px);line-height:1.08;margin:0;color:var(--navy);letter-spacing:-.03em}.service-card p{max-width:305px;font-size:18px;line-height:1.55;color:#3f4b65;margin:0 auto 30px}.small-rule{width:64px;height:2px;margin:18px auto 20px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-width:210px;height:54px;border-radius:6px;background:linear-gradient(135deg,#0877e8,#004db5);color:#fff;text-decoration:none;font-size:18px;font-weight:700;box-shadow:0 12px 24px rgba(0,91,205,.22)}.button:hover{filter:brightness(1.05)}
.site-footer{position:fixed;left:0;right:0;bottom:0;height:var(--footer-h);z-index:20;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid #cfd9e8;display:grid;grid-template-columns:auto minmax(200px,1fr) auto auto;align-items:center;gap:22px;padding:11px 48px;color:#102243;box-shadow:0 -10px 30px rgba(6,26,61,.06)}.brand-block{display:flex;align-items:center;gap:12px}.bayfield-logo{width:43px;height:43px;background:#064695;color:white;display:grid;place-items:center;font-family:Georgia,serif;font-size:31px}.bayfield-text strong{display:block;color:#064695;font-family:Georgia,serif;font-size:24px;letter-spacing:.04em;text-transform:uppercase;line-height:1}.bayfield-text span{display:block;color:#064695;font-family:Georgia,serif;font-size:13px;text-transform:uppercase;letter-spacing:.12em}.licence{font-size:12px;line-height:1.35;margin:0}.contact-bar{display:flex;align-items:center;gap:16px;white-space:nowrap}.contact-bar a{color:#102243;text-decoration:none;font-size:15px}.contact-bar a+a{border-left:1px solid #d4dce8;padding-left:16px}.legal{font-size:12px;line-height:1.35;margin:0}.legal a{color:var(--blue);text-decoration:none}.legal span{color:#93a0b3;margin:0 6px}
@media (max-width:1050px){:root{--footer-h:156px}body{padding-bottom:var(--footer-h)}.cards{grid-template-columns:1fr;max-width:650px}.site-footer{height:var(--footer-h);grid-template-columns:1fr;text-align:center;gap:6px;padding:12px 18px}.brand-block{justify-content:center}.contact-bar{justify-content:center;flex-wrap:wrap;gap:9px}.contact-bar a{font-size:14px}.contact-bar a+a{padding-left:9px}.licence,.legal{font-size:11px}.service-card,.card-inner{min-height:390px}}
@media (max-width:620px){:root{--footer-h:178px}.hero{padding-top:30px}.cards{padding:8px 18px 32px;gap:18px}.eyebrow{font-size:46px}.hero h1{font-size:20px}.intro{font-size:18px}.bc-line{font-size:15px}.service-card,.card-inner{min-height:355px}.card-inner{padding:30px 22px}.icon{width:62px;height:62px}.service-card p{font-size:16px}.button{height:50px;min-width:180px;font-size:16px}}
