:root{--page-gutter:clamp(20px,3vw,64px);--section-ivory:#f0f0e9;--navy:#122c3b;--ink:#17303d;--muted:#52636b;--paper:#faf9f5;--copper:#b66840;--line:#dadfdb}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #be764f;outline-offset:5px}.topbar{display:flex;justify-content:space-between;background:var(--navy);color:#fff;padding:9px var(--page-gutter);font-size:11px;letter-spacing:.06em}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--page-gutter);border-bottom:1px solid var(--line);background:var(--paper)}.brand img{width:205px;height:68px;object-fit:contain}nav{display:flex;align-items:center;gap:31px;font-size:15px;font-weight:600}.portal{background:var(--navy);color:#fff;border:1px solid transparent;padding:11px 19px;border-radius:4px}.portal:hover{background:#284958}.menu{display:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;min-height:645px;padding:65px var(--page-gutter) 62px;gap:45px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;margin-bottom:23px;display:flex;align-items:center;gap:9px}.eyebrow>span{height:7px;width:7px;background:var(--copper);border-radius:100%}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,sans-serif;font-weight:500}h1{font-size:clamp(45px,4.5vw,70px);line-height:1.09;letter-spacing:-.055em}em{font-family:Georgia,serif;font-weight:400;color:var(--copper)}.hero-copy>p{max-width:465px;font-size:16px;color:var(--muted);margin-top:26px}.actions{display:flex;align-items:center;gap:23px;margin-top:30px}.button{background:var(--copper);color:white;display:inline-flex;gap:26px;align-items:center;justify-content:space-between;padding:15px 21px;font-size:14px;font-weight:600;border-radius:3px;transition:transform .2s,background .2s}.button:hover{background:#955334;transform:translateY(-2px)}.button span{font-size:20px}.text-link{font-size:14px;font-weight:600;border-bottom:1px solid #9da8a9;padding-bottom:4px}.hero-note{display:flex;gap:10px;align-items:center;font-size:13px;color:var(--muted);margin-top:29px}.note-icon{color:var(--copper);border:1px solid #d9b49e;border-radius:100%;width:21px;height:21px;text-align:center}.hero-art{position:relative;overflow:hidden;min-height:510px;background:#183a49;border-radius:5px;color:white}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff07 1px,transparent 1px),linear-gradient(90deg,#ffffff07 1px,transparent 1px);background-size:58px 58px}.orb{position:absolute;border-radius:100%;filter:blur(45px);width:250px;height:250px;background:#6a8b7f55}.orb-one{top:-90px;right:-70px}.orb-two{bottom:-110px;left:-70px;background:#c78b5550}.art-label{position:absolute;top:29px;left:30px;font-size:10px;line-height:1.8;letter-spacing:.14em;color:#b3c3c8}.art-label b{font-weight:500;color:#e0e6e6}.art-ring{position:absolute;left:50%;top:48%;border:1px solid #b8c4bb33;border-radius:100%;transform:translate(-50%,-50%)}.r1{width:190px;height:190px}.r2{width:310px;height:310px}.r3{width:435px;height:435px}.center-mark{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);font-family:Georgia,serif;font-size:130px;line-height:1;color:#f0e6d8}.center-mark span{font-size:68px;color:#c9916a;margin-left:-15px}.art-card{position:absolute;display:flex;align-items:center;gap:15px;background:#f8f6ef;color:var(--ink);padding:17px 23px;box-shadow:0 15px 30px #0002;border-radius:4px}.art-card i{font-style:normal;font-size:25px;color:var(--copper)}.art-card small{font-size:8px;letter-spacing:.13em;display:block;color:var(--muted)}.art-card strong{font-weight:500;font-size:14px}.card-one{bottom:calc(52% + 72px);right:23px;transform:rotate(3deg)}.card-two{bottom:95px;left:24px;transform:rotate(-4deg)}.art-bottom{position:absolute;bottom:24px;left:29px;right:29px;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.14em;color:#aec2c8}.trust-strip{padding:26px var(--page-gutter);border-block:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px}.trust-strip>span:first-child{color:var(--muted);font-size:11px}.trust-strip b{font-weight:500}.dot{color:var(--copper)}.section{padding:90px var(--page-gutter)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:60px;margin-bottom:42px}h2{font-size:clamp(32px,3.1vw,48px);line-height:1.2;letter-spacing:-.045em}.section-heading>p{max-width:345px;color:var(--muted);font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service{text-align:left;background:transparent;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:29px 30px 28px;color:var(--ink);cursor:pointer;transition:background .2s}.service:hover{background:#f0eee6}.service-top{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--copper);margin-bottom:33px}.arrow{border:1px solid #d7d7cd;border-radius:100%;width:32px;height:32px;text-align:center;line-height:30px;font-size:20px}.service h3{font-size:22px;margin-bottom:14px;letter-spacing:-.03em}.service p{font-size:16px;color:var(--muted);min-height:85px}.service-more{display:inline-block;font-size:13px;font-weight:600;margin-top:24px;border-bottom:1px solid #a8b1af}.approach{background:var(--navy);color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:90px}.approach .eyebrow{color:#c4a58c}.approach em{color:#d7a983}.approach-intro p{font-size:16px;color:#bfccd0;max-width:440px;margin:24px 0 30px}.steps article{display:flex;gap:25px;padding:26px 0;border-bottom:1px solid #ffffff25}.steps article:first-child{padding-top:0}.steps article>span{color:#d5a47c;font-size:12px}.steps h3{font-size:20px;margin-bottom:11px}.steps p{font-size:16px;color:#b9c8ce}.portal-section{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.portal-section>div>p{font-size:16px;color:var(--muted);margin:24px 0 30px;max-width:430px}.navy{background:var(--navy)}.navy:hover{background:#284958}.portal-visual{background:#e8ece6;padding:45px 50px 22px;border-radius:5px}.portal-window{background:#fff;box-shadow:0 15px 30px #17303d13;transform:rotate(-2deg);border-radius:6px;overflow:hidden}.window-top{border-bottom:1px solid var(--line);padding:14px;display:flex;justify-content:space-between;align-items:center}.window-top img{width:100px}.window-top>span{font-size:6px;letter-spacing:.08em}.window-body{padding:24px 30px 30px}.lock{display:block;color:var(--copper);margin-top:12px}.window-body h3{font-size:25px;line-height:1.3;margin:10px 0 25px}.file-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:10px 0;font-size:10px}.file-row b{color:var(--copper)}.visual-caption{font-size:8px;letter-spacing:.12em;text-align:center;display:block;margin-top:25px;color:var(--muted)}.team{background:var(--section-ivory)}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.portrait{width:100%;max-width:280px;aspect-ratio:1178/1335;overflow:hidden;border-radius:3px}.portrait img{display:block;width:100%;height:auto}.person h4{font-size:20px;margin-top:22px}.role{font-size:13px;color:var(--copper);margin-top:5px}.person>p{font-size:15px;color:var(--muted);margin-top:13px;max-width:330px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:80px}.faq>div>p{font-size:15px;color:var(--muted);margin-top:25px}.faq>div>p a{display:inline-block;border-bottom:1px solid #aab1ab;margin-top:10px}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;font-size:16px;padding:23px 0;list-style:none}summary::-webkit-details-marker{display:none}summary span{color:var(--copper);font-size:22px;line-height:1}details[open] summary span{transform:rotate(45deg)}details p{font-size:15px;color:var(--muted);padding:0 25px 24px 0}.contact{background:var(--paper)}.contact-heading{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-links{display:flex;gap:36px;margin:35px 0 47px;font-size:14px}.contact-appointment{width:fit-content;text-align:center}.contact-appointment-note{margin:8px 0 0;font-size:13px;color:var(--muted)}.offices{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c8d1cb;padding-top:32px;gap:40px}.offices h3{font-size:19px}.offices p{font-size:15px;margin:15px 0 12px;color:var(--muted)}.offices small{font-size:13px;color:var(--muted)}.offices article {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.offices a {
  display: block;
  font-size: 14px;
  margin-top: auto;
  padding-top: 23px;
  font-weight: 600;
}footer{background:var(--navy);color:#c0cbd0;padding:48px var(--page-gutter) 20px}.footer-top,.footer-bottom{display:flex;justify-content:space-between;gap:20px}.footer-brand{font-size:25px;font-weight:700;color:#fff;letter-spacing:-.04em}.footer-brand span{font-size:12px;font-weight:400;display:block;letter-spacing:0;margin-top:6px}.footer-top>div{display:flex;flex-wrap:wrap;gap:28px;font-size:13px;align-items:center}.footer-bottom{border-top:1px solid #ffffff20;margin-top:40px;padding-top:20px;font-size:12px}.footer-bottom>div{display:flex;gap:25px}dialog{border:0;padding:50px;max-width:570px;width:calc(100% - 30px);background:var(--paper);color:var(--ink);border-radius:6px;box-shadow:0 30px 80px #0003}dialog::backdrop{background:#0a202bbb;backdrop-filter:blur(5px)}dialog h2{font-size:40px}dialog h3{font-size:19px;margin:24px 0 15px}dialog p{font-size:14px;color:var(--muted);margin-bottom:28px}dialog .text-link{display:table;margin-top:25px}.close{position:absolute;right:18px;top:12px;border:0;background:none;font-size:28px;cursor:pointer;color:var(--ink)}@media(max-width:1000px){nav{gap:18px}.hero{gap:28px}.actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-art{min-height:540px}.section{padding:65px var(--page-gutter)}.approach,.portal-section{gap:45px}.portal-visual{padding:30px 25px 20px}.service{padding:24px}.service p{min-height:110px}.contact-links{flex-wrap:wrap}}@media(max-width:720px){.topbar{font-size:9px}.topbar>span{max-width:155px}header{height:80px}.brand img{width:170px;height:58px}.menu{display:block;background:none;border:1px solid var(--line);font-size:20px;padding:3px 10px;border-radius:3px;color:var(--ink)}nav{display:none;position:absolute;z-index:10;top:120px;left:0;right:0;background:var(--paper);padding:24px 6%;box-shadow:0 15px 20px #0001;align-items:stretch}nav.open{display:flex;flex-direction:column}.hero{grid-template-columns:1fr;padding:45px 6%;gap:36px}.eyebrow{font-size:8px}h1{font-size:54px}.hero-copy>p{font-size:15px}.actions{flex-direction:row;flex-wrap:wrap;align-items:center}.hero-art{min-height:420px}.card-two{bottom:75px}.trust-strip{flex-wrap:wrap;justify-content:center;text-align:center;font-size:10px}.trust-strip>span:first-child{width:100%}.dot{display:none}.section{padding:55px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:22px}h2{font-size:36px}.service-grid{grid-template-columns:1fr 1fr}.service{padding:20px}.service h3{font-size:19px}.service p{min-height:125px}.service-top{margin-bottom:20px}.approach,.portal-section,.faq{grid-template-columns:1fr;gap:38px}.portal-section>div:last-child{grid-row:1}.portal-visual{max-width:470px;width:100%;margin:auto}.team-grid{grid-template-columns:1fr;gap:36px}.person h4{margin-top:17px}.person>p{max-width:none}.contact-heading{display:block}.contact-heading .button{margin-top:28px}.contact-appointment-note{text-align:start}.contact-links{flex-direction:column;gap:12px;margin:28px 0}.offices{grid-template-columns:1fr;gap:30px}.offices article{border-bottom:1px solid #c8d1cb;padding-bottom:24px}.footer-top,.footer-bottom{flex-direction:column}.footer-top>div{flex-wrap:wrap;gap:22px}.footer-bottom>div{gap:18px;flex-wrap:wrap}dialog{padding:40px 28px}dialog h2{font-size:32px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.arrow,.button span,.art-card i,.file-row b{font-family:Arial,sans-serif}a{font-family:'DM Sans',Arial,sans-serif}

.detail-hero {
  background: #e8ede8;
  padding-top: 54px;
  padding-bottom: 64px;
}
.detail-hero .eyebrow { margin: 32px 0 15px; }
.detail-hero p { max-width: 690px; margin-top: 16px; color: var(--muted); }
.detail-hero .detail-tag { color: var(--ink); font-size: 23px; }
.detail-hero .button { margin-top: 26px; }
.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.5fr) minmax(225px, 1fr);
  align-items: start;
  gap: clamp(35px, 7vw, 115px);
}
.detail-content section + section {
  margin-top: 27px;
  padding-top: 27px;
  border-top: 1px solid var(--line);
}
.detail-content h2 { font-size: clamp(24px, 2.4vw, 34px); margin-bottom: 12px; }
.detail-content p { color: var(--muted); }
.detail-related { border: 1px solid var(--line); padding: 24px; }
.detail-related h2 { font-size: 20px; margin-bottom: 14px; }
.detail-related a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--line);
  font-size: 14px;
}
.detail-related a:hover { text-decoration: underline; }
.detail-related a[aria-current="page"] { font-weight: 700; }
@media (max-width: 720px) {
  .detail-hero h1 { font-size: clamp(37px, 9vw, 54px); }
  .detail-layout { grid-template-columns: 1fr; }
}

.reviews {
  background: var(--section-ivory);
  border-top: 1px solid var(--line);
}
.reviews-testimonials > h2 { margin-bottom: 24px; }
.reviews-invitation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: clamp(24px, 4vw, 48px);
  max-width: 840px;
  margin: 18px auto 0;
  padding: clamp(24px, 4vw, 44px);
  background: var(--navy);
  color: #fff;
  border-radius: 12px;
}
.reviews-invitation .eyebrow { color: #eab99e; margin-bottom: 12px; }
.reviews-invitation h3 { font-size: 24px; }
.reviews-invitation p { max-width: 460px; color: #e4eae9; margin: 12px 0 20px; }
.reviews-invitation .button { background: var(--paper); color: var(--ink); }
.reviews-invitation .button:hover { background: #e8ede8; }
.review-code {
  flex: 0 0 auto;
  margin: 0;
  text-align: center;
  background: #fff;
  padding: 12px;
  border-radius: 6px;
}
.review-code img { display: block; margin: 0 auto 7px; image-rendering: pixelated; }
.review-code figcaption { font-size: 12px; color: var(--ink); }
@media (max-width: 620px) {
  .reviews-invitation { flex-direction: column; align-items: flex-start; }
}

.soc-attestation {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-top: 25px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.soc-attestation img { width: 68px; height: auto; flex: 0 0 auto; }
.soc-attestation h3 { font-size: 15px; font-weight: 700; }
.soc-attestation p { color: var(--muted); font-size: 13px; margin-top: 4px; }

.office-notary {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
}
.office-notary svg { flex: 0 0 auto; color: var(--copper); }

.contact-form-preview {
  max-width: 880px;
  margin: 0 auto 48px;
  padding: clamp(18px, 4vw, 32px);
  background: var(--section-ivory);
  text-align: center;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.contact-form-preview h3 { font-size: 24px; }
.contact-form-preview p { margin: 8px 0 18px; color: var(--muted); }
.contact-form-preview iframe {
  display: block;
  width: 100%;
  height: 930px;
  border: 1px solid var(--line);
  border-radius: 6px;
}

.link-arrow-icon {
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  vertical-align: -0.08em;
}
@media (max-width: 720px) {
  .contact-form-preview iframe { height: 1480px; }
}

/* Match review text to the surrounding site. */
.elfsight-app-fa46da04-c0fe-41e4-a05e-6c126725a056 :is(
  [class*="Main__Container-sc"], p, a, button, [class*="es-review"]
) {
  font-family: "DM Sans", Arial, sans-serif !important;
}

.privacy-content {
  max-width: 920px;
  margin-inline: auto;
}
.privacy-content section p + p { margin-top: 10px; }
.privacy-content section h3 { margin: 16px 0 8px; }

.contact-form-preview .contact-scroll-hint {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
}

.team-group-title { margin: 0 0 20px; font-size: 21px; }
.team-grid + .team-group-title { margin-top: 42px; }
.person h4 { font-family: Manrope, sans-serif; font-weight: 500; }

/* Use the viewport width while keeping text and controls readable. */
header { position: relative; }
.hero, .section, .trust-strip, header, .topbar, footer {
  padding-inline: var(--page-gutter);
}
.hero {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  min-height: 0;
  gap: clamp(28px, 4vw, 96px);
  align-items: center;
  padding-block: clamp(40px, 3.5vw, 72px);
}
.hero-copy { min-width: 0; }
.hero h1 { font-size: clamp(52px, 4.2vw, 96px); }
.hero-copy > p { max-width: 56ch; }
.hero-art { min-height: clamp(460px, 29vw, 640px); }
.section { padding-block: clamp(48px, 4vw, 80px); }
.section-heading { gap: clamp(28px, 4vw, 80px); }
.section-heading > p { max-width: 52ch; }
.approach, .portal-section, .faq {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(32px, 4vw, 96px);
}
.approach-intro p, .portal-section > div > p { max-width: 56ch; }
.service-grid, .team-grid, .offices { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.service p { min-height: 0; }
.service { display: flex; flex-direction: column; }
.service-more { align-self: flex-start; margin-top: auto; padding-top: 24px; }
.team > .section-heading, .team > .team-group-title, .team-grid {
  width: 100%;
  max-width: 880px;
  margin-inline: auto;
}
.team-grid {
  grid-template-columns: repeat(3, minmax(0, 240px));
  justify-content: space-between;
  gap: 28px;
}
.person { min-width: 0; }
.portrait { max-width: none; }
.person > p { max-width: none; }
.offices {
  width: 100%;
  max-width: 1040px;
  margin-inline: auto;
  gap: clamp(24px, 3vw, 64px);
}
.offices article {
  display: grid;
  grid-template-rows: auto minmax(3.3em, auto) auto 30px auto;
  align-content: start;
  align-items: start;
}
.offices h3 { grid-row: 1; }
.offices p { grid-row: 2; }
.offices small:not(.office-notary) { grid-row: 3; }
.offices .office-notary { grid-row: 4; }
.offices a { grid-row: 5; margin-top: 0; }

.person h4 { margin-bottom: 0; }
.footer-top { flex-wrap: wrap; }
.footer-top > div { gap: 20px; }
.reviews-invitation { max-width: 1040px; }
.contact-form-preview { max-width: 1040px; }
.detail-content { min-width: 0; }
.detail-content p { max-width: 85ch; }

@media (max-width: 1000px) {
  .menu {
    display: block;
    background: none;
    border: 1px solid var(--line);
    font-size: 20px;
    padding: 3px 10px;
    border-radius: 3px;
    color: var(--ink);
  }
  header nav {
    display: none;
    position: absolute;
    z-index: 10;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--paper);
    padding: 24px var(--page-gutter);
    box-shadow: 0 15px 20px #0001;
    align-items: stretch;
  }
  header nav.open { display: flex; flex-direction: column; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero h1 { font-size: clamp(44px, 5.4vw, 60px); }
  .hero-art { min-height: 460px; }
  .contact-heading { align-items: flex-start; }
}
@media (max-width: 720px) {
  .hero, .approach, .portal-section, .faq { grid-template-columns: minmax(0, 1fr); }
  .hero h1 { font-size: clamp(40px, 10vw, 54px); }
  .hero-art { min-height: 400px; }
  .team-grid, .offices { grid-template-columns: minmax(0, 1fr); }
  .team-grid { max-width: 240px; }
  .team > .team-group-title { max-width: 240px; }
  .offices article { display: flex; }
  .offices article:nth-child(2) { order: -1; }
  .offices a { margin-top: 0; }
  .section-heading > p { max-width: 56ch; }
  .contact-appointment { max-width: 100%; }
  .contact-appointment .button { gap: 16px; }
  .contact-links a { overflow-wrap: anywhere; }
}
@media (max-width: 600px) {
  .service-grid { grid-template-columns: minmax(0, 1fr); }
  .service { padding: 24px; }
  .service p { min-height: 0; }
  .contact-form-preview { padding: 18px 12px; }
  .reviews-invitation { padding: 28px 22px; }
}

@media (max-width: 720px) {
  .hero-art { min-height: 480px; }
  .hero-art .center-mark { top: 52%; }
  .art-card { padding: 13px 16px; gap: 12px; }
  .card-one { top: 86px; bottom: auto; right: 18px; }
  .card-two { bottom: 65px; left: 18px; }
}

@media (min-width: 721px) {
  .offices article:nth-child(2) {
    text-align: center;
    justify-items: center;
  }
  .offices article:nth-child(3) {
    text-align: right;
    justify-items: end;
  }
  .team > .section-heading {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: end;
    gap: 32px;
  }
}

/* Balanced lower-page layouts: compact portraits, wider useful content. */
.team > .section-heading, .team > .team-group-title, .team-grid {
  max-width: none;
}
.team-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(24px, 2.5vw, 48px);
}
.person { padding-top: 20px; border-top: 1px solid var(--line); }
.portrait { width: 100%; max-width: 240px; }
.faq {
  grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
  gap: clamp(32px, 4vw, 72px);
}
.reviews-invitation { max-width: none; margin-top: 28px; }
.reviews-invitation > div { flex: 1; }
.reviews-invitation p { max-width: 65ch; }
.contact-form-preview { max-width: none; margin-bottom: 40px; }
.offices { max-width: none; }
@media (min-width: 1200px) {
  .person {
    display: grid;
    grid-template-columns: clamp(140px, 10vw, 200px) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 22px;
    align-content: start;
  }
  .person .portrait { grid-column: 1; grid-row: 1 / 4; margin: 0; }
  .person h4 { grid-column: 2; margin: 0 0 6px; font-size: 18px; }
  .person .role { grid-column: 2; margin: 0 0 10px; }
  .person > p { grid-column: 2; margin: 0; font-size: 14px; }
}
@media (max-width: 720px) {
  .team-grid { grid-template-columns: minmax(0, 1fr); max-width: none; gap: 24px; }
  .team > .team-group-title { max-width: none; }
  .person { display: grid; grid-template-columns: 100px minmax(0, 1fr); column-gap: 18px; }
  .person .portrait { grid-column: 1; grid-row: 1 / 4; margin: 0; }
  .person h4 { grid-column: 2; margin: 0 0 6px; font-size: 18px; }
  .person .role { grid-column: 2; margin: 0 0 10px; }
  .person > p { grid-column: 2; margin: 0; font-size: 14px; }
  .faq { grid-template-columns: minmax(0, 1fr); }
}

/* Bring hero copy closer to its visual and give the message form a clear split. */
@media (min-width: 1001px) {
  .hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 3vw, 64px); }
  .hero-copy { padding-left: clamp(24px, 3vw, 64px); }
}
.contact-form-preview {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr);
  gap: clamp(28px, 4vw, 72px);
  align-items: start;
  text-align: left;
}
.contact-form-intro { padding-top: 6px; }
.contact-form-intro h3 { font-size: clamp(28px, 2.3vw, 36px); letter-spacing: -.035em; }
.contact-form-intro p { max-width: 36ch; }
.contact-form-fields { min-width: 0; }
.contact-form-fields > p { font-size: 14px; }
@media (max-width: 1000px) {
  .contact-form-preview { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .contact-form-intro p { max-width: none; }
}

/* Keep the ways to reach us together beside the form. */
.contact > .contact-heading { margin-bottom: 32px; }
.contact-form-intro .contact-links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  margin: 32px 0;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  font-size: 16px;
}
.contact-form-intro .contact-appointment { text-align: left; }
.contact-form-intro .contact-appointment .button { max-width: 100%; }
.contact-form-intro .contact-appointment-note { text-align: left; font-size: 13px; margin-top: 12px; }
@media (max-width: 600px) {
  .contact-form-intro .contact-links { margin: 24px 0; font-size: 15px; }
}

/* Keep the review invitation together and use the contact sidebar for offices. */
.reviews-invitation { justify-content: center; gap: clamp(28px, 5vw, 88px); }
.reviews-invitation > div { flex: 0 1 680px; }
.contact-form-intro .offices {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 32px;
  border-top: 1px solid var(--line);
}
.contact-form-intro .offices article {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 18px 0;
  border-bottom: 1px solid var(--line);
}
.contact-form-intro .offices article:nth-child(2) { order: -1; }
.contact-form-intro .offices h3 { font-size: 18px; }
.contact-form-intro .offices p { font-size: 14px; margin: 6px 0; }
.contact-form-intro .offices small { font-size: 12px; }
.contact-form-intro .offices a { font-size: 13px; margin-top: 10px; }
.contact-form-preview iframe { height: 760px; }
@media (min-width: 1001px) and (max-width: 1400px) {
  .contact-form-preview iframe { height: 870px; }
}
@media (min-width: 721px) and (max-width: 1000px) {
  .contact-form-intro .offices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
  .contact-form-preview iframe { height: 850px; }
}
@media (max-width: 720px) {
  .contact-form-preview iframe { height: 1370px; }
}

/* Contact navigation starts at the message form, with no separate intro banner. */
#contact { scroll-margin-top: -80px; padding-top: 24px; border-top: 1px solid var(--line); }
.contact-form-intro .eyebrow { margin-bottom: 16px; }

@media (max-width: 1000px) {
  #contact { scroll-margin-top: -70px; }
  .contact-form-intro .offices { order: 1; }
  .contact-form-intro { display: contents; }
  .contact-form-preview { display: flex; flex-direction: column; }
  .contact-form-intro > .eyebrow { margin-bottom: -6px; }
  .contact-form-intro > h2 { margin: 0; }
  .contact-form-intro > p { margin: 0; }
  .contact-form-fields { width: 100%; }
  .contact-form-intro .contact-links { margin: 4px 0; padding-top: 14px; width: 100%; gap: 10px; }
  .contact-form-intro .contact-appointment { margin-bottom: 8px; }
  .contact-form-intro .offices { width: 100%; margin-top: 12px; }
}

/* Restore the section headline while keeping the form visible beside it. */
.contact-form-fields > h3 { font-size: 24px; margin-bottom: 12px; }
.contact-form-intro .offices article { gap: 0; padding: 12px 0; }
.contact-form-intro .offices p { line-height: 1.5; margin: 5px 0; }
.contact-form-intro .offices a { margin-top: 6px; }
@media (min-width: 1001px) {
  .contact-form-preview { align-items: stretch; }
  .contact-form-intro { display: flex; flex-direction: column; padding-bottom: 36px; }

  .contact-form-intro .contact-links { margin: 20px 0; padding-top: 18px; gap: 12px; }
  .contact-form-intro .offices { margin-top: auto; padding-top: 20px; border-top: 0; }
  .contact-form-intro .offices article:first-child { border-top: 1px solid var(--line); }
}

/* Share one bottom edge between the office rule and embedded form. */
@media (min-width: 1001px) {
  .contact-form-preview { padding-bottom: 32px; }
  .contact-form-intro { padding-bottom: 0; }
  .contact-form-fields {
    position: relative;
    display: flex;
    flex-direction: column;
  }
  .contact-form-fields iframe {
    flex: 1 0 760px;
    height: auto;
    min-height: 760px;
  }
}
@media (min-width: 1001px) and (max-width: 1400px) {
  .contact-form-fields iframe { flex-basis: 870px; min-height: 870px; }
}

/* One continuous off-white background separates Contact from ivory Reviews. */
#contact { background: var(--paper); padding-top: clamp(48px, 4vw, 80px); }
.contact-form-preview {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  margin-bottom: 0;
}

/* Give client reviews the same introduction pattern as the other sections. */
.reviews-heading { margin-bottom: 24px; }
.reviews-heading .eyebrow { margin-bottom: 16px; }
.reviews .reviews-invitation { margin-top: 16px; padding-block: 28px; gap: clamp(28px, 4vw, 64px); }
@media (max-width: 720px) {
  .reviews-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
  .reviews-heading > p { max-width: 48ch; }
}

/* Normal scrolling header with a discreet return-to-top control. */
html { scroll-padding-top: 24px; }
header { position: relative; }
#contact { scroll-margin-top: 0; }
.back-to-top {
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(22px, env(safe-area-inset-bottom));
  z-index: 90;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  padding: 0;
  border: 1px solid #ffffff50;
  border-radius: 50%;
  background: var(--navy);
  color: white;
  box-shadow: 0 3px 12px #122c3b20;
  cursor: pointer;
}
.back-to-top[hidden] { display: none; }
.back-to-top:hover { background: #284958; }
.back-to-top svg { width: 20px; height: 20px; }

/* Leave room for Trellio's stacked mobile fields and Submit button. */
@media (max-width: 720px) {
  .contact-form-preview iframe { height: 1680px; }
}

/* Stacked review content must size to its text, not the desktop flex basis. */
@media (max-width: 720px) {
  .reviews .reviews-heading { gap: 12px; margin-bottom: 12px; }
  .reviews-heading h2 { margin-bottom: 0; }
  .reviews-heading > p { margin-top: 0; }
  .reviews .reviews-invitation { gap: 24px; }
  .contact-form-preview iframe { height: 1480px; }
}
@media (max-width: 620px) {
  .reviews-invitation > div { flex: 0 0 auto; width: 100%; }
  .reviews-invitation .review-code { align-self: flex-start; }
}
@media (max-width: 390px) {
  .contact-form-preview iframe { height: 1560px; }
}
.contact-form-fields iframe[data-auto-height] {
  height: var(--contact-content-height);
  min-height: 0;
  flex: 0 0 var(--contact-content-height);
}

/* Six readable portal benefits within the established preview card. */
.portal-benefit { justify-content: flex-start; align-items: flex-start; gap: 12px; padding: 12px 0; }
.portal-benefit > svg { width: 19px; height: 19px; flex: 0 0 19px; margin-top: 2px; color: var(--copper); }
.portal-benefit strong { display: block; font-size: 14px; line-height: 1.4; font-weight: 600; }
.portal-benefit div > span { display: block; font-size: 12px; line-height: 1.5; color: var(--muted); margin-top: 3px; }
@media (max-width: 600px) {
  .portal-visual { padding: 28px 20px 20px; }
  .window-body { padding: 22px 20px 24px; }
  .portal-benefit { gap: 10px; }
}

/* Balance the client portal preview with ways to work with our practice. */
.portal-section { align-items: center; }
.portal-label { margin: 14px 0 10px; font-size: 9px; }
.portal-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.portal-benefit { min-width: 0; }
.portal-action { margin-top: 20px; }
.portal-action .button { font-size: 13px; padding: 12px 16px; gap: 18px; }
.service-reach { margin: 28px 0; border-top: 1px solid var(--line); }
.service-reach > div { padding: 16px 0; border-bottom: 1px solid var(--line); }
.service-reach strong { display: block; font-size: 16px; font-weight: 600; }
.service-reach span { display: block; color: var(--muted); font-size: 14px; margin-top: 3px; }
.portal-section > .soc-attestation { grid-column: 1 / -1; margin-top: 0; }
.portal-section > .soc-attestation p { max-width: 110ch; }
#office-locations { scroll-margin-top: 24px; }
@media (max-width: 1100px) {
  .portal-benefits { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 720px) {
  .portal-section { gap: 32px; }
  .portal-section > .soc-attestation { grid-column: auto; }
}

/* Clearer small-screen labels and stronger secondary text contrast. */
@media (max-width: 720px) {
  .eyebrow, .portal-label { font-size: 12px; letter-spacing: .1em; line-height: 1.5; }
  .topbar { font-size: 12px; letter-spacing: .02em; }
}
@media (max-width: 720px) {
  .topbar { flex-wrap: wrap; gap: 4px 16px; align-items: center; }
  .topbar > span { max-width: none; }
  .topbar > a { white-space: nowrap; }
}

/* Retain the inline credential layout with a modest mobile size increase. */
@media (max-width: 720px) {
  .trust-strip { font-size: 12px; line-height: 1.5; gap: 15px; }
  .trust-strip > span:first-child { font-size: 12px; }
}

/* Readable section labels; retain the original hero dot. */
.eyebrow, .portal-label { font-size: 12px; letter-spacing: .1em; line-height: 1.5; }
.hero-copy > .eyebrow > span { flex: 0 0 7px; }
@media (max-width: 720px) {
  .eyebrow, .portal-label { font-size: 13px; letter-spacing: .08em; }
}

/* Feedback copy, review action, and QR code in three balanced columns. */
.reviews .reviews-invitation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .65fr) minmax(165px, .5fr);
  align-items: center;
  gap: clamp(24px, 3vw, 64px);
}
.reviews-invitation > div { width: auto; min-width: 0; }
.reviews-invitation p { margin-bottom: 0; max-width: 65ch; }
.review-invitation-action { justify-self: center; }
.reviews-invitation .review-code { justify-self: end; }
@media (max-width: 1000px) {
  .reviews .reviews-invitation { grid-template-columns: minmax(0, 1fr) auto; }
  .reviews-invitation > div:first-child { grid-column: 1; }
  .review-invitation-action { grid-column: 1; justify-self: start; }
  .reviews-invitation .review-code { grid-column: 2; grid-row: 1 / 3; }
}
@media (max-width: 620px) {
  .reviews .reviews-invitation { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .reviews-invitation .review-code { grid-column: 1; grid-row: auto; justify-self: start; }
}

/* Warm footer tagline, separate from the company home link. */
.footer-top > .footer-identity { display: block; }
.footer-tagline { display: block; margin-top: 5px; color: #eab99e; font-size: 11px; font-weight: 400; line-height: 1.6; }

/* Match the top-bar tagline to the warm accent on dark backgrounds. */
.topbar > span:first-child { color: #eab99e; }
.topbar > a { color: #ffffff; }

/* Readable accents within the financial perspective illustration. */
.hero-art .art-label { color: #eab99e; font-size: 12px; letter-spacing: .1em; }
.hero-art .art-label b { color: #ffffff; }
.hero-art .art-card small { color: #96512f; font-size: 10px; letter-spacing: .1em; }
@media (max-width: 720px) {
  .hero-art .art-label { font-size: 13px; }
  .hero-art .art-card small { font-size: 11px; }
}

/* Meaningful closing note in the hero illustration. */
.hero-art .art-values { color: #eab99e; text-align: right; }
.hero-art .art-bottom { gap: 12px; flex-wrap: wrap; }
.hero-art .art-values { margin-left: auto; }

/* Match the illustration's top and bottom labels across screen sizes. */
.hero-art .art-label,
.hero-art .art-bottom {
  font-size: 12px;
  letter-spacing: .1em;
  line-height: 1.8;
}
@media (max-width: 720px) {
  .hero-art .art-label,
  .hero-art .art-bottom { font-size: 13px; }
  .hero-art .art-bottom { left: 24px; right: 24px; row-gap: 2px; }
}

/* Reserve separate mobile space for the card and closing labels. */
@media (max-width: 720px) {
  .hero-art { min-height: 540px; }
  .hero-art .center-mark { top: 45%; }
  .hero-art .card-two { bottom: 140px; }
  .hero-art .art-bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    left: 24px;
    right: 24px;
    bottom: 24px;
    line-height: 1.5;
  }
  .hero-art .art-bottom > span {
    margin: 0;
    max-width: 100%;
    text-align: left;
    overflow-wrap: normal;
  }
}

/* A compact, accessible contact form that opens only when requested. */
.contact-form-fields .message-disclosure {
  width: 100%; border: 1px solid var(--line); border-radius: 6px;
  background: transparent; align-self: start;
}
.message-disclosure > summary {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; padding: 22px 24px; cursor: pointer; list-style: none;
  color: var(--ink); font-family: Manrope, sans-serif; font-size: 24px;
}
.message-disclosure > summary::-webkit-details-marker { display: none; }
.message-disclosure > summary > span { font-size: inherit; color: inherit; line-height: 1.4; }
.message-disclosure[open] > summary > span { transform: none; }
.message-disclosure > summary > svg { flex-shrink: 0; color: var(--copper); transition: transform .2s; }
.message-disclosure[open] > summary > svg { transform: rotate(180deg); }
.message-disclosure[open] > summary { border-bottom: 1px solid var(--line); }
.message-disclosure-body { padding: 20px; }
.message-disclosure-body > p { padding: 0; margin: 0 0 18px; font-size: 13px; color: var(--muted); }
.message-disclosure-body > .contact-scroll-hint { color: var(--ink); font-weight: 600; }
.message-disclosure-body > iframe { display: block; width: 100%; }
@media (min-width: 1001px) {
  .contact-form-preview:has(.message-disclosure[open]) .message-disclosure { flex: 1; }
}
@media (max-width: 1000px) {
  .message-disclosure > summary { font-size: 22px; padding: 20px; }
  .message-disclosure-body { padding: 16px; }
}

/* Give the expandable message control the same clear affordance as our CTAs. */
.message-disclosure > summary { background: var(--copper); color: #fff; font-family: 'DM Sans', sans-serif; font-size: 16px; font-weight: 600; padding: 18px 24px; border-radius: 5px; }
.message-disclosure > summary > svg { color: #fff; }
.message-disclosure > summary:hover { background: #955334; }
.message-disclosure[open] > summary { border-radius: 5px 5px 0 0; }

/* Keep the mobile message action close to the appointment note. */
@media (max-width: 1000px) {
  .contact-form-intro .contact-appointment { margin-bottom: 0; }
  .contact-form-preview > .contact-form-fields { margin-top: -16px; }
}

.portal-lock-icon { display: inline-block; width: 16px; height: 16px; flex: 0 0 16px; vertical-align: -3px; margin-right: 7px; }
.button .portal-lock-icon { margin-right: -16px; }

/* Preserve brand capitalization and align the approach label with its headline. */
#approach > div:first-child > .eyebrow {
  text-transform: none;
  font-family: 'DM Sans', sans-serif;
  align-self: flex-start;
  text-align: left;
}

/* A compact founder message within the existing approach introduction. */
.ceo-note { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 18px; border-top: 1px solid var(--line); margin-top: 26px; padding-top: 22px; max-width: 590px; }
.ceo-note-portrait { width: 76px; height: 86px; object-fit: cover; object-position: center top; border-radius: 3px; }
.ceo-note-label { font-size: 12px; font-weight: 600; color: var(--copper); margin-bottom: 8px; }
.ceo-note-copy > p { font-size: 14px; line-height: 1.75; color: var(--muted); margin: 0; }
.ceo-signature { width: 180px; height: 52px; margin: 9px 0 3px; background-image: url('/assets/ceo-signature-reference.png'); background-repeat: no-repeat; background-size: 540px auto; background-position: -315px -48px; mix-blend-mode: multiply; }
.ceo-note-copy > strong { display: block; font-size: 13px; font-weight: 600; }
.ceo-note-copy > small { display: block; font-size: 11px; color: var(--muted); margin-top: 3px; }
@media(max-width:720px) { .ceo-note { grid-template-columns: 58px minmax(0, 1fr); gap: 14px; margin-top: 22px; } .ceo-note-portrait { width: 58px; height: 66px; } .ceo-note-copy > p { font-size: 14px; } }

/* Readable founder message against the approach section's dark background. */
#approach .ceo-note { border-top: 0; margin-top: 24px; padding-top: 0; }
#approach .ceo-note-label { color: #eab99e; }
#approach .ceo-note-copy > p { color: #e0e8eb; }
#approach .ceo-note-copy > strong { color: #fff; }
#approach .ceo-note-copy > small { color: #c5d3da; }
#approach .ceo-signature { filter: url('#ceo-peach-signature'); mix-blend-mode: normal; }
#approach .ceo-note-link { display: inline-flex; align-items: center; gap: 9px; color: #fff; border: 0; margin-top: 18px; padding: 0; font-size: 13px; }
#approach .ceo-note-link:hover { text-decoration: underline; text-underline-offset: 4px; }

#approach .approach-bottom-action { grid-column: 1 / -1; text-align: center; margin-top: 0; }
#approach .approach-bottom-link { display: inline-flex; align-items: center; gap: 10px; color: #fff; border: 0; padding: 0; font-size: 14px; }
#approach .approach-bottom-link:hover { text-decoration: underline; text-underline-offset: 4px; }

/* A text-only underline identifies the approach's closing link. */
#approach .approach-bottom-link { text-decoration: underline; text-decoration-color: #ffffff70; text-decoration-thickness: 1px; text-underline-offset: 5px; }
#approach .approach-bottom-link:hover { text-decoration-color: #fff; text-underline-offset: 5px; }

/* A little more room within the expanded contact form. */
.message-disclosure[open] iframe:not([data-auto-height]) { height: 840px; min-height: 840px; flex-basis: 840px; }
@media (min-width: 1001px) and (max-width: 1400px) {
  .message-disclosure[open] iframe:not([data-auto-height]) { height: 950px; min-height: 950px; flex-basis: 950px; }
}
@media (min-width: 721px) and (max-width: 1000px) {
  .message-disclosure[open] iframe:not([data-auto-height]) { height: 930px; min-height: 930px; flex-basis: 930px; }
}
@media (max-width: 720px) {
  .message-disclosure[open] iframe:not([data-auto-height]) { height: 1560px; min-height: 1560px; flex-basis: 1560px; }
}
@media (max-width: 390px) {
  .message-disclosure[open] iframe:not([data-auto-height]) { height: 1640px; min-height: 1640px; flex-basis: 1640px; }
}

/* Extra mobile space for the expanded contact form. */
@media (max-width: 720px) {
  .message-disclosure[open] iframe:not([data-auto-height]) { height: 1850px; min-height: 1850px; flex-basis: 1850px; }
}
@media (max-width: 390px) {
  .message-disclosure[open] iframe:not([data-auto-height]) { height: 1950px; min-height: 1950px; flex-basis: 1950px; }
}

/* Isolate the supplied handwriting; keep its surrounding area transparent. */
#approach .ceo-signature { background-image: url('/assets/ceo-signature.svg'); background-size: contain; background-position: left center; filter: none; mix-blend-mode: normal; }

/* Balance the closed contact layout around useful contact actions. */
@media (min-width: 1001px) {
}
/* Give the founder note and the three approach steps a shared starting line. */
@media (min-width: 1001px) {
  #approach { row-gap: 28px; align-items: start; }
  #approach .approach-intro { display: contents; }
  #approach .approach-intro > .eyebrow { grid-column: 1 / -1; grid-row: 1; margin-bottom: 0; }
  #approach .approach-intro > h2 { grid-column: 1; grid-row: 2; }
  #approach .approach-intro > p { grid-column: 2; grid-row: 2; margin: 0; align-self: center; }
  #approach .ceo-note { grid-column: 1; grid-row: 3; margin-top: 0; }
  #approach .steps { grid-column: 2; grid-row: 3; align-self: start; }
  #approach .steps article:first-child { padding-top: 0; }
  #approach .approach-bottom-action { grid-column: 1 / -1; grid-row: 4; }
}

/* Keep closed contact content in ordinary columns, without overlapping grid rows. */
@media (min-width: 1001px) {
  .contact-form-preview { align-items: start; }
  .contact-form-intro { display: flex; flex-direction: column; }
  .contact-form-fields { display: flex; flex-direction: column; min-width: 0; }
  .contact-form-fields > .offices { display: flex; flex-direction: column; gap: 0; margin-top: 26px; padding: 0; border-top: 1px solid var(--line); }
  .contact-form-fields > .offices article { display: block; text-align: left; padding: 16px 0; border-bottom: 1px solid var(--line); }
  .contact-form-fields > .offices article:nth-child(2) { order: -1; }
  .contact-form-fields > .offices h3 { font-size: 18px; }
  .contact-form-fields > .offices p { font-size: 14px; margin: 6px 0; }
  .contact-form-fields > .offices a { display: inline-block; font-size: 13px; margin-top: 10px; }
}
@media (min-width: 1001px) {
  .contact-form-fields > .offices article { display: flex !important; flex-direction: column; align-items: flex-start !important; gap: 4px; }
  .contact-form-fields > .offices article > * { grid-area: auto !important; text-align: left !important; align-self: auto !important; justify-self: auto !important; margin-left: 0 !important; margin-right: 0 !important; }
  .contact-form-fields > .offices article > a { margin-top: 8px; }
}

/* Give the founder's expanded message comfortable reading size and rhythm. */
#approach .ceo-note-copy > p { font-size: 15px; line-height: 1.8; }
#approach .ceo-note-copy > p + p { margin-top: 14px; }

/* Portal locks use a readable accent for each background. */
.portal-lock-icon { color: var(--copper); }
header .portal-lock-icon,
footer .portal-lock-icon,
.button .portal-lock-icon { color: #eab99e; }

/* Keep mobile utility information in a compact, balanced row. */
@media (max-width:720px){
 .topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;line-height:1.4;padding:10px 12px;font-size:clamp(8px,2.4vw,12px);letter-spacing:0}
 .topbar>span{max-width:none;min-width:0;white-space:nowrap}
 .topbar>a{white-space:nowrap;letter-spacing:0}
 .topbar-call-label{display:none}
}
