/* XetaLife — base styles. Layout lives in inline style attributes so each
   block can be lifted straight into a Blade component. */
* { box-sizing: border-box; }
  body { margin: 0; font-family: Karla, system-ui, sans-serif; color: #1C2536; background: #FFFFFF; -webkit-font-smoothing: antialiased; }
  a { color: #10233F; text-decoration: none; }
  a:hover { color: #A8801F; }
  h1, h2, h3, h4 { margin: 0; font-family: Marcellus, Georgia, serif; font-weight: 400; text-wrap: pretty; }
  p { margin: 0; text-wrap: pretty; }
  ul { margin: 0; padding: 0; list-style: none; }
  input, select, textarea, button { font-family: inherit; font-size: inherit; }
  details summary { cursor: pointer; list-style: none; }
  details summary::-webkit-details-marker { display: none; }
  @keyframes riseIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.site{min-height:100vh;display:flex;flex-direction:column;}
main{flex:1;}
.img-placeholder{width:100%;height:100%;min-height:220px;display:grid;place-items:center;
  background:#EEEAE0;border:1px dashed #C9C2B2;color:#8A8574;font-size:13px;text-align:center;padding:16px;}
@media (max-width:900px){
  main [style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  footer [style*="grid-template-columns"]{grid-template-columns:1fr 1fr !important;}
  h1{font-size:36px !important;} h2{font-size:28px !important;}
}
@media (max-width:560px){
  footer [style*="grid-template-columns"]{grid-template-columns:1fr !important;}
  h1{font-size:30px !important;}
}
[data-hv="hv1"]:hover{color: #B98F2C !important;}
[data-hv="hv2"]:hover{background: #B98F2C !important; color: #fff !important;}
[data-hv="hv3"]:hover{background: #10233F !important; color: #E0C583 !important;}
[data-hv="hv4"]:hover{color: #FFFFFF !important;}
[data-hv="hv5"]:hover{border-color: #C8A24A !important; color: #E0C583 !important;}
[data-hv="hv6"]:hover{background: #E0C583 !important; color: #0B1830 !important;}
[data-hv="hv7"]:hover{box-shadow: 0 18px 40px rgba(16,35,63,0.13) !important; transform: translateY(-3px) !important;}
[data-hv="hv8"]:hover{border-color: #C8A24A !important;}
[data-hv="hv9"]:hover{color: #E0C583 !important;}
[data-hv="hv10"]:hover{background: #B98F2C !important;}
[data-hv="hv11"]:hover{background: #E0C583 !important;}

/* Shared responsive layout for the static and Laravel pages. */
img, video { max-width: 100%; }
main, main div, footer div, form, label { min-width: 0; }
input, select, textarea { min-width: 0; max-width: 100%; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea { width: 100%; }
p, li, footer a { overflow-wrap: anywhere; }
a:focus-visible, button:focus-visible { outline: 3px solid #B98F2C; outline-offset: 4px; }
@media (max-width: 1280px) {
  header > div { flex-wrap: wrap; gap: 12px !important; }
  header nav { display: flex !important; width: 100%; flex-wrap: wrap; gap: 4px 18px !important; white-space: normal !important; }
  header nav a { display: flex; align-items: center; min-height: 44px; }
}
@media (max-width: 900px) {
  header { position: relative !important; }
  main [style*="grid-template-columns"] { gap: 28px !important; }
  main section[style*="padding:"], main section > div[style*="max-width: 1240px"] { padding: 44px 20px !important; }
  .home-hero-frame { height: auto !important; }
  .home-hero-frame img { height: auto !important; }
  .home-hero-note { position: relative !important; bottom: auto !important; left: auto !important; max-width: 100% !important; margin-top: 16px; }
}
@media (max-width: 560px) {
  header > div { padding: 14px 16px !important; }
  header nav { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 12px !important; }
  header nav a { padding: 8px 4px; }
  header nav a:last-child { grid-column: 1 / -1; justify-content: center; text-align: center; }
  main section[style*="padding:"], main section > div[style*="max-width: 1240px"] { padding: 36px 16px !important; }
  main div[style*="padding: 36px 34px"], main div[style*="padding: 30px 28px"] { padding: 24px 18px !important; }
  main a[style*="padding: 16px 30px"], .site > section a { max-width: 100%; white-space: normal !important; text-align: center; }
  [data-slot^="carrier-"] { width: calc((100% - 14px) / 2) !important; }
  footer > div { padding-left: 16px !important; padding-right: 16px !important; gap: 28px !important; }
  input, select, textarea { font-size: 16px !important; }
}

/* Larger main navigation labels on every screen size. */
header nav { font-size: 16px !important; font-weight: 600 !important; }

/* Progressive enhancement: links remain visible when JavaScript is unavailable. */
.menu-toggle { display: none; width: 46px; height: 46px; padding: 11px; border: 1px solid #D8D2C5; border-radius: 4px; background: #fff; cursor: pointer; flex-shrink: 0; }
.menu-toggle span { display: block; width: 22px; height: 2px; margin: 4px 0; background: #10233F; transition: transform .2s, opacity .2s; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
@media (max-width: 767px) {
  .navigation-ready .menu-toggle { display: block; }
  .navigation-ready header nav { display: none !important; }
  .navigation-ready header nav.is-open { display: flex !important; padding-top: 12px; border-top: 1px solid #E7E2D7; }
}
@media (max-width: 560px) {
  .navigation-ready header nav.is-open { display: grid !important; }
}
@media (prefers-reduced-motion: reduce) {
  .menu-toggle span { transition: none; }
}

/* Compact primary navigation and service disclosure. */
.services-menu { position: relative; }
.services-menu summary { display: flex; align-items: center; gap: 7px; min-height: 44px; color: #33405A; }
.services-menu summary:focus-visible { outline: 3px solid #B98F2C; outline-offset: 4px; }
.services-menu[open] summary { color: #8A671B; }
.services-submenu { position: absolute; top: 100%; left: 0; width: 285px; padding: 10px; background: #fff; border: 1px solid #E7E2D7; box-shadow: 0 16px 32px rgba(16,35,63,.15); border-radius: 3px; z-index: 60; }
header nav .services-submenu a { display: flex; align-items: center; min-height: 42px; padding: 9px 12px; font-size: 15px; white-space: normal; text-align: left; justify-content: flex-start; }
.services-submenu a:hover { background: #F8F5EF; }
.nav-contact { background: #10233F; color: #fff; padding: 11px 20px; border-radius: 2px; }
[id="who-we-serve"], [id="our-services"], [id="our-approach"], [id="why-xeta"] { scroll-margin-top: 110px; }
@media (min-width: 901px) {
 header > div { flex-wrap: nowrap; }
 header nav { width: auto; flex-wrap: nowrap; gap: 18px !important; white-space: nowrap !important; }
}
@media (max-width: 767px) {
 header nav, .navigation-ready header nav.is-open { flex-direction: column; align-items: stretch !important; }
 header nav .services-menu { width: 100%; }
 .services-submenu { position: static; width: 100%; box-shadow: none; margin-bottom: 8px; }
 header nav > a, .services-menu summary { min-height: 44px; padding: 10px 12px; }
 header nav .nav-contact { justify-content: center; }
}
@media (max-width: 560px) {
 header nav, .navigation-ready header nav.is-open { grid-template-columns: 1fr; }
}

/* Practice pages: the existing navy, ivory and gold visual language. */
.practice-wrap { max-width:1240px; margin:0 auto; padding:0 24px; }
.practice-hero { background:#0B1830; color:#F4F1EA; padding:38px 0 76px; }
.practice-breadcrumb { font-size:13px; color:#A9B4C6; margin-bottom:48px; }
.practice-breadcrumb a { color:#E0C583; margin-right:10px; }
.practice-eyebrow { font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:#8A671B; margin-bottom:18px; }
.practice-hero .practice-eyebrow,.practice-dark .practice-eyebrow { color:#E0C583; }
.practice-hero h1 { font-size:clamp(36px,4.4vw,58px); line-height:1.13; color:white; max-width:850px; }
.practice-intro { font-size:20px; line-height:1.65; max-width:780px; color:#C4CCDA; margin-top:26px; }
.practice-section { padding:80px 0; }
.practice-section h2 { color:#10233F; font-size:32px; line-height:1.25; }
.practice-ivory { background:#F8F5EF; }
.practice-split { display:grid; grid-template-columns: .9fr 1.1fr; align-items:start; gap:64px; }
.practice-visual img { display:block; width:100%; height:420px; object-fit:cover; }
.practice-experience { display:flex; align-items:center; gap:22px; padding:26px; background:#F8F5EF; border-bottom:3px solid #C8A24A; }
.practice-experience strong { font-family:Marcellus,serif; color:#10233F; font-size:58px; font-weight:400; }
.practice-experience span { max-width:200px; color:#5B6577; line-height:1.6; }
.practice-prose { font-size:17px; line-height:1.8; color:#5B6577; }
.practice-prose p+p { margin-top:18px; }
.practice-prose blockquote { border-left:3px solid #C8A24A; padding-left:24px; margin:24px 0; color:#10233F; font-family:Marcellus,serif; font-size:27px; line-height:1.45; }
.practice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.practice-card { padding:34px; background:white; border:1px solid #E7E2D7; border-top:3px solid #C8A24A; }
.practice-number { display:block; color:#8A671B; font-size:13px; letter-spacing:.12em; margin-bottom:22px; }
.practice-card h2 { font-size:27px; margin-bottom:16px; }
.practice-card p { font-size:17px; color:#5B6577; line-height:1.75; }
.practice-section-intro { max-width:780px; font-size:21px; color:#33405A; line-height:1.65; margin-bottom:38px; }
.practice-section-intro .practice-eyebrow { margin-top:26px; }
.practice-service { display:grid; grid-template-columns: .85fr 1.15fr; gap:64px; padding:44px 0; border-top:1px solid #E7E2D7; }
.practice-service:first-of-type { padding-top:32px; }
.practice-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 24px; margin:24px 0; }
.practice-list li { padding-left:18px; position:relative; }
.practice-list li:before { content:'•'; color:#8A671B; position:absolute; left:0; }
.practice-link { display:inline-block; font-weight:700; color:#10233F; border-bottom:1px solid #B98F2C; padding:8px 0; margin-top:20px; }
.practice-link span { margin-left:12px; }
.practice-steps { list-style:none; padding:0; margin:0 auto; max-width:950px; }
.practice-steps li { display:grid; grid-template-columns:76px 1fr; gap:32px; padding:34px 0; border-bottom:1px solid #DCD5C7; }
.practice-steps li:first-child { padding-top:0; }
.practice-steps h2 { margin-bottom:18px; }
.practice-step-number { display:grid; place-items:center; align-self:start; width:68px; height:68px; background:#10233F; color:#E0C583; font-family:Marcellus,serif; font-size:28px; border-bottom:3px solid #C8A24A; }
.practice-dark { background:#10233F; color:#F4F1EA; }
.practice-dark h2 { color:white; font-size:40px; margin-bottom:26px; }
.practice-dark .practice-prose { color:#C4CCDA; max-width:850px; }
.practice-manifesto { display:flex; flex-wrap:wrap; gap:20px 40px; border-top:1px solid #536075; padding-top:32px; margin-top:36px; font-family:Marcellus,serif; color:#E0C583; font-size:24px; }
.practice-signature { color:#C4CCDA; line-height:1.8; margin-top:32px; }
.practice-next { display:flex; align-items:center; justify-content:space-between; gap:32px; }
.practice-next h2 { max-width:650px; }
@media(max-width:900px) { .practice-split,.practice-service { grid-template-columns:1fr; gap:32px; } .practice-section { padding:52px 0; } .practice-hero { padding:28px 0 50px; } .practice-next { align-items:flex-start; flex-direction:column; } }
@media(max-width:600px) { .practice-wrap { padding:0 20px; } .practice-grid,.practice-list { grid-template-columns:1fr; } .practice-card { padding:26px; } .practice-steps li { grid-template-columns:48px 1fr; gap:18px; } .practice-step-number { width:48px; height:52px; font-size:23px; } .practice-visual img { height:300px; } .practice-breadcrumb { margin-bottom:32px; } .practice-intro { font-size:18px; } }

/* Keep the expanded services menu reachable on shorter screens. */
.services-submenu { max-height: calc(100vh - 150px); overflow-y: auto; overscroll-behavior: contain; }
@media(max-width:767px) { .services-submenu { max-height:60vh; } }

/* Categorized services mega menu. */
header > div { position:relative; }
header .services-menu { position:static; }
header .services-menu:not([open]) > .services-mega { display:none; }
header .services-menu > summary > span { transition:transform .2s; }
header .services-menu[open] > summary > span { transform:rotate(180deg); }
header .services-mega { position:absolute; top:100%; left:24px; width:calc(100% - 48px); max-height:calc(100vh - 110px); max-height:calc(100dvh - 110px); overflow-y:auto; padding:0; border:1px solid #E7E2D7; border-top:3px solid #C8A24A; border-radius:0 0 4px 4px; background:#fff; box-shadow:0 20px 42px rgba(8,19,38,.18); white-space:normal; }
.mega-intro { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:22px 26px; background:#F8F5EF; border-bottom:1px solid #E7E2D7; }
.mega-eyebrow { display:block; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#8A671B; }
.mega-intro p { margin-top:6px; font-size:15px; font-weight:400; line-height:1.5; color:#5B6577; }
.mega-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; padding:26px; }
.mega-category { min-width:0; }
.mega-category + .mega-category { border-left:1px solid #E7E2D7; padding-left:20px; }
header .mega-category h3 { margin:0 0 16px; font-family:Karla,system-ui,sans-serif; font-size:16px; font-weight:700; line-height:1.4; color:#10233F; }
.mega-subcategory { display:block; font-size:10px; line-height:1.6; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:#8A671B; margin:16px 0 5px; }
header nav .services-mega a { display:flex; align-items:center; justify-content:flex-start !important; text-align:left !important; min-height:44px; padding:9px 8px; border-radius:2px; font-size:14px; font-weight:500; line-height:1.45; color:#33405A; white-space:normal; overflow-wrap:anywhere; }
header nav .services-mega a:hover { background:#F8F5EF; color:#795A1A; }
header nav .services-mega .mega-all { flex-shrink:0; gap:12px; font-weight:700; color:#10233F; }
.mega-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:14px 26px; border-top:1px solid #E7E2D7; background:#F8F5EF; }
.mega-footer > span { font-size:14px; font-weight:400; line-height:1.5; color:#5B6577; }
header nav .mega-footer a { font-weight:700; gap:12px; color:#10233F; }
[id="life-insurance"],[id="living-benefits"],[id="tailored-solutions"],[id="gics"],[id="rrsp"],[id="tfsa"],[id="key-person"],[id="buy-sell"],[id="owner-income"],[id="group-benefits"] { scroll-margin-top:120px; }
@media(min-width:1025px) and (max-width:1180px) { .mega-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; } .mega-category:nth-child(4) { border-left:0; padding-left:0; } }
@media(max-width:1024px) {
 header > div { flex-wrap:wrap !important; gap:12px !important; }
 header .menu-toggle { margin-left:auto; }
 .navigation-ready .menu-toggle { display:block; }
 header nav, .navigation-ready header nav.is-open { width:100%; flex-direction:column; align-items:stretch !important; white-space:normal !important; }
 .navigation-ready header nav { display:none !important; }
 .navigation-ready header nav.is-open { display:flex !important; padding-top:12px; border-top:1px solid #E7E2D7; max-height:calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; }
 header nav > a, header .services-menu > summary { min-height:44px; padding:10px 12px; }
 header nav .services-menu { width:100%; }
 header .services-mega { position:static; width:100%; max-height:none; overflow:visible; margin:6px 0 12px; box-shadow:none; }
 .mega-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding:22px; }
 .mega-category + .mega-category { border-left:0; padding-left:0; }
 .mega-category { border-top:1px solid #E7E2D7; padding-top:16px; }
 .mega-category h3 { margin-bottom:12px; }
 .mega-intro { padding:20px 22px; }
 .mega-footer { padding:14px 22px; }
 header nav .nav-contact { justify-content:center; }
}
@media(max-width:560px) {
 .mega-grid { grid-template-columns:minmax(0,1fr); gap:18px; padding:18px; }
 .mega-intro,.mega-footer { flex-direction:column; align-items:flex-start; gap:8px; padding:18px; }
 header nav .services-mega .mega-all { flex-shrink:1; }
 header .mega-category h3 { font-size:17px; }
 header nav .services-mega a { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { header .services-menu > summary > span { transition:none; } }

/* Keep the expanded mobile navigation in one scrollable column. */
@media(max-width:1024px) { header nav, .navigation-ready header nav.is-open { flex-wrap:nowrap !important; } header nav > * { flex:0 0 auto; } }
