/* Huestone editorial system. Brand colors and typefaces are unchanged. */
:root {
  --navy:#0d1c30; --paper:#faf8f3; --stone:#ece8df; --muted:#565e62;
  --accent:#83664b; --line:#d2d0c7;
  --serif:Georgia,'Times New Roman',serif; --sans:Arial,Helvetica,sans-serif;
  --gutter:24px; --content:1200px; --reading:56ch;
  --section-space:64px; --heading-gap:24px; --paragraph-gap:20px;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; scroll-padding-top:28px }
body { margin:0; background:#fff; color:var(--navy); font:1rem/1.75 var(--sans); -webkit-font-smoothing:antialiased }
h1,h2,h3,p { margin:0 }
h1,h2,h3 { font-family:var(--serif); font-weight:400; letter-spacing:-.035em; overflow-wrap:break-word; text-wrap:pretty }
h1 { font-size:2.125rem; line-height:1.14; text-wrap:balance }
h2 { font-size:1.875rem; line-height:1.2 }
h3 { font-size:1.5rem; line-height:1.3; letter-spacing:-.02em }
a { color:inherit; text-decoration:none }
a:hover { text-decoration:underline; text-underline-offset:5px }
a:focus-visible,button:focus-visible { outline:3px solid var(--accent); outline-offset:5px }
button { font:inherit }
img { display:block; max-width:100%; height:auto }
em { color:var(--accent); font-weight:400 }
.wrap { width:calc(100% - var(--gutter) * 2); max-width:var(--content); margin-inline:auto }
.narrow { max-width:760px }
.eyebrow { font-size:.75rem; text-transform:uppercase; letter-spacing:.15em; line-height:1.6; margin-bottom:22px; color:var(--accent) }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:48px; max-width:100%; padding:13px 25px; border:1px solid var(--navy); background:var(--navy); color:var(--paper); font-size:.9375rem; line-height:1.5; text-align:center; transition:background .15s }
.button:hover { background:#27394b; text-decoration:none }
.text-link { display:inline-flex; align-items:center; min-height:48px; margin-top:22px; padding:9px 0; border-bottom:1px solid var(--accent); font-size:.9375rem; line-height:1.5 }
.prose { max-width:var(--reading) }
.prose p { color:var(--muted) }
.prose p+p { margin-top:var(--paragraph-gap) }
.prose h2 { margin-bottom:var(--heading-gap) }
.prose .button { margin-top:28px }
/* A quiet header, with the same touch-first navigation through tablet widths. */
.site-header { position:relative; z-index:20; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:100px; border-bottom:1px solid var(--line) }
.logo { width:112px; height:auto; aspect-ratio:148/99; object-fit:contain }
.brand { flex-shrink:0 }
.header-actions { display:flex; align-items:center; gap:10px }
.header-actions .button { min-height:44px; padding:10px 14px; font-size:.875rem; white-space:nowrap }
.menu-toggle { min-height:44px; border:0; border-bottom:1px solid var(--line); padding:9px 8px; background:transparent; color:var(--navy); font-size:.875rem; cursor:pointer }
.desktop-nav { display:none }
.mobile-nav { position:absolute; top:calc(100% + 1px); left:0; right:0; background:#fff; border-bottom:1px solid var(--line); padding:16px 0 24px }
.mobile-nav[hidden] { display:none }
.mobile-nav a { display:flex; align-items:center; min-height:48px; padding:5px 12px; font-size:1rem }
nav a[aria-current=page] { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:7px }
/* Heroes separate the main idea from the explanation. */
.home-hero { padding-block:58px 0 }
.home-hero h1 { max-width:23ch; font-size:2.125rem; line-height:1.16 }
.home-invitation { margin-top:28px }
.hero-sub { max-width:35ch; margin-bottom:24px; font-size:1.0625rem; color:var(--muted) }
.firm-descriptor { margin-top:44px; padding-block:22px; border-block:1px solid var(--line); color:var(--muted); font-size:.8125rem; line-height:1.6 }
.page-hero { padding-block:58px var(--section-space) }
.hero-layout { display:grid; gap:28px }
.hero-layout h1 { max-width:23ch }
.hero-body { min-width:0; max-width:var(--reading) }
.hero-body>.button { margin-top:28px }
.page-hero>.prose { margin-top:24px }
.page-hero>.button { margin-top:28px }
.page-hero>p:not(.eyebrow) { margin-top:24px }
/* White space is the default separator; tint is reserved for the close. */
.section { padding-block:var(--section-space) }
.section-layout { display:grid; gap:var(--heading-gap) }
.section-layout>div:first-child { max-width:30rem }
.section-heading { max-width:760px; margin-bottom:34px }
.section-heading>p:not(.eyebrow) { max-width:var(--reading); color:var(--muted); margin-top:24px }
.section.stone { background:transparent }
main>.section+.section { border-top:1px solid var(--line) }
/* Homepage transitions remain open, with emphasis from scale and alignment. */
#approach.section { padding-bottom:24px }
#approach .section-layout { display:block }
#approach .section-layout>div:first-child { max-width:820px }
#approach h2 { font-size:2.1rem; max-width:23ch }
#approach .prose { margin-top:26px }
.audiences { display:grid; padding-block:8px 0; gap:42px }
.audiences article { padding-top:26px; border-top:1px solid var(--line) }
.audiences h2 { max-width:12ch; font-size:2.25rem; margin-bottom:22px }
.audiences p:not(.eyebrow) { max-width:46ch; color:var(--muted) }
#high-earners.section { padding-bottom:var(--section-space) }
.about-section { display:grid; gap:30px; padding-block:var(--section-space); border-top:1px solid var(--line) }
.about-section>img { width:90px }
.about-section>div { max-width:var(--reading) }
.about-section h2 { margin-bottom:24px }
.about-section p:not(.eyebrow) { color:var(--muted) }
/* Discovery reads as a final page in the conversation, not a sales banner. */
.closing { padding-block:var(--section-space); background:var(--paper) }
.closing-layout { display:grid; gap:28px }
.closing h2 { max-width:21ch; font-size:2rem }
.closing-body { max-width:var(--reading) }
.closing-body>.button { margin-top:28px }
.closing .prose p { color:var(--muted) }
/* Philosophy uses typographic statements; no cards or icons. */
.principles { display:grid; gap:40px }
.principles article { padding-top:22px; border-top:1px solid var(--line) }
.principles .eyebrow { margin-bottom:18px }
.principles h2 { font-size:2rem; margin-bottom:18px }
.principles p:not(.eyebrow) { max-width:44ch; color:var(--muted) }
/* Financial topics and solutions have consistent name-to-explanation rows. */
.planning-list,.solutions-list { display:grid }
.planning-list article,.solutions-list article { display:grid; gap:12px; padding-block:25px; border-top:1px solid var(--line) }
.planning-list p,.solutions-list p { max-width:var(--reading); color:var(--muted) }
.section-nav { display:flex; flex-wrap:wrap; gap:4px 24px; padding-bottom:26px; border-bottom:1px solid var(--line) }
.section-nav a { display:flex; align-items:center; min-height:48px; font-size:.9375rem; text-decoration:underline; text-underline-offset:5px }
.snapshot-section { border-top:1px solid var(--line) }
.snapshot-section .button { background:transparent; color:var(--navy); padding-inline:20px; min-height:52px }
.snapshot-section .button:hover { background:var(--navy); color:var(--paper) }
/* High-earner copy keeps a single reading column and no decorative additions. */
.quiet .hero-layout h1 { max-width:24ch }
.quiet-section { border-top:1px solid var(--line) }
.quiet-section h2 { margin-bottom:28px; font-size:2.25rem }
.quiet-section .narrow { max-width:var(--content) }
/* Shared footer. */
.site-footer { padding-top:36px }
.footer-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px }
.footer-top p { order:3; width:100%; font-size:.875rem; line-height:1.8 }
.footer-top p span { color:var(--muted) }
.footer-nav { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; padding-block:26px }
.footer-nav a { min-height:48px; display:flex; align-items:center; font-size:.875rem; line-height:1.45 }
.footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); padding-block:12px; color:var(--muted); font-size:.75rem }
.footer-bottom a { display:flex; align-items:center; min-height:44px }
.skip { position:fixed; top:-100px; left:16px; z-index:100; padding:15px; background:var(--paper); color:var(--navy) }
.skip:focus { top:12px }
/* Small phones preserve the same hierarchy without squeezed navigation. */
@media(max-width:359px) { :root{--gutter:20px}.logo{width:92px}.header-actions{gap:6px}.header-actions .button{padding-inline:10px}h1{font-size:2rem}.home-hero h1{font-size:2.125rem} }
/* Tablet is a generous reading experience with touch navigation. */
@media(min-width:700px) {
  :root { --gutter:40px; --section-space:80px; --heading-gap:30px }
  h1 { font-size:3rem } h2 { font-size:2.3rem }
  .site-header { min-height:116px }.logo { width:132px }
  .header-actions { gap:20px }.header-actions .button { min-height:48px; padding-inline:24px }
  .menu-toggle { min-height:48px; padding-inline:16px }
  .mobile-nav { left:auto; width:360px; max-width:100%; padding:20px 16px 24px; border:1px solid var(--line) }
  .home-hero { padding-top:72px }.home-hero h1 { font-size:3.7rem; max-width:22ch }
  .home-invitation { display:flex; flex-wrap:wrap; gap:24px 40px; align-items:center; margin-top:32px }
  .hero-sub { margin:0 }.firm-descriptor { margin-top:48px }
  .page-hero { padding-top:72px }.hero-layout { gap:34px }
  .hero-layout h1 { max-width:24ch }.hero-body { max-width:60ch }
  #approach h2 { font-size:2.8rem; max-width:24ch }
  #approach .prose { margin-left:12%; margin-top:32px }
  .audiences { grid-template-columns:1fr 1fr; gap:48px; padding-top:20px }
  .audiences h2 { font-size:2.6rem }
  .about-section { grid-template-columns:120px minmax(0,1fr); align-items:start; gap:44px }
  .about-section>img { width:110px; margin-top:5px }
  .closing h2 { font-size:2.6rem }
  .principles article { display:grid; grid-template-columns:170px minmax(0,1fr); gap:0 32px; padding-top:28px }
  .principles article p:last-child { grid-column:2 }.principles .eyebrow { padding-top:8px }
  .planning-list article,.solutions-list article { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:32px; padding-block:28px }
  .section-heading { margin-bottom:40px }
  .quiet-section h2 { font-size:3rem }
  .footer-top p { width:auto; order:0 }.footer-nav { grid-template-columns:repeat(3,1fr) }
}
/* Desktop expands the composition, not the amount of content. */
@media(min-width:1100px) {
  :root { --gutter:56px; --section-space:100px; --heading-gap:32px }
  h1 { font-size:clamp(3.4rem,4.3vw,4.25rem) } h2 { font-size:2.75rem }
  .site-header { min-height:122px }.logo { width:140px }
  .home-hero { padding-top:88px }.home-hero h1 { font-size:clamp(4rem,5.4vw,5.1rem); max-width:23ch }
  .home-invitation { margin-top:40px; justify-content:space-between; max-width:890px }
  .hero-sub { font-size:1.125rem }.firm-descriptor { margin-top:60px; padding-block:24px }
  .page-hero { padding-block:88px var(--section-space) }
  .hero-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px; align-items:start }
  .hero-layout h1 { max-width:19ch }.hero-body { padding-top:6px }
  .section-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px }
  .section-layout h2 { max-width:19ch }.section-layout .prose { padding-top:4px }
  #approach.section { padding-bottom:28px }
  #approach h2 { font-size:3.6rem; max-width:24ch }
  #approach .prose { margin-left:auto; margin-top:34px; max-width:56ch }
  .audiences { gap:100px; padding-block:20px 0 }
  .audiences article { padding-top:32px }.audiences h2 { font-size:3.25rem }
  .about-section { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px }
  .about-section>img { width:155px; justify-self:center; align-self:center }
  .closing-layout { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px }
  .closing h2 { font-size:3rem; max-width:19ch }.closing-body { padding-top:5px }
  .principles { gap:0 }
  .principles article { grid-template-columns:170px minmax(0,1.1fr) minmax(0,1fr); gap:36px; padding-block:32px }
  .principles article p:last-child { grid-column:auto }.principles h2 { font-size:2.5rem; margin:0 }
  .principles .eyebrow { padding-top:12px; margin:0 }
  .solutions-list,.planning-list { max-width:1080px; margin-left:auto }
  .solutions-list article,.planning-list article { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:80px; padding-block:30px }
  .solutions-list h3,.planning-list h3 { font-size:1.7rem }
  .section-heading { margin-bottom:48px }.section-heading h2 { font-size:3.2rem }
  .quiet .hero-layout { display:block }.quiet .hero-layout h1 { font-size:4.5rem; max-width:22ch }
  .quiet .hero-body { margin-left:calc(50% + 40px); margin-top:44px; max-width:56ch }
  .quiet-section .narrow { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px }
  .quiet-section h2 { max-width:13ch; font-size:3.6rem; margin:0 }
  .site-footer { padding-top:48px }.footer-nav { display:flex; flex-wrap:wrap; justify-content:space-between; gap:20px }
}
@media(min-width:1280px) {
  .desktop-nav { display:flex; align-items:center; gap:18px }
  .desktop-nav a { display:flex; align-items:center; min-height:48px; font-size:.8125rem; white-space:nowrap }
  .menu-toggle,.mobile-nav { display:none }.header-actions .button { padding-inline:19px }
}
@media(prefers-reduced-motion:reduce) { html{scroll-behavior:auto}*{transition:none!important} }

/* White canvas, ivory pauses, and a full-width brand navy footer. */
.ivory { background:var(--paper) }
.home-hero { padding-bottom:var(--section-space) }
.home-intro { display:grid; gap:28px; margin-top:32px }
.home-questions { max-width:46ch; color:var(--muted) }
.home-intro .home-lead { color:var(--navy); font-weight:600 }
.snapshot-questions { list-style:none; padding:0; margin:26px 0 }
.snapshot-questions li { padding:12px 0; border-top:1px solid var(--line); color:var(--navy) }
.snapshot-questions li:last-child { border-bottom:1px solid var(--line) }
.audience-band { padding-block:var(--section-space) }
.audience-band .audiences { padding-block:0 }
.audience-band article:first-child { padding-top:0; border-top:0 }
.audiences p+p:not(.eyebrow),.about-section p+p:not(.eyebrow) { margin-top:20px }
.site-footer { background:var(--navy); color:var(--paper) }
.site-footer .logo { filter:brightness(0) invert(1) }
.site-footer .footer-top p span,.site-footer .footer-bottom { color:#ced4dc }
.site-footer .footer-bottom { border-color:#3e4b5c }
.site-footer .button { background:var(--paper); color:var(--navy); border-color:var(--paper) }
.site-footer .button:hover { background:#ece8df }
.site-footer a:focus-visible { outline-color:var(--paper) }
@media(min-width:700px) {
 .home-intro { margin-top:40px; gap:32px }
 .audience-band article { padding-top:0; border-top:0 }
}
@media(min-width:1100px) {
 .home-intro { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:80px; margin-top:48px }
 .home-questions { font-size:1.125rem; max-width:40ch }
}
/* Readable planning chapters and legal documents. */
.approach-topics article { display:grid; gap:22px; padding-block:32px; border-top:1px solid var(--line) }
.approach-topics h3 { font-size:1.75rem; max-width:24ch }
.principle-name { display:block; margin-top:12px; font: .875rem/1.6 var(--sans); letter-spacing:0; color:var(--accent) }
.legal-page { max-width:800px; padding-block:58px var(--section-space) }
.legal-page h1 { margin-bottom:32px }
.legal-copy h2 { margin-top:44px; margin-bottom:20px; font-size:1.625rem; letter-spacing:-.02em }
.legal-copy p,.legal-copy li { color:var(--muted) }
.legal-copy p+p { margin-top:20px }
.legal-copy ul { padding-left:24px; margin-block:20px }
.legal-copy li+li { margin-top:8px }
.legal-copy .legal-updated { color:var(--navy); margin-bottom:24px }
.footer-bottom { flex-wrap:wrap; justify-content:flex-start; gap:0 20px; padding-block:16px }
.legal-links { display:flex; flex-wrap:wrap; gap:0 18px }
.legal-links a { position:relative }
.legal-links a+a::before { content:'|'; position:absolute; left:-11px; color:#8e99a7 }
@media(min-width:700px) { .approach-topics article { grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr); gap:40px; padding-block:40px }.legal-page { padding-top:80px }.legal-copy h2 { font-size:2rem } }
@media(min-width:1100px) { .approach-topics article { gap:80px }.approach-topics h3 { font-size:2rem }.footer-bottom>.legal-links { margin-left:auto } }
/* Restore the original content arrangements while preserving type sizes and colors. */
.home-hero { text-align:center }
.home-hero h1 { max-width:1110px; margin-inline:auto }
.home-intro { display:block; margin-top:28px }
.home-intro .hero-sub { max-width:none; margin:0 0 24px }
.hero-layout { display:block }
.hero-layout h1 { max-width:1040px }
.hero-body { max-width:740px; padding:0; margin-top:26px }
.hero-copy { max-width:740px }
.section-layout { gap:26px }
#approach .section-layout { display:grid }
#approach .section-layout>div:first-child { max-width:none }
#approach h2 { max-width:none }
#approach .prose { margin:0; max-width:var(--reading) }
.audiences h2 { max-width:none }
.closing-layout { display:block; max-width:790px }
.closing h2 { max-width:none; margin-bottom:26px }
.closing-body { max-width:none; padding:0 }
.closing .prose { max-width:none }
.planning-list article,.solutions-list article { display:block }
.planning-list h3,.solutions-list h3 { margin-bottom:12px }
.quiet .hero-layout { display:block }
.quiet .hero-layout h1 { max-width:1040px }
.quiet .hero-body { margin:26px 0 0; max-width:780px }
.quiet-section .narrow { display:block; max-width:790px }
.quiet-section h2 { max-width:none; margin-bottom:28px }
.approach-topics article { display:block }
.approach-topics h3 { max-width:none; margin-bottom:24px }
@media(min-width:700px) {
 .planning-list,.solutions-list { grid-template-columns:1fr 1fr; column-gap:40px; max-width:none; margin:0 }
 .about-section { grid-template-columns:160px minmax(0,1fr); align-items:center; gap:40px }
 .quiet { max-width:920px }
}
@media(min-width:1100px) {
 .section-layout,#approach .section-layout { grid-template-columns:1fr 1fr; gap:90px }
 .section-layout h2 { max-width:none }
 .hero-body,.quiet .hero-body { margin-top:32px }
 .planning-list,.solutions-list { column-gap:70px }
 .about-section { grid-template-columns:1fr 1.6fr; gap:90px }
 .about-section>div { max-width:none }
 .approach-topics { display:grid; grid-template-columns:1fr 1fr; gap:0 70px }
}
/* Native disclosures keep business topics easy to scan and use by touch. */
.business-topics article { display:grid; gap:24px; padding-block:36px; border-top:1px solid var(--line) }
.business-topics article:first-child { border-top:0; padding-top:0 }
.business-topics summary { display:inline-flex; align-items:center; min-height:48px; padding:10px 0; margin-top:16px; border-bottom:1px solid var(--accent); list-style:none; cursor:pointer; color:var(--navy) }
.business-topics summary::-webkit-details-marker { display:none }
.business-topics summary:focus-visible { outline:3px solid var(--accent); outline-offset:5px }
.collapse-label,details[open] .expand-label { display:none }
details[open] .collapse-label { display:inline }
.topic-detail { padding-top:24px }
.topic-detail ul { padding-left:22px; margin-block:20px 0; color:var(--muted) }
.topic-detail li+li { margin-top:12px }
@media(min-width:1100px) { .business-topics article { grid-template-columns:1fr 1fr; gap:90px; padding-block:48px } }
/* Every page hero follows the homepage headline scale. */
.home-hero h1,.page-hero h1,.quiet .hero-layout h1,.legal-page h1 { font-size:2.125rem }
@media(min-width:700px) { .home-hero h1,.page-hero h1,.quiet .hero-layout h1,.legal-page h1 { font-size:3.7rem } }
@media(min-width:1100px) { .home-hero h1,.page-hero h1,.quiet .hero-layout h1,.legal-page h1 { font-size:clamp(4rem,5.4vw,5.1rem) } }

/* Native WordPress block compatibility. */
.wp-block-group{margin-top:0;margin-bottom:0}.wp-block-button{display:inline-block;background:none;border:0;padding:0;color:inherit}.wp-block-button__link{font:inherit;border-radius:0;text-decoration:none}.wp-block-button.button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 25px;background:var(--navy);border:1px solid var(--navy);color:var(--paper);font-size:.9375rem;line-height:1.5}.wp-block-button.button .wp-block-button__link:hover{background:#27394b}.wp-block-button.text-link{padding:0;border:0}.wp-block-button.text-link .wp-block-button__link{background:transparent;color:var(--navy);padding:9px 0;border-bottom:1px solid var(--accent);min-height:48px}.wp-block-image{margin:0}.about-section>.wp-block-image{width:90px}.about-section>.wp-block-image img{width:100%}.wp-block-details>summary{font:inherit}.wp-block-details>.topic-detail{margin-top:0}.prose p+p{margin-top:20px}.prose .wp-block-button{margin-top:28px}.home-intro .hero-sub{margin-bottom:24px} main{min-height:40vh}
@media(min-width:700px){.about-section>.wp-block-image{width:110px}}@media(min-width:1100px){.about-section>.wp-block-image{width:155px;justify-self:center;align-self:center}}

.huestone-menu{list-style:none;margin:0;padding:0;display:contents}.huestone-menu li{list-style:none}.desktop-nav .huestone-menu{display:flex;gap:18px}.mobile-nav .huestone-menu{display:block}.footer-nav .huestone-menu{display:contents}.site-footer .footer-nav li a{height:100%}.wp-block-button{max-width:100%}.wp-block-button__link{max-width:100%}.snapshot-section .wp-block-button.button .wp-block-button__link{background:transparent;color:var(--navy)}.snapshot-section .wp-block-button.button .wp-block-button__link:hover{background:var(--navy);color:var(--paper)}
