:root { --navy:#082b44; --blue:#0b69a9; --sky:#dff3fb; --mist:#f4fafc; --aqua:#52c1c8; --sand:#f4c675; --ink:#17303f; --muted:#5b7180; --white:#fff; --line:#d6e5eb; --shadow:0 20px 60px rgba(8,43,68,.14); }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body { margin:0; color:var(--ink); background:white; font:16px/1.65 "DM Sans",system-ui,sans-serif; }
    a { color:inherit; }
    img { max-width:100%; display:block; }
    button,input,select { font:inherit; }
    .skip { position:absolute; left:-999px; top:8px; z-index:100; padding:10px 16px; background:white; }
    .skip:focus { left:8px; }
    .wrap { width:min(1160px,calc(100% - 40px)); margin-inline:auto; }
    .concept-bar { min-height:38px; display:flex; justify-content:center; align-items:center; gap:10px; padding:7px 20px; color:#27495b; background:#fff4d8; text-align:center; font-size:13px; font-weight:700; }
    .concept-dot { width:8px; height:8px; border-radius:50%; background:#e29526; box-shadow:0 0 0 4px rgba(226,149,38,.16); }
    .topbar { color:white; background:var(--navy); font-size:14px; }
    .topbar .wrap { min-height:42px; display:flex; justify-content:space-between; align-items:center; gap:24px; }
    .topbar .group { display:flex; align-items:center; gap:24px; }
    .topbar a { text-decoration:none; }
    .nav-shell { position:sticky; top:0; z-index:50; background:rgba(255,255,255,.96); border-bottom:1px solid var(--line); backdrop-filter:blur(16px); }
    .nav { min-height:84px; display:flex; justify-content:space-between; align-items:center; gap:30px; }
    .logo { width:166px; height:auto; }
    .nav-links { display:flex; align-items:center; gap:27px; }
    .nav-links a { color:#27495b; font-size:14px; font-weight:700; text-decoration:none; }
    .nav-links a:hover { color:var(--blue); }
    .btn { min-height:48px; display:inline-flex; justify-content:center; align-items:center; gap:9px; padding:12px 20px; border:1px solid transparent; border-radius:999px; color:white; background:var(--blue); font-weight:700; text-decoration:none; cursor:pointer; transition:.2s ease; }
    .btn:hover { transform:translateY(-2px); color:white; background:#075b95; box-shadow:0 12px 28px rgba(11,105,169,.24); }
    .nav-links .btn,.nav-links .btn:hover { color:white; }
    .btn.secondary { color:var(--navy); background:white; border-color:rgba(8,43,68,.22); }
    .menu-button { display:none; padding:8px; border:0; color:var(--navy); background:transparent; font-size:27px; cursor:pointer; }
    main [id] { scroll-margin-top:112px; }
    h1,h2 { margin:0; color:var(--navy); font-family:"Manrope","DM Sans",system-ui,sans-serif; line-height:1.08; letter-spacing:-.035em; font-variant-ligatures:none; font-feature-settings:"liga" 0,"clig" 0; }
    h1 { max-width:800px; font-size:clamp(44px,5.3vw,70px); }
    h2 { font-size:clamp(34px,4vw,50px); }
    .eyebrow { display:inline-flex; align-items:center; gap:10px; margin:0 0 18px; color:var(--blue); font-size:13px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
    .eyebrow::before { content:""; width:32px; height:2px; background:var(--aqua); }
    .page-hero { position:relative; padding:100px 0 118px; overflow:hidden; background:linear-gradient(135deg,#edf9fc 0%,#fff 57%,#fff4d8 100%); }
    .page-hero::before { content:""; position:absolute; width:460px; height:460px; right:-180px; top:-210px; border-radius:50%; background:rgba(82,193,200,.17); }
    .page-hero::after { content:""; position:absolute; width:180px; height:180px; right:260px; bottom:-110px; border-radius:50%; background:rgba(244,198,117,.24); }
    .hero-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:70px; align-items:center; }
    .page-hero p:not(.eyebrow) { max-width:660px; margin:24px 0 30px; color:var(--muted); font-size:18px; }
    .need-card { position:relative; z-index:1; padding:27px; border:1px solid rgba(11,105,169,.14); border-radius:24px; background:rgba(255,255,255,.92); box-shadow:var(--shadow); }
    .need-card h2 { margin:0 0 15px; color:var(--navy); font:700 21px/1.2 "Manrope","DM Sans",system-ui,sans-serif; letter-spacing:-.02em; }
    .need-links { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
    .need-links a { min-height:62px; display:flex; align-items:center; gap:10px; padding:11px 13px; border:1px solid var(--line); border-radius:12px; color:#31586d; background:white; font-size:13px; font-weight:700; text-decoration:none; }
    .need-links a:hover { border-color:var(--aqua); background:var(--sky); }
    .need-links b { width:42px; height:42px; display:grid; place-items:center; flex:0 0 auto; border:1px solid rgba(11,105,169,.14); border-radius:12px; color:transparent; background-color:#eef9fd; background-repeat:no-repeat; background-position:center; background-size:24px 24px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.75); transition:transform .2s ease, background-color .2s ease, border-color .2s ease; }
    .need-links a:nth-child(1) b { background-image:url("../icons/hugeicons-dental-care.svg"); }
    .need-links a:nth-child(2) b { background-image:url("../icons/hugeicons-dental-broken-tooth.svg"); }
    .need-links a:nth-child(3) b { border-color:rgba(224,178,74,.34); background-color:#fff8e8; background-image:url("../icons/hugeicons-smile-plus.svg"); }
    .need-links a:nth-child(4) b { background-image:url("../icons/healthicons-accident-and-emergency-outline.svg"); }
    .need-links a:hover b { transform:translateY(-1px); border-color:rgba(11,105,169,.28); background-color:#fff; }
    .verify-note { margin-top:15px; color:#755f2a; font-size:12px; }
    .explorer { padding:92px 0 105px; background:var(--mist); }
    .section-head { display:grid; grid-template-columns:.85fr 1.15fr; gap:55px; align-items:end; margin-bottom:35px; }
    .section-head p { margin:0; color:var(--muted); font-size:17px; }
    .tools { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:28px; padding:16px; border:1px solid var(--line); border-radius:16px; background:white; }
    .filters { display:flex; flex-wrap:wrap; gap:8px; }
    .filter { padding:9px 14px; border:1px solid var(--line); border-radius:999px; color:#31586d; background:white; font-size:13px; font-weight:700; cursor:pointer; }
    .filter:hover,.filter[aria-pressed="true"] { color:white; border-color:var(--blue); background:var(--blue); }
    .search-label { position:relative; min-width:260px; }
    .search-label span { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:var(--muted); }
    .search-label input { width:100%; min-height:43px; padding:9px 12px 9px 38px; border:1px solid var(--line); border-radius:999px; color:var(--ink); background:white; }
    .search-label input:focus { outline:3px solid rgba(82,193,200,.25); border-color:var(--aqua); }
    .mobile-service-jump { display:none; }
    .service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
    .service-card { position:relative; min-height:260px; display:flex; flex-direction:column; padding:26px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:white; box-shadow:0 7px 25px rgba(8,43,68,.05); transition:transform .2s ease,border-color .2s ease; }
    .service-card:hover { transform:translateY(-3px); border-color:#8cc9d7; }
    .service-card[hidden] { display:none; }
    .service-top { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
    .service-icon { width:46px; height:46px; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; color:var(--blue); background:var(--sky); font-size:21px; }
    .service-icon img { width:27px; height:27px; display:block; object-fit:contain; }
    .tag { padding:5px 8px; border-radius:999px; color:#35667b; background:#eef7fa; font-size:10px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
    .service-card h3 { margin:20px 0 8px; color:var(--navy); font-size:20px; }
    .service-card p { margin:0 0 18px; color:var(--muted); font-size:14px; }
    .service-card a { margin-top:auto; color:var(--blue); font-weight:700; text-decoration:none; }
    .service-card a:hover { text-decoration:underline; }
    .no-results { display:none; padding:35px; text-align:center; color:var(--muted); background:white; border:1px solid var(--line); border-radius:16px; }
    .review-band { padding:80px 0; color:white; background:var(--navy); }
    .band-grid { display:grid; grid-template-columns:1fr auto; align-items:center; gap:40px; }
    .review-band h2 { color:white; }
    .review-band p { max-width:760px; margin:16px 0 0; color:#c9dce6; }
    .review-band .btn { background:var(--aqua); color:var(--navy); }
    .faq { padding:90px 0; }
    .faq-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:65px; }
    details { padding:19px 0; border-bottom:1px solid var(--line); }
    summary { cursor:pointer; color:var(--navy); font-weight:700; list-style:none; }
    summary::-webkit-details-marker { display:none; }
    summary::after { content:"+"; float:right; color:var(--blue); font-size:22px; }
    details[open] summary::after { content:"−"; }
    details p { margin:10px 32px 0 0; color:var(--muted); font-size:14px; }
    footer { padding:55px 0 28px; color:#d8e7ee; background:#061f31; }
    .footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr 1fr; gap:45px; }
    .footer-logo { width:165px; height:auto; }
    footer p,footer a { color:#a9c0cc; font-size:14px; }
    footer a { display:block; margin:7px 0; text-decoration:none; }
    footer a:hover { color:white; }
    footer h3 { margin:0 0 12px; color:white; font-size:15px; }
    footer address { margin-top:17px; color:#a9c0cc; font-size:14px; font-style:normal; }
    footer address strong { display:block; margin-bottom:5px; color:white; }
    footer address a,footer address span { display:block; margin:4px 0; }
    .legal { margin-top:38px; padding-top:22px; display:flex; justify-content:space-between; gap:20px; color:#7f9baa; border-top:1px solid rgba(255,255,255,.12); font-size:12px; }
    .mobile-actions { display:none; }
    @media (max-width:1120px) {
      .topbar .hours { display:none; }
      .menu-button { display:block; }
      .nav-links { display:none; position:absolute; top:84px; left:20px; right:20px; max-height:calc(100vh - 110px); max-height:calc(100dvh - 110px); padding:20px; overflow-y:auto; flex-direction:column; align-items:stretch; background:white; border:1px solid var(--line); border-radius:18px; box-shadow:var(--shadow); }
      .nav-links.open { display:flex; }
      .nav-links a:not(.btn) { min-height:44px; display:flex; align-items:center; padding:10px 8px; }
      .nav-links .btn { width:100%; }
      .hero-grid,.section-head,.faq-grid { grid-template-columns:1fr; }
      .hero-grid { gap:40px; }
      .service-grid { grid-template-columns:1fr 1fr; }
      .tools { align-items:stretch; flex-direction:column; }
      .search-label { min-width:0; }
      .footer-grid { grid-template-columns:1fr 1fr; }
    }
    @media (max-width:620px) {
      .wrap { width:min(100% - 28px,1160px); }
      .concept-bar { font-size:11px; }
      .topbar .email { display:none; }
      .nav { min-height:72px; }
      .nav-links { top:72px; }
      .logo { width:138px; }
      .page-hero { padding:72px 0; }
      .need-links { grid-template-columns:1fr; }
      .explorer,.faq { padding:70px 0; }
      .section-head { gap:18px; }
      .service-grid,.footer-grid { grid-template-columns:1fr; }
      main [id] { scroll-margin-top:94px; }
      .mobile-service-jump { display:grid; gap:6px; margin-bottom:18px; color:var(--navy); font-size:13px; font-weight:700; }
      .mobile-service-jump select { width:100%; min-height:48px; padding:10px 38px 10px 13px; border:1px solid var(--line); border-radius:12px; color:var(--ink); background:white; }
      .band-grid { grid-template-columns:1fr; }
      .review-band .btn { width:100%; }
      .legal { flex-direction:column; }
      body { padding-bottom:calc(68px + env(safe-area-inset-bottom)); }
      .mobile-actions { position:fixed; z-index:80; left:0; right:0; bottom:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; padding:8px 8px max(8px,env(safe-area-inset-bottom)); background:white; border-top:1px solid var(--line); box-shadow:0 -8px 30px rgba(8,43,68,.12); }
      .mobile-actions .btn { min-width:0; min-height:50px; padding-inline:6px; overflow:hidden; border-radius:10px; font-size:12px; white-space:nowrap; }
    }
    .top-social{display:flex;align-items:center;gap:7px}.top-social a{display:grid;width:30px;height:30px;place-items:center;border:1px solid rgba(255,255,255,.38);border-radius:50%;text-decoration:none}.top-social img{width:15px;height:15px;display:block;filter:brightness(0) invert(1)}.top-social a:hover,.top-social a:focus-visible{background:white;text-decoration:none;outline:none}.top-social a:hover img,.top-social a:focus-visible img{filter:none}
    @media(max-width:620px){.topbar .wrap{justify-content:center}.topbar .group:first-child{display:none}.topbar .group:last-child{gap:12px}.topbar .group:last-child>span{display:none}.topbar .group:last-child>a{display:none}}
