/* public */
:root {
  --paper:#f8f5ef;
  --ink:#303d33;
  --muted:#696d63;
  --line:#d9d8cb;
  --olive:#354337;
  --accent:#a54d36;
  --sage:#dce3d4;
  --serif:Georgia,'Times New Roman',serif
}
* {
  box-sizing:border-box
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font:14px/1.8 Arial,Helvetica,sans-serif
}
a {
  color:inherit;
  text-underline-offset:5px
}
button,input,select,textarea {
  font:inherit
}
button,a {
  touch-action:manipulation
}
button {
  cursor:pointer
}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:5px
}
[hidden] {
  display:none!important
}
img {
  max-width:100%;
  display:block
}
h1,h2,h3,p {
  margin-top:0
}
h1,h2,h3 {
  font-weight:400
}
em {
  font-weight:400
}
h1 {
  font:400 clamp(43px,5.6vw,77px)/1.08 var(--serif);
  letter-spacing:-2px;
  margin:0 0 27px
}
h1 em,h2 em {
  color:#6c7f5c
}
h2 {
  font:400 clamp(30px,3.6vw,46px)/1.18 var(--serif);
  letter-spacing:-1px;
  margin-bottom:23px
}
h3 {
  font:400 26px/1.3 var(--serif)
}
.page-width {
  max-width:1280px;
  padding-left:5%;
  padding-right:5%;
  margin-left:auto;
  margin-right:auto
}
.eyebrow {
  font-size:10px;
  line-height:1.7;
  font-weight:700;
  letter-spacing:1.7px;
  color:var(--accent);
  margin-bottom:21px
}
.lead {
  font-size:16px;
  line-height:1.9;
  color:var(--muted);
  max-width:590px
}
.skip {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:100;
  background:#fff;
  padding:10px
}
.skip:focus {
  top:10px
}
.preview-bar {
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:6px 5%;
  background:#ece8df;
  color:#63685d;
  font-size:9px;
  letter-spacing:1px
}
.preview-bar span {
  letter-spacing:0
}
.public-header {
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:14px 5%;
  background:#f8f5eff7;
  border-bottom:1px solid var(--line);
  min-height:90px
}
.brand {
  flex-shrink:0
}
.brand img {
  width:237px;
  height:auto
}
#site-nav {
  display:flex;
  align-items:center;
  gap:23px
}
#site-nav>a {
  font-size:12px;
  font-weight:600;
  text-decoration:none;
  white-space:nowrap
}
#site-nav>a:hover,#site-nav>a[aria-current] {
  color:var(--accent)
}
#site-nav .nav-book {
  display:flex;
  align-items:center;
  gap:15px;
  background:var(--olive);
  color:#fff;
  padding:13px 16px;
  border-radius:6px;
  font-size:11px
}
#site-nav .nav-book:hover {
  background:#24392c
}
#menu-toggle {
  display:none
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  min-height:52px;
  padding:12px 19px;
  font:700 12px/1.7 Arial,Helvetica,sans-serif;
  border:1px solid var(--olive);
  border-radius:7px;
  text-decoration:none;
  transition:background .18s,transform .18s
}
.button span {
  font-size:20px;
  line-height:1
}
.button-solid {
  background:var(--olive);
  color:#fff;
  box-shadow:0 3px 0 #233528
}
.button-solid:hover {
  background:#24392c;
  transform:translateY(-1px)
}
.button-outline {
  background:transparent;
  color:var(--ink)
}
.button-outline:hover {
  background:#e9eedf
}
.underlink {
  font-size:12px;
  font-weight:600;
  text-decoration:underline;
  line-height:2
}
.home-hero {
  display:grid;
  grid-template-columns:1.03fr 1fr;
  gap:70px;
  padding-top:56px;
  padding-bottom:70px
}
.hero-copy {
  padding-top:26px
}
.hero-copy .lead {
  max-width:370px
}
.hero-actions {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:24px;
  margin-top:32px
}
.hero-foot {
  font-size:11px;
  color:var(--muted);
  margin-top:24px;
  max-width:320px
}
.hero-photo {
  position:relative;
  min-height:560px;
  overflow:hidden
}
.hero-photo>img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:50% 50%;
  position:absolute;
  inset:0
}
.hero-photo:after {
  content:'';
  position:absolute;
  inset:40% 0 0;
  background:linear-gradient(transparent,#172b21b8)
}
.photo-caption {
  position:absolute;
  z-index:1;
  left:30px;
  bottom:28px;
  color:#fff9ee
}
.photo-caption>span {
  font-size:8px;
  letter-spacing:2px
}
.photo-caption p {
  font:400 33px/1.2 var(--serif);
  margin:12px 0 0
}
.discovery-section {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:80px;
  padding-top:52px;
  padding-bottom:75px;
  border-top:1px solid var(--line)
}
.discovery-section>div:first-child>p:last-child {
  max-width:310px;
  color:var(--muted);
  font-size:13px
}
.discovery {
  min-width:0
}
.discovery-tabs {
  display:flex;
  border-bottom:1px solid #aebba3
}
.discovery-tabs button {
  flex:1;
  min-height:55px;
  border:0;
  border-bottom:2px solid transparent;
  background:none;
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
  padding:10px
}
.discovery-tabs button[aria-selected=true] {
  color:var(--ink);
  border-bottom-color:var(--olive);
  font-weight:700
}
#priority-panel {
  position:relative;
  min-height:275px;
  padding:37px 28px 28px;
  background:#edf0e5
}
#priority-panel h3 {
  max-width:350px;
  margin-bottom:15px;
  font-size:30px
}
#priority-panel p {
  max-width:400px;
  font-size:13px;
  color:var(--muted);
  line-height:1.85
}
.panel-index {
  position:absolute;
  right:22px;
  top:23px;
  font:italic 24px var(--serif);
  color:#a8b598
}
.section-top {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:25px;
  margin-bottom:34px
}
.section-top h2 {
  margin-bottom:0
}
.section-top>.underlink {
  flex-shrink:0
}
.services-preview {
  padding-bottom:80px
}
.service-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:45px;
  border-top:1px solid var(--line)
}
.service-links>a {
  display:grid;
  grid-template-columns:35px 1fr 20px;
  gap:10px;
  align-items:center;
  padding:24px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  font:24px var(--serif)
}
.service-links>a:hover {
  color:var(--accent)
}
.service-links .list-number {
  font:10px Arial;
  color:var(--accent);
  letter-spacing:1px
}
.approach-strip {
  background:#354337;
  color:#f8f5ef;
  padding:53px 0 58px
}
.approach-strip .eyebrow {
  color:#d4c09f
}
.three-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:48px
}
.three-steps article {
  border-top:1px solid #b0bca455;
  padding-top:22px
}
.three-steps article>span {
  font-size:10px;
  letter-spacing:1px;
  color:#c0ccaf
}
.three-steps h3 {
  font-size:25px;
  margin:18px 0 14px
}
.three-steps p {
  font-size:12px;
  line-height:1.9;
  color:#d9e0d0;
  max-width:285px;
  margin-bottom:0
}
.business-band {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:70px;
  padding-top:80px;
  padding-bottom:80px
}
.business-band>div>p:not(.eyebrow) {
  max-width:440px;
  font-size:13px;
  color:var(--muted);
  line-height:1.9;
  margin-bottom:26px
}
.business-brand {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  padding:30px;
  background:#efede3;
  text-align:center
}
.business-brand img {
  width:320px;
  height:auto
}
.business-brand p {
  font:italic 19px/1.6 var(--serif)!important;
  margin:20px 0 0!important
}
.public-footer {
  border-top:1px solid var(--line);
  max-width:1280px;
  margin:auto;
  padding:40px 5% 20px
}
.footer-main {
  display:grid;
  grid-template-columns:1.2fr 1.2fr .9fr 1.2fr;
  gap:28px;
  align-items:start
}
.footer-main>a>img {
  width:190px;
  height:auto
}
.footer-main>p {
  font:21px/1.5 var(--serif);
  margin:4px 0
}
.footer-main>div {
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:10px;
  color:var(--muted)
}
.footer-main>div>a {
  text-decoration:none;
  overflow-wrap:anywhere
}
.footer-main>div>a:hover {
  text-decoration:underline
}
.footer-bottom {
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:35px;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:9px;
  color:var(--muted)
}
.page-intro {
  padding-top:65px;
  padding-bottom:55px
}
.page-intro .lead {
  margin-bottom:0
}
.split-intro {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:60px;
  align-items:end
}
.split-intro h1 {
  font-size:clamp(42px,4.5vw,65px);
  margin-bottom:0
}
.split-intro>.lead {
  padding-bottom:4px
}
.about-story {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:75px;
  padding-bottom:70px
}
.about-story figure {
  margin:0
}
.about-story img {
  width:100%;
  height:440px;
  object-fit:cover
}
.about-story figcaption {
  font:italic 17px var(--serif);
  padding-top:15px;
  color:var(--muted)
}
.about-story>div {
  padding-top:28px
}
.about-story>div>p:not(.eyebrow) {
  font-size:13px;
  line-height:1.95;
  color:var(--muted)
}
.principles {
  padding-top:50px;
  padding-bottom:60px;
  border-top:1px solid var(--line)
}
.principles article {
  display:grid;
  grid-template-columns:40px 1fr 1fr;
  gap:20px;
  align-items:baseline;
  border-top:1px solid var(--line);
  padding:24px 0
}
.principles article>span {
  font-size:10px;
  color:var(--accent)
}
.principles article h3 {
  font-size:24px;
  margin:0
}
.principles article p {
  font-size:12px;
  color:var(--muted);
  margin:0;
  line-height:1.9
}
.closing-note {
  background:#e9eedf;
  padding-top:50px;
  padding-bottom:50px;
  margin-bottom:65px
}
.closing-note h2 {
  max-width:700px
}
.topic-nav {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:35px
}
.topic-nav a {
  font-size:11px;
  padding:8px 13px;
  border:1px solid #bac4b0;
  border-radius:20px;
  text-decoration:none
}
.topic-nav a:hover {
  background:#e8eedf
}
.service-detail {
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:70px;
  padding:42px 0 46px;
  border-top:1px solid var(--line);
  scroll-margin-top:120px
}
.service-label>span {
  font:italic 38px var(--serif);
  color:#b6bfa8
}
.service-label .eyebrow {
  margin-top:20px;
  color:var(--muted);
  font-size:9px
}
.service-detail h2 {
  font-size:35px;
  max-width:600px
}
.service-detail>div>p {
  font-size:13px;
  color:var(--muted);
  max-width:590px;
  line-height:1.95
}
.service-detail details {
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  margin:25px 0
}
.service-detail summary {
  cursor:pointer;
  list-style:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:12px;
  font-weight:600;
  padding:16px 0
}
.service-detail details[open] summary>span {
  transform:rotate(45deg)
}
.service-detail details ul {
  padding-left:18px;
  font-size:12px;
  line-height:2;
  color:var(--muted);
  margin-bottom:20px
}
.service-bottom {
  padding-top:25px;
  padding-bottom:70px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px
}
.service-bottom p {
  font:26px var(--serif);
  margin:0
}
.contact-layout {
  display:grid;
  grid-template-columns:1fr 1.5fr;
  gap:80px;
  padding-bottom:80px
}
.contact-book {
  padding:27px;
  background:#e9eedf
}
.small-symbol {
  font-size:28px;
  display:block;
  margin-bottom:16px;
  color:#6a7c58
}
.contact-book h2 {
  font-size:31px;
  margin-bottom:15px
}
.contact-book p {
  font-size:12px;
  color:var(--muted);
  line-height:1.9
}
.contact-book .button {
  font-size:11px;
  gap:15px;
  padding:12px 15px
}
.contact-direct {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:35px;
  font-size:13px
}
.contact-direct .eyebrow {
  margin:0 0 4px
}
.contact-direct>a {
  overflow-wrap:anywhere
}
.contact-direct>p:last-child {
  font-size:11px;
  color:var(--muted);
  margin:4px 0
}
.contact-business {
  font-size:12px;
  color:var(--muted);
  border-top:1px solid var(--line);
  padding-top:24px;
  margin-top:28px
}
.contact-business .underlink {
  color:var(--ink)
}
#contact-form {
  scroll-margin-top:120px
}
#contact-form>.eyebrow {
  margin-bottom:13px
}
#contact-form>h2 {
  font-size:33px;
  margin-bottom:20px
}
.demo-note {
  font-size:11px;
  padding:12px 15px;
  border-left:2px solid #aa8c61;
  background:#efede3;
  color:var(--muted);
  margin-bottom:25px
}
.field-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px
}
.field {
  margin-bottom:20px
}
.field>label {
  display:block;
  font-size:11px;
  font-weight:600;
  margin-bottom:7px
}
input:not([type=checkbox]),select,textarea {
  display:block;
  width:100%;
  min-width:0;
  border:1px solid #b8c3ad;
  border-radius:4px;
  background:#fffdf9;
  color:var(--ink);
  font-size:14px;
  padding:11px 12px;
  min-height:46px
}
textarea {
  min-height:140px;
  resize:vertical
}
.check-line {
  display:flex;
  align-items:flex-start;
  gap:11px;
  font-size:11px;
  line-height:1.9;
  margin:0 0 17px
}
.check-line input {
  width:17px;
  height:17px;
  flex:0 0 17px;
  margin-top:3px;
  accent-color:var(--olive)
}
.check-line small {
  display:block;
  color:var(--muted);
  font-size:10px
}
.check-line:last-of-type {
  margin-bottom:28px
}
#message-errors {
  background:#faeae1;
  color:#8d3926;
  font-size:12px;
  border-left:3px solid var(--accent);
  padding:15px;
  margin-bottom:25px
}
#message-errors a {
  display:block;
  margin-top:5px
}
input[aria-invalid=true],textarea[aria-invalid=true] {
  border-color:var(--accent)
}
#message-review {
  padding:25px;
  background:#edf0e5
}
#message-review h3 {
  font-size:29px
}
#message-review>p {
  font-size:12px
}
#message-summary {
  overflow-wrap:anywhere
}
dt {
  font-size:10px;
  color:var(--muted);
  margin-top:18px
}
dd {
  margin:4px 0;
  font-size:13px;
  white-space:pre-wrap
}
#review-title,#message-errors,input,textarea {
  scroll-margin-top:120px
}
@media(min-width:1450px) {
  .public-header {
    padding-left:max(5%,calc((100vw - 1152px)/2));
    padding-right:max(5%,calc((100vw - 1152px)/2))
  }
}
@media(max-width:1100px) {
  .public-header {
    padding:12px 5%;
    min-height:82px
  }
  .brand img {
    width:215px
  }
  #menu-toggle {
    display:flex;
    align-items:center;
    gap:12px;
    padding:9px 13px;
    border:1px solid #aeb9a3;
    border-radius:6px;
    background:#fffdf8;
    font-size:12px;
    color:var(--ink)
  }
  #site-nav {
    display:none;
    position:absolute;
    right:5%;
    top:calc(100% - 1px);
    width:265px;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    padding:10px;
    background:var(--paper);
    border:1px solid var(--line);
    border-radius:7px;
    box-shadow:0 14px 30px #26352a20
  }
  #site-nav.is-open {
    display:flex
  }
  #site-nav>a {
    padding:11px 12px;
    border-radius:4px;
    font-size:13px
  }
  #site-nav>a:hover {
    background:#e9eedf
  }
  #site-nav .nav-book {
    margin-top:6px
  }
  .home-hero {
    gap:40px
  }
  .hero-photo {
    min-height:520px
  }
  .hero-actions {
    align-items:flex-start;
    flex-direction:column;
    gap:18px
  }
  .discovery-section {
    gap:40px
  }
  .contact-layout {
    gap:40px
  }
  .about-story {
    gap:40px
  }
  .footer-main {
    grid-template-columns:1fr 1fr;
    gap:30px
  }
  .three-steps {
    gap:30px
  }
  .service-detail {
    gap:40px
  }
}
@media(max-width:720px) {
  .preview-bar {
    display:block;
    font-size:8px;
    line-height:1.7;
    padding:6px 20px
  }
  .preview-bar span {
    display:block
  }
  .public-header {
    padding:10px 20px;
    min-height:78px
  }
  .brand img {
    width:195px
  }
  .page-width {
    padding-left:24px;
    padding-right:24px
  }
  h1 {
    font-size:48px;
    letter-spacing:-1.5px
  }
  h2 {
    font-size:33px
  }
  .lead {
    font-size:14px
  }
  .eyebrow {
    font-size:9px;
    margin-bottom:18px
  }
  .home-hero {
    grid-template-columns:1fr;
    gap:30px;
    padding-top:30px;
    padding-bottom:45px
  }
  .hero-copy {
    padding-top:0
  }
  .hero-copy .lead {
    max-width:430px
  }
  .hero-actions {
    flex-direction:row;
    align-items:center;
    gap:20px;
    margin-top:25px
  }
  .hero-photo {
    min-height:400px
  }
  .hero-foot {
    margin-top:21px
  }
  .photo-caption p {
    font-size:31px
  }
  .discovery-section {
    grid-template-columns:1fr;
    gap:20px;
    padding-top:35px;
    padding-bottom:45px
  }
  .discovery-section h2 br {
    display:none
  }
  .discovery-section>div:first-child>p:last-child {
    max-width:none
  }
  .discovery-tabs button {
    font-size:12px;
    padding:10px 6px
  }
  #priority-panel {
    padding:29px 22px;
    min-height:280px
  }
  #priority-panel h3 {
    font-size:29px;
    max-width:330px
  }
  .section-top {
    align-items:flex-start;
    flex-direction:column;
    gap:20px
  }
  .services-preview {
    padding-bottom:45px
  }
  .service-links {
    grid-template-columns:1fr
  }
  .service-links>a {
    font-size:23px;
    padding:21px 0
  }
  .approach-strip {
    padding:36px 0 40px
  }
  .three-steps {
    grid-template-columns:1fr;
    gap:25px
  }
  .three-steps h3 {
    font-size:26px;
    margin:13px 0 10px
  }
  .three-steps p {
    max-width:none;
    font-size:13px
  }
  .business-band {
    grid-template-columns:1fr;
    gap:32px;
    padding-top:45px;
    padding-bottom:45px
  }
  .business-brand {
    padding:22px
  }
  .business-brand img {
    width:300px
  }
  .public-footer {
    padding:30px 24px 20px
  }
  .footer-main {
    gap:25px;
    grid-template-columns:1fr 1fr
  }
  .footer-main>a>img {
    width:175px
  }
  .footer-main>p {
    font-size:20px
  }
  .footer-main>div {
    font-size:11px
  }
  .footer-bottom {
    flex-direction:column;
    gap:10px;
    margin-top:25px;
    line-height:1.9
  }
  .page-intro {
    padding-top:35px;
    padding-bottom:35px
  }
  .split-intro {
    grid-template-columns:1fr;
    gap:24px
  }
  .split-intro h1 {
    font-size:46px
  }
  .about-story {
    grid-template-columns:1fr;
    gap:24px;
    padding-bottom:40px
  }
  .about-story img {
    height:350px
  }
  .about-story>div {
    padding-top:5px
  }
  .principles {
    padding-top:35px;
    padding-bottom:35px
  }
  .principles article {
    grid-template-columns:25px 1fr;
    gap:12px;
    padding:22px 0
  }
  .principles article p {
    grid-column:2;
    font-size:13px
  }
  .closing-note {
    padding-top:35px;
    padding-bottom:35px;
    margin-bottom:35px
  }
  .topic-nav {
    gap:8px;
    margin-top:25px
  }
  .topic-nav a {
    font-size:10px
  }
  .service-detail {
    grid-template-columns:1fr;
    gap:18px;
    padding:30px 0 35px;
    scroll-margin-top:100px
  }
  .service-label {
    display:flex;
    align-items:center;
    gap:18px
  }
  .service-label>span {
    font-size:26px
  }
  .service-label .eyebrow {
    margin:0
  }
  .service-detail h2 {
    font-size:32px
  }
  .service-bottom {
    align-items:flex-start;
    flex-direction:column;
    padding-top:0;
    padding-bottom:40px
  }
  .contact-layout {
    grid-template-columns:1fr;
    gap:40px;
    padding-bottom:45px
  }
  .contact-book {
    padding:24px
  }
  .contact-direct {
    font-size:14px;
    margin-top:26px
  }
  .contact-business {
    margin-top:24px
  }
  #contact-form {
    border-top:1px solid var(--line);
    padding-top:30px;
    scroll-margin-top:95px
  }
  .field-pair {
    gap:12px
  }
  input:not([type=checkbox]),select,textarea {
    font-size:16px
  }
  .check-line {
    font-size:12px
  }
  .check-line small {
    font-size:11px
  }
  .field>label {
    font-size:12px
  }
  .demo-note {
    font-size:12px
  }
  #review-title,#message-errors,input,textarea {
    scroll-margin-top:100px
  }
}
@media(max-width:380px) {
  h1,.split-intro h1 {
    font-size:41px
  }
  .public-header {
    padding-left:15px;
    padding-right:15px
  }
  .brand img {
    width:173px
  }
  .hero-photo {
    min-height:350px
  }
  .field-pair {
    grid-template-columns:1fr;
    gap:0
  }
  .footer-main {
    grid-template-columns:1fr
  }
  .footer-main>p {
    margin-bottom:0
  }
  .page-width {
    padding-left:20px;
    padding-right:20px
  }
  .button {
    font-size:11px;
    padding:12px 15px;
    gap:18px
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*:before,*:after {
    scroll-behavior:auto!important;
    transition:none!important
  }
}
.service-story {
  margin:26px 0;
  padding:23px 25px;
  background:#edf0e5;
  border-left:3px solid #b87553
}
.service-story>.eyebrow {
  font-size:8px;
  letter-spacing:1.1px;
  margin-bottom:13px
}
.service-story>p:not(.eyebrow) {
  font-size:13px;
  color:var(--muted);
  line-height:1.9;
  margin-bottom:18px
}
.service-story h3 {
  font:400 25px/1.35 var(--serif);
  color:var(--ink);
  margin:0
}
.service-links>a {
  grid-template-columns:35px 1fr
}
.topic-nav a {
  transition:background .25s,border-color .25s,color .25s
}
.topic-nav a.is-active {
  background:var(--olive);
  border-color:var(--olive);
  color:#fff
}
.submit-status {
  margin:24px 0;
  padding:18px 20px;
  border-left:3px solid #ad704a;
  background:#f0e9da;
  color:var(--ink);
  font-size:13px;
  line-height:1.9;
  scroll-margin-top:115px
}
@media(max-width:720px) {
  .service-story {
    padding:21px
  }
  .service-story h3 {
    font-size:24px
  }
}
.public-header #site-nav .opportunity-link,.site-header #site-nav .opportunity-link {
  background:#f0e4d4;
  border:1px solid #c4a785;
  color:#74432f;
  border-radius:6px;
  padding:9px 11px;
  font-size:11px;
  transition:background .2s,border-color .2s
}
.public-header #site-nav .opportunity-link:hover,.site-header #site-nav .opportunity-link:hover {
  background:#e9d7c0;
  border-color:#a77752
}
.social-links {
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  padding-top:22px;
  font:11px/1.7 Arial,Helvetica,sans-serif;
  color:var(--muted)
}
.social-links a {
  text-decoration:none;
  border-bottom:1px solid #aebaa1;
  padding:4px 0
}
.social-links a:hover {
  color:var(--accent)
}
.booking-contact {
  display:flex;
  flex-wrap:wrap;
  gap:8px 20px;
  align-items:center;
  font-size:11px;
  width:100%
}
.workspace>footer .social-links {
  width:100%;
  padding-top:4px;
  font-size:10px
}
.detail-body {
  display:flow-root
}
@media(prefers-reduced-motion:reduce) {
  .topic-nav a,.opportunity-link {
    transition:none!important
  }
}
.service-links,.topic-nav {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  border:0;
  margin-top:0
}
.topic-nav {
  margin-top:36px
}
.service-links>a.service-tile,.topic-nav>a.service-tile {
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:24px;
  min-width:0;
  min-height:225px;
  padding:25px;
  border:1px solid #d4dacd;
  border-radius:16px;
  background:linear-gradient(145deg,#fffdf8,#eeeee3);
  text-decoration:none;
  color:#303d33;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease
}
.service-links>a.service-tile:nth-child(2),.topic-nav>a.service-tile:nth-child(2) {
  background:linear-gradient(145deg,#f7f0e5,#efe3d3)
}
.service-links>a.service-tile:nth-child(3),.topic-nav>a.service-tile:nth-child(3) {
  background:linear-gradient(145deg,#eef2e9,#dfe8da)
}
.service-links>a.service-tile:hover,.topic-nav>a.service-tile:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 28px #303d3310;
  border-color:#8a9e7f
}
.tile-art {
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:#fffdf9b0;
  color:#637a57;
  border:1px solid #cbd5c1
}
.service-icon {
  width:40px;
  height:40px
}
.tile-content {
  display:flex;
  flex-direction:column;
  gap:9px
}
.tile-content>strong {
  font:400 25px/1.2 Georgia,serif;
  letter-spacing:-.5px
}
.tile-content>span:not(.service-tags) {
  font:12px/1.8 Arial,sans-serif;
  color:#666d60
}
.tile-open {
  position:absolute;
  right:24px;
  top:23px;
  font:300 25px/1 Arial,sans-serif;
  color:#83917a
}
.service-tags {
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:8px
}
.service-tags>span {
  font:10px/1.6 Arial,sans-serif;
  padding:5px 10px;
  background:#fffdf870;
  border:1px solid #c2cbb6;
  border-radius:20px
}
.principle-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px
}
.principles .principle-cards article {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  padding:30px;
  border:1px solid #d7d9ca;
  border-radius:16px;
  background:#eeeee2;
  position:relative;
  overflow:hidden
}
.principles .principle-cards article:nth-child(2) {
  background:#f0e8dc
}
.principles .principle-cards article:nth-child(3) {
  background:#e4eadd
}
.principles .principle-cards article>span {
  display:grid;
  place-items:center;
  width:43px;
  height:43px;
  border-radius:50%;
  border:1px solid #a4b396;
  color:#546649;
  font:italic 19px Georgia,serif;
  margin-bottom:35px;
  background:#fffdf74d
}
.principles .principle-cards article h3 {
  font:400 28px/1.2 Georgia,serif;
  min-height:68px;
  margin-bottom:20px
}
.principles .principle-cards article p {
  font-size:13px;
  line-height:1.9
}
.three-steps {
  gap:18px
}
.three-steps article {
  padding:26px;
  border:1px solid #a5b49a40;
  border-radius:14px;
  background:#f8f5ef09
}
.three-steps article>span {
  display:inline-flex;
  width:34px;
  height:34px;
  align-items:center;
  justify-content:center;
  border:1px solid #b7c4a665;
  border-radius:50%
}
.client-story-slot {
  display:flex;
  align-items:flex-start;
  gap:17px;
  margin:28px 0;
  padding:23px;
  border:1px dashed #bdc6b2;
  border-radius:12px;
  background:#ecefe54d
}
.story-mark {
  font:55px/.9 Georgia,serif;
  color:#a5b397
}
.client-story-slot .eyebrow {
  font-size:9px;
  margin-bottom:7px
}
.client-story-slot p:not(.eyebrow) {
  font:20px/1.4 Georgia,serif;
  margin-bottom:6px;
  color:#59664f
}
.client-story-slot small {
  font:11px/1.7 Arial,sans-serif;
  color:#73776b
}
.business-topics {
  display:grid;
  gap:12px;
  margin:28px 0
}
.business-topics article {
  border-left:2px solid #b78b60;
  padding:6px 0 6px 19px
}
.business-topics h3 {
  font-size:23px;
  margin:0 0 8px
}
.business-topics p {
  font-size:12px;
  color:var(--muted);
  margin:0;
  line-height:1.8
}
@media(max-width:1000px) {
  .service-links,.topic-nav {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .principle-cards {
    gap:12px
  }
  .principles .principle-cards article {
    padding:22px
  }
  .principles .principle-cards article h3 {
    font-size:24px
  }
}
@media(max-width:720px) {
  .service-links,.topic-nav {
    gap:12px
  }
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    padding:20px;
    min-height:230px;
    gap:20px
  }
  .tile-content>strong {
    font-size:24px
  }
  .tile-art {
    width:53px;
    height:53px
  }
  .service-icon {
    width:34px;
    height:34px
  }
  .tile-open {
    right:16px;
    top:18px
  }
  .principle-cards {
    grid-template-columns:1fr;
    gap:14px
  }
  .principles .principle-cards article {
    padding:27px
  }
  .principles .principle-cards article>span {
    margin-bottom:22px
  }
  .principles .principle-cards article h3 {
    min-height:0;
    font-size:28px;
    margin-bottom:15px
  }
  .three-steps article {
    padding:24px
  }
}
@media(max-width:450px) {
  .service-links,.topic-nav {
    grid-template-columns:1fr
  }
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    min-height:0;
    flex-direction:row;
    align-items:center;
    padding:23px 20px;
    gap:18px
  }
  .tile-art {
    flex:0 0 50px
  }
  .tile-content>strong {
    font-size:24px
  }
  .tile-content {
    padding-right:9px
  }
  .tile-open {
    display:none
  }
}
.public-header #site-nav .opportunity-link,.site-header #site-nav .opportunity-link {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:transparent;
  border:0;
  border-radius:0;
  color:#7b5239;
  padding:12px 2px;
  font-size:11px;
  box-shadow:none;
  transition:color .25s
}
.public-header #site-nav .opportunity-link:before,.site-header #site-nav .opportunity-link:before {
  content:'';
  width:6px;
  height:6px;
  flex:0 0 6px;
  border-radius:50%;
  background:#b68253;
  box-shadow:0 0 0 4px #b6825315
}
.public-header #site-nav .opportunity-link:after,.site-header #site-nav .opportunity-link:after {
  content:'';
  position:absolute;
  left:14px;
  right:0;
  bottom:5px;
  height:1px;
  background:linear-gradient(90deg,#b68253,#b6825300);
  transition:transform .25s;
  transform-origin:left
}
.public-header #site-nav .opportunity-link:hover,.site-header #site-nav .opportunity-link:hover {
  background:transparent;
  border-color:transparent;
  color:#354337
}
.public-header #site-nav .opportunity-link:hover:after,.site-header #site-nav .opportunity-link:hover:after {
  transform:scaleX(.7)
}
.service-links,.topic-nav {
  position:relative;
  display:grid;
  grid-template-columns:minmax(210px,.85fr) minmax(0,1.65fr);
  gap:0;
  padding:30px 34px;
  background:#f0eee5;
  border:1px solid #d8d5c5;
  border-radius:3px;
  overflow:hidden
}
.collection-note {
  grid-column:1;
  grid-row:1 / span 5;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:28px 32px 28px 0;
  border-right:1px solid #c9cbb9;
  margin-right:32px
}
.collection-note .eyebrow {
  font-size:8px;
  letter-spacing:2px;
  color:#82694b;
  margin-bottom:20px
}
.collection-title {
  font:400 39px/1.12 Georgia,serif;
  letter-spacing:-1px;
  margin:0
}
.collection-title em {
  color:#788464
}
.collection-bloom {
  width:145px;
  height:145px;
  margin:28px 0;
  stroke:#7e8b6d;
  stroke-width:1.1
}
.collection-bloom circle {
  fill:#c98d6320;
  stroke:#bd8c63
}
.collection-note>p:last-child {
  font:12px/1.9 Arial,sans-serif;
  color:#6b7164;
  margin:0
}
.service-links>a.service-tile,.topic-nav>a.service-tile {
  grid-column:2;
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:23px;
  min-height:122px;
  padding:23px 4px;
  background:transparent!important;
  border:0;
  border-bottom:1px solid #d3d5c7;
  border-radius:0;
  box-shadow:none;
  transform:none;
  transition:background .3s,color .3s
}
.service-links>a.service-tile:last-child,.topic-nav>a.service-tile:last-child {
  border-bottom:0
}
.service-links>a.service-tile:hover,.topic-nav>a.service-tile:hover {
  background:#fffaf04f!important;
  border-color:#bdc5af;
  box-shadow:none;
  transform:none;
  color:#8c573b
}
.tile-art {
  position:relative;
  flex:0 0 74px;
  width:74px;
  height:74px;
  border:1px solid #b7c1a8;
  border-radius:50%;
  background:transparent;
  color:#596e50;
  transition:transform .3s
}
.tile-art:before {
  content:'';
  position:absolute;
  width:7px;
  height:7px;
  background:#bd8a60;
  border:3px solid #f0eee5;
  box-sizing:content-box;
  top:-3px;
  right:5px;
  border-radius:50%
}
.service-icon {
  width:47px;
  height:47px;
  stroke-width:1.25
}
.service-tile:hover .tile-art {
  transform:rotate(-4deg)
}
.tile-content {
  gap:8px;
  min-width:0
}
.tile-content>strong {
  font:400 25px/1.22 Georgia,serif;
  letter-spacing:-.4px
}
.tile-content>span:not(.service-tags) {
  font:12px/1.8 Arial,sans-serif;
  color:#6b7164
}
.service-tags {
  gap:3px 10px;
  margin-top:3px
}
.service-tags>span {
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  font-size:10px;
  color:#8a6951
}
.service-tags>span+span:before {
  content:'·';
  margin-right:9px
}
.public-footer .footer-main {
  grid-template-columns:1.25fr .9fr 1.25fr;
  gap:45px
}
.hero-photo>img {
  object-position:center 40%
}
.about-story img {
  object-position:center
}
.about-story figcaption span {
  display:block;
  font:10px/1.8 Arial,sans-serif;
  padding-top:4px
}
.contact-photo {
  margin:0 0 22px;
  overflow:hidden;
  border-radius:3px
}
.contact-photo img {
  width:100%;
  height:205px;
  object-fit:cover;
  object-position:center
}
@media(max-width:1000px) {
  .service-links,.topic-nav {
    padding:25px;
    grid-template-columns:minmax(180px,.8fr) minmax(0,1.5fr)
  }
  .collection-note {
    padding-right:20px;
    margin-right:22px
  }
  .collection-title {
    font-size:33px
  }
  .tile-content>strong {
    font-size:23px
  }
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    gap:17px
  }
  .tile-art {
    flex-basis:64px;
    width:64px;
    height:64px
  }
  .service-icon {
    width:42px;
    height:42px
  }
}
@media(max-width:720px) {
  .service-links,.topic-nav {
    grid-template-columns:1fr;
    padding:23px
  }
  .collection-note {
    grid-column:1;
    grid-row:auto;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    gap:12px;
    border-right:0;
    border-bottom:1px solid #c9cbb9;
    margin:0;
    padding:0 0 23px
  }
  .collection-note .eyebrow {
    width:100%;
    margin-bottom:3px
  }
  .collection-title {
    font-size:32px
  }
  .collection-bloom {
    width:87px;
    height:87px;
    margin:0
  }
  .collection-note>p:last-child {
    display:none
  }
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    grid-column:1;
    gap:18px;
    padding:24px 0;
    min-height:114px
  }
  .tile-content>strong {
    font-size:24px
  }
  .tile-content {
    padding:0
  }
  .tile-art {
    flex-basis:62px;
    width:62px;
    height:62px
  }
  .service-icon {
    width:40px;
    height:40px
  }
  .public-footer .footer-main {
    grid-template-columns:1fr 1fr;
    gap:25px
  }
  .footer-main>a:first-child {
    grid-column:1 / -1
  }
  .contact-photo img {
    height:240px
  }
}
@media(max-width:380px) {
  .service-links,.topic-nav {
    padding:18px
  }
  .tile-art {
    flex-basis:49px;
    width:49px;
    height:49px
  }
  .service-icon {
    width:33px;
    height:33px
  }
  .tile-content>strong {
    font-size:22px
  }
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    gap:14px
  }
}
@media(prefers-reduced-motion:reduce) {
  .service-tile:hover .tile-art {
    transform:none
  }
}
.public-header #site-nav .opportunity-link,.site-header #site-nav .opportunity-link {
  color:#a44e32
}
.public-header #site-nav .opportunity-link:before,.site-header #site-nav .opportunity-link:before {
  background:#d77c4a;
  box-shadow:0 0 0 4px #d77c4a18;
  animation:opportunity-pulse 2.6s ease-in-out infinite
}
.public-header #site-nav .opportunity-link:after,.site-header #site-nav .opportunity-link:after {
  background:linear-gradient(90deg,#cf8358,#cf835800)
}
@keyframes opportunity-pulse {
  0%,100% {
    opacity:1;
    box-shadow:0 0 0 3px #d77c4a22
  }
  50% {
    opacity:.45;
    box-shadow:0 0 0 7px #d77c4a00
  }
}
@media(prefers-reduced-motion:reduce) {
  .public-header #site-nav .opportunity-link:before,.site-header #site-nav .opportunity-link:before {
    animation:none
  }
}
.service-links,.topic-nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  overflow:visible
}
.service-links>a.service-tile,.topic-nav>a.service-tile {
  position:relative;
  grid-column:auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:16px;
  padding:30px 32px;
  min-height:218px;
  border:0!important;
  border-radius:9px;
  overflow:hidden;
  background:#e4e9db!important;
  box-shadow:none;
  transform:none;
  transition:box-shadow .2s ease
}
.service-kicker {
  font:700 9px/1.6 Arial,sans-serif;
  letter-spacing:1.7px;
  color:#5c6d51;
  max-width:85%;
  position:relative;
  z-index:1
}
.tile-art {
  position:absolute;
  right:24px;
  top:23px;
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  flex:none;
  border:0;
  border-radius:0;
  background:none;
  color:#738463;
  transform:none!important;
  opacity:.9
}
.tile-art:before,.tile-art:after {
  content:none!important;
  display:none!important
}
.service-icon {
  width:55px;
  height:55px;
  stroke-width:1.4
}
.tile-content {
  gap:12px;
  position:relative;
  z-index:1;
  padding-right:66px
}
.tile-content>strong {
  font:400 30px/1.1 Georgia,serif;
  letter-spacing:-.7px
}
.tile-content>span:not(.service-tags) {
  font:13px/1.8 Arial,sans-serif;
  color:#59664e;
  max-width:350px
}
.service-explore {
  font:700 11px/1.7 Arial,sans-serif;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
  margin-top:auto;
  color:#3e5235;
  position:relative;
  z-index:1
}
.service-tags {
  gap:8px 14px;
  margin-top:8px
}
.service-tags>span {
  color:inherit;
  font-size:10px;
  border:0;
  background:none;
  padding:0;
  line-height:1.7
}
.service-tags>span+span:before {
  content:none
}
.service-links>a.service-protection,.topic-nav>a.service-protection {
  grid-row:span 2;
  min-height:453px;
  padding:38px;
  background:#314b40!important;
  color:#fffaf0
}
.service-protection .service-kicker {
  color:#c8d4b7
}
.service-protection .tile-art {
  top:auto;
  bottom:30px;
  right:22px;
  width:162px;
  height:162px;
  color:#d0b88c;
  opacity:.36
}
.service-protection .service-icon {
  width:158px;
  height:158px;
  stroke-width:1
}
.service-protection .tile-content {
  padding-right:0;
  max-width:380px;
  margin-top:22px
}
.service-protection .tile-content>strong {
  font-size:47px;
  line-height:1.06;
  letter-spacing:-1.4px;
  max-width:350px
}
.service-protection .tile-content>span:not(.service-tags) {
  font-size:15px;
  color:#d9e1d0;
  max-width:290px
}
.service-protection .service-tags {
  display:flex;
  flex-direction:column;
  gap:3px;
  color:#c1ceb5
}
.service-protection .service-explore {
  color:#fffaf0;
  margin-top:30px
}
.service-links>a.service-education,.topic-nav>a.service-education {
  background:#d8aa88!important;
  color:#3c3228
}
.service-education .service-kicker,.service-education .tile-art,.service-education .tile-content>span:not(.service-tags),.service-education .service-explore {
  color:#624531
}
.service-links>a.service-retirement,.topic-nav>a.service-retirement {
  background:#eee6d5!important;
  min-height:239px
}
.service-links>a.service-business,.topic-nav>a.service-business {
  background:#d7e0dc!important;
  min-height:239px
}
.service-links>a.service-tile:hover,.topic-nav>a.service-tile:hover {
  box-shadow:0 0 0 2px #9d795d!important;
  transform:none
}
.service-links>a.service-protection:hover,.topic-nav>a.service-protection:hover {
  background:#314b40!important
}
.service-links>a.service-investing:hover,.topic-nav>a.service-investing:hover {
  background:#e4e9db!important
}
.service-links>a.service-education:hover,.topic-nav>a.service-education:hover {
  background:#d8aa88!important
}
.service-links>a.service-retirement:hover,.topic-nav>a.service-retirement:hover {
  background:#eee6d5!important
}
.service-links>a.service-business:hover,.topic-nav>a.service-business:hover {
  background:#d7e0dc!important
}
@media(max-width:1000px) {
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    padding:27px;
    min-height:228px
  }
  .service-links>a.service-protection,.topic-nav>a.service-protection {
    min-height:472px;
    padding:30px
  }
  .service-protection .tile-content>strong {
    font-size:40px
  }
  .tile-content>strong {
    font-size:28px
  }
  .tile-art {
    right:17px;
    width:45px;
    height:45px
  }
  .service-icon {
    width:43px;
    height:43px
  }
  .tile-content {
    padding-right:40px
  }
}
@media(max-width:720px) {
  .service-links,.topic-nav {
    gap:12px
  }
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    padding:24px;
    min-height:246px;
    gap:16px
  }
  .service-links>a.service-protection,.topic-nav>a.service-protection {
    grid-column:1 / -1;
    grid-row:auto;
    min-height:335px;
    padding:29px
  }
  .service-protection .tile-content {
    max-width:350px;
    padding-right:40px;
    margin-top:8px
  }
  .service-protection .tile-content>strong {
    font-size:41px
  }
  .service-protection .tile-art {
    bottom:16px;
    right:15px;
    width:120px;
    height:120px
  }
  .service-protection .service-icon {
    width:118px;
    height:118px
  }
  .tile-art {
    top:24px;
    right:19px;
    width:32px;
    height:32px
  }
  .service-icon {
    width:32px;
    height:32px
  }
  .tile-content {
    padding-right:0;
    margin-top:12px
  }
  .tile-content>strong {
    font-size:28px
  }
  .service-kicker {
    font-size:8px;
    letter-spacing:1.2px;
    max-width:calc(100% - 27px)
  }
  .service-tags {
    display:flex;
    flex-direction:column;
    gap:2px
  }
  .service-protection .service-tags {
    display:none
  }
  .service-protection .service-explore {
    margin-top:15px
  }
}
@media(max-width:450px) {
  .service-links,.topic-nav {
    grid-template-columns:1fr
  }
  .service-links>a.service-tile,.topic-nav>a.service-tile {
    min-height:226px;
    padding:27px
  }
  .service-links>a.service-protection,.topic-nav>a.service-protection {
    min-height:330px
  }
  .tile-art {
    top:25px;
    right:25px;
    width:48px;
    height:48px
  }
  .service-icon {
    width:46px;
    height:46px
  }
  .tile-content {
    padding-right:40px;
    max-width:100%
  }
  .tile-content>strong {
    font-size:31px
  }
  .service-protection .tile-content>strong {
    font-size:42px
  }
  .service-protection .tile-content {
    padding-right:0;
    max-width:300px
  }
  .service-protection .tile-content>span:not(.service-tags) {
    max-width:250px
  }
}
.public-header #site-nav .opportunity-link:before,.site-header #site-nav .opportunity-link:before,.card-navigation button.start-action:before {
  content:none!important;
  display:none!important;
  animation:none!important
}
.public-header #site-nav .opportunity-link,.site-header #site-nav .opportunity-link {
  gap:0
}
.public-header #site-nav .opportunity-link:after,.site-header #site-nav .opportunity-link:after {
  left:0;
  transform:none!important;
  transition:none!important
}
*,*:before,*:after {
  animation:none!important
}
#progress-dots {
  display:none!important
}
.public-header #site-nav .opportunity-link,.site-header #site-nav .opportunity-link {
  gap:10px
}
.public-header #site-nav .opportunity-link:before,.site-header #site-nav .opportunity-link:before {
  content:''!important;
  display:block!important;
  position:static;
  width:6px;
  height:6px;
  flex:0 0 6px;
  border:0;
  border-radius:50%;
  background:#d77c4a;
  animation:opportunity-only 2.6s ease-in-out infinite!important
}
.public-header #site-nav .opportunity-link:after,.site-header #site-nav .opportunity-link:after {
  left:16px
}
@keyframes opportunity-only {
  0%,100% {
    opacity:1;
    box-shadow:0 0 0 3px #d77c4a20
  }
  50% {
    opacity:.35;
    box-shadow:0 0 0 6px #d77c4a00
  }
}
@media(prefers-reduced-motion:reduce) {
  .public-header #site-nav .opportunity-link:before,.site-header #site-nav .opportunity-link:before {
    animation:none!important
  }
}
.life-review {
  background:#ece4d5;
  margin:0 0 20px
}
.life-review-inner {
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:85px;
  padding-top:65px;
  padding-bottom:65px;
  align-items:center
}
.life-review .eyebrow {
  color:#96603e
}
.life-review h2 {
  font-size:clamp(38px,4.3vw,58px);
  line-height:1.08;
  margin-bottom:24px
}
.life-review h2 em {
  color:#7d7854
}
.life-review-inner>div>p:not(.eyebrow) {
  font-size:13px;
  line-height:1.95;
  color:#6c6859;
  max-width:390px;
  margin-bottom:28px
}
.life-event-list {
  border-top:1px solid #b5b29e
}
.life-event-list a {
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:25px 0;
  border-bottom:1px solid #b5b29e;
  text-decoration:none
}
.life-event-list a>span {
  font:31px/1.2 Georgia,serif;
  letter-spacing:-.5px
}
.life-event-list a>small {
  font:12px/1.8 Arial,sans-serif;
  color:#746e5f
}
.life-event-list a:hover>span {
  color:#a35f3d
}
.decision-section {
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:65px;
  padding-top:45px;
  padding-bottom:65px;
  align-items:center;
  margin-bottom:30px
}
.decision-intro h2 {
  font-size:clamp(37px,4.1vw,55px);
  line-height:1.1
}
.decision-intro>p:last-child {
  max-width:360px;
  font-size:14px;
  color:var(--muted);
  line-height:1.95
}
.decision-board {
  background:#344b3e;
  color:#f8f5ea;
  padding:34px 35px;
  border-radius:7px;
  box-shadow:12px 12px 0 #dfc6a9
}
.decision-board-label {
  font:700 9px/1.8 Arial,sans-serif;
  letter-spacing:1.7px;
  color:#d7bc93;
  margin-bottom:23px
}
.decision-board article {
  padding:21px 0;
  border-top:1px solid #c0cbb53b
}
.decision-board h3 {
  font:28px/1.15 Georgia,serif;
  letter-spacing:-.5px;
  margin-bottom:12px
}
.decision-board article p {
  font-size:12px;
  line-height:1.85;
  color:#d3ddcb;
  max-width:355px;
  margin:0
}
.decision-board>.underlink {
  display:inline-block;
  margin-top:8px;
  color:#ead2ad
}
.services-detail {
  padding-bottom:55px
}
@media(max-width:850px) {
  .life-review-inner {
    gap:40px
  }
  .decision-section {
    gap:35px
  }
  .decision-board {
    padding:28px
  }
  .life-event-list a>span {
    font-size:27px
  }
}
@media(max-width:720px) {
  .life-review-inner {
    grid-template-columns:1fr;
    gap:35px;
    padding-top:40px;
    padding-bottom:40px
  }
  .life-review h2 {
    font-size:40px
  }
  .life-review-inner>div>p:not(.eyebrow) {
    max-width:none;
    font-size:14px
  }
  .life-event-list a {
    padding:21px 0
  }
  .decision-section {
    grid-template-columns:1fr;
    gap:24px;
    padding-top:15px;
    padding-bottom:45px
  }
  .decision-intro h2 {
    font-size:40px
  }
  .decision-intro>p:last-child {
    max-width:none
  }
  .decision-board {
    box-shadow:7px 7px 0 #dfc6a9
  }
  .decision-board h3 {
    font-size:28px
  }
  .decision-board article p {
    font-size:13px
  }
  .services-detail {
    padding-bottom:30px
  }
}
.ffz-honeypot {
  position:absolute;
  left:-10000px;
  width:1px;
  height:1px;
  overflow:hidden
}
button[disabled] {
  cursor:wait;
  opacity:.65
}

/* shared/buttons */
.public-header {
  gap:20px
}
.site-header {
  column-gap:20px;
  row-gap:0
}
:is(.public-header,.site-header) #site-nav {
  gap:clamp(13px,1.5vw,24px)
}
:is(.public-header,.site-header) #site-nav a.header-action {
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:11px 18px;
  margin:0;
  gap:0;
  border:1px solid;
  border-radius:8px;
  text-align:center;
  text-decoration:none;
  white-space:nowrap;
  font:600 14px/1.4 Arial,Helvetica,sans-serif;
  letter-spacing:0;
  text-shadow:none;
  box-shadow:none;
  filter:none;
  transform:none;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease
}
:is(.public-header,.site-header) #site-nav a.header-action strong {
  font:inherit;
  color:inherit
}
:is(.public-header,.site-header) #site-nav a.header-action:before,:is(.public-header,.site-header) #site-nav a.header-action:after {
  content:none!important;
  display:none!important;
  animation:none!important
}
:is(.public-header,.site-header) #site-nav a.header-opportunity {
  background:#9d4422;
  border-color:#8f3c1e;
  color:#fffaf0
}
:is(.public-header,.site-header) #site-nav a.header-consultation {
  background:#334e3e;
  border-color:#334e3e;
  color:#fffaf0;
  box-shadow:0 2px 5px #273c2e12
}
:is(.public-header,.site-header) #site-nav a.header-opportunity:hover {
  background:#87391d;
  border-color:#783218;
  color:#fffaf0
}
:is(.public-header,.site-header) #site-nav a.header-consultation:hover {
  background:#284332;
  border-color:#284332;
  color:#fffaf0;
  box-shadow:0 3px 7px #273c2e1a
}
:is(.public-header,.site-header) #site-nav a.header-action:focus-visible {
  outline:3px solid #9b5938;
  outline-offset:5px
}
.submit-status.is-success {
  background:#e9eee3;
  border:1px solid #b9c8ad;
  border-left:4px solid #45633e;
  border-radius:8px;
  padding:23px 25px;
  font-size:16px;
  line-height:1.8;
  color:#263f2e
}
@media(min-width:901px) and (max-width:1250px) {
  .public-header .brand img,.site-header .brand img {
    width:190px!important
  }
  :is(.public-header,.site-header) #site-nav {
    gap:15px
  }
  :is(.public-header,.site-header) #site-nav a.header-action {
    font-size:13px;
    padding:10px 15px;
    min-height:44px
  }
}
@media(min-width:901px) and (max-width:1080px) {
  .public-header,.site-header {
    padding-left:3%;
    padding-right:3%
  }
  :is(.public-header,.site-header) #site-nav {
    gap:12px
  }
  :is(.public-header,.site-header) #site-nav>a {
    font-size:12px
  }
  :is(.public-header,.site-header) #site-nav a.header-action {
    padding-left:12px;
    padding-right:12px;
    font-size:13px
  }
}
@media(max-width:900px) {
  :is(.public-header,.site-header) #site-nav a.header-action {
    width:100%;
    min-height:48px;
    flex-shrink:0;
    margin:9px 0 2px;
    padding:12px 10px;
    font-size:14px;
    border-radius:8px
  }
  :is(.public-header,.site-header) #site-nav a.header-consultation {
    margin-bottom:5px
  }
}
@media(prefers-reduced-motion:reduce) {
  :is(.public-header,.site-header) #site-nav a.header-action {
    transition:none
  }
}

/* shared/readability */
:root {
  --ink:#23382b;
  --muted:#465348;
  --accent:#87422e;
  --olive:#304b38
}
body {
  color:var(--ink);
  font-size:16px;
  line-height:1.8
}
body main p:not(.eyebrow),body main li,body main dd {
  font-size:15px;
  line-height:1.85
}
body main p:not(.eyebrow) {
  color:var(--muted)
}
body main p.lead {
  font-size:18px;
  line-height:1.85;
  color:#3e4f41
}
body main .eyebrow {
  font-size:11px;
  font-weight:700;
  letter-spacing:1.5px;
  color:#87422e
}
body h1 em,body h2 em {
  color:#526b42
}
:is(.public-header,.site-header) #site-nav>a:not(.header-action) {
  font-size:13px;
  font-weight:700;
  color:#293d30
}
:is(.public-header,.site-header) #site-nav>a:not(.header-action):hover,:is(.public-header,.site-header) #site-nav>a:not(.header-action)[aria-current] {
  color:#87422e
}
body .field label,body label,body .written-label {
  color:#263b2d;
  font-size:14px
}
body .check-line,body .check-line>span {
  font-size:14px;
  line-height:1.75;
  color:#354735
}
body input:not([type=checkbox]):not([type=radio]),body textarea,body select {
  font-size:16px;
  color:#243a2c;
  border-color:#9ba994
}
body input::placeholder,body textarea::placeholder {
  color:#626c61;
  opacity:1
}
body .field small,body .question-help,body .form-help,body .privacy-copy,body .submit-note,body .muted {
  font-size:13px;
  line-height:1.75;
  color:#4a5949
}
body .error,body .card-error {
  font-size:14px;
  color:#8a2f20
}
body .button,body .underlink,body .text-button,body .calendar-jump {
  font-size:14px
}
body .section-heading>p:last-child,body .hero-foot,body .about-copy p,body .service-copy p,body .story-question {
  color:#41513f
}
body .tile-content>span:not(.service-tags) {
  font-size:15px;
  line-height:1.7;
  color:#3f503e
}
body .service-kicker,body .service-explore {
  font-size:11px;
  font-weight:700
}
body .service-tags span {
  font-size:12px;
  color:#3d4b3a
}
body .life-event-list a>small {
  font-size:14px;
  color:#4c5745
}
body main .decision-board article p,body main .approach-strip p {
  color:#f0f3e9;
  font-size:15px
}
body .decision-board .decision-board-label {
  color:#eed4a7;
  font-size:11px
}
body main .intro p:not(.eyebrow),body main .respect-note p,body main .photo-caption p,body main .consultation p {
  color:#f0f2e7
}
body main .photo-caption p {
  font:400 38px/1.2 Georgia,'Times New Roman',serif;
  color:#fffaf0
}
body .intro .eyebrow,body .consultation .eyebrow,body .approach-strip .eyebrow {
  color:#ead0a5
}
body .intro h1 em {
  color:#ecd3aa
}
body .service-protection .tile-content>span:not(.service-tags),body .service-protection .service-tags span {
  color:#edf3e5
}
body .service-protection .service-kicker {
  color:#ecd4aa
}
body .market-source,body .market-status,body .market-card-heading>span {
  font-size:11px;
  color:#e5ebdc
}
body .booking-invitation-copy,body .sms-reminder-note {
  font-size:15px;
  color:#43503e
}
body .steps {
  font-size:13px
}
body .steps small {
  font-size:11px;
  color:#4d5948
}
body .answer span {
  color:#293d2b;
  font-size:16px;
  line-height:1.7
}
body .answer:has(input:checked) span {
  color:inherit
}
body .welcome-copy p {
  font-size:15px;
  line-height:1.85
}
body .respect-note strong {
  color:#fffaf0;
  font-size:15px
}
body .respect-note p {
  font-size:14px
}
body .contact-direct,body .contact-direct a,body .contact-business {
  font-size:15px;
  color:#354936
}
body .public-footer,body .public-footer a,body .public-footer span,body footer a {
  font-size:13px;
  line-height:1.9;
  color:#43523f
}
body .public-footer .footer-bottom,body .footer-bottom span {
  font-size:12px
}
body .journey-stage,body .journey-title {
  color:#3a4d3a
}
@media(max-width:720px) {
  body main p:not(.eyebrow),body main li,body main dd {
    font-size:15px
  }
  body main p.lead {
    font-size:17px
  }
  body main .photo-caption p {
    font-size:34px
  }
  body .steps {
    font-size:11px
  }
  body .steps small {
    font-size:10px
  }
  body .check-line,body .check-line>span {
    font-size:14px
  }
}
#intake .topics>.field:first-of-type {
  margin-top:20px
}
#contact-form #submit-status {
  font:400 14px/1.65 Arial,Helvetica,sans-serif;
  padding:12px 16px;
  margin-top:16px;
  border-radius:6px;
  border-left-width:2px
}
#contact-form #submit-status:focus {
  outline:none
}

/* shared/transitions */
html {
  scrollbar-gutter:stable;
  background:#f8f5ef
}
@media(prefers-reduced-motion:no-preference) {
  @view-transition {
    navigation:auto
  }
  ::view-transition-old(root) {
    animation:ffz-page-out 160ms ease-out both
  }
  ::view-transition-new(root) {
    animation:ffz-page-in 160ms ease-out both
  }
  ::view-transition-group(root) {
    animation-duration:160ms
  }
}
@keyframes ffz-page-out {
  from {
    opacity:1
  }
  to {
    opacity:0
  }
}
@keyframes ffz-page-in {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}
@media(prefers-reduced-motion:reduce) {
  @view-transition {
    navigation:none
  }
  ::view-transition-old(root),::view-transition-new(root),::view-transition-group(root) {
    animation:none!important
  }
}

/* shared/stories */
.service-stories {
  display:grid;
  gap:22px;
  margin:28px 0
}
.service-story {
  padding:27px 29px 29px;
  background:#f0f2e9;
  border:1px solid #c3ceba;
  border-left:3px solid #738968;
  border-radius:10px
}
body main .service-story p.story-label {
  color:#2a4531;
  font:700 14px/1.5 Arial,Helvetica,sans-serif;
  margin:0 0 3px;
  letter-spacing:.1px
}
body main .service-story p.story-disclosure {
  color:#4d5f47;
  font:500 12px/1.6 Arial,Helvetica,sans-serif;
  margin:0 0 21px
}
.service-story h3 {
  font:400 26px/1.25 Georgia,'Times New Roman',serif;
  color:#29432f;
  letter-spacing:-.3px;
  margin:3px 0 20px
}
body main .service-story p.story-copy {
  color:#2f4432;
  font:400 16px/1.85 Arial,Helvetica,sans-serif;
  margin:0 0 17px
}
.service-story .story-opening {
  font-weight:600;
  color:#263d2b
}
body main .service-story p.story-question {
  font:600 17px/1.65 Arial,Helvetica,sans-serif;
  color:#243f2a;
  margin:23px 0 20px;
  padding-top:19px;
  border-top:1px solid #c7d2bd
}
.service-story .story-question strong {
  font:inherit;
  color:inherit
}
body .service-story .button-story {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:47px;
  padding:11px 18px;
  background:#dce8d0;
  color:#29442b;
  border:1px solid #a8bd99;
  border-radius:7px;
  box-shadow:none;
  text-decoration:none;
  font:600 14px/1.5 Arial,Helvetica,sans-serif;
  transition:background-color .16s ease,border-color .16s ease
}
body .service-story .button-story:hover {
  background:#cfdfc0;
  border-color:#829e70;
  transform:none
}
body .service-story .button-story:focus-visible {
  outline:3px solid #875036;
  outline-offset:4px
}
@media(max-width:720px) {
  .service-stories {
    margin:23px 0;
    gap:19px
  }
  .service-story {
    padding:23px 21px
  }
  .service-story h3 {
    font-size:24px
  }
  body main .service-story p.story-copy {
    font-size:15px;
    line-height:1.85
  }
  body main .service-story p.story-question {
    font-size:16px
  }
  body .service-story .button-story {
    width:100%;
    padding:12px
  }
}
@media(prefers-reduced-motion:reduce) {
  body .service-story .button-story {
    transition:none
  }
}

/* shared/privacy */
/* A quiet reading layout, using the same brand type and colours as the site. */
#contact-form .privacy-copy {
  margin:20px 0 0;
  line-height:1.7;
}
.privacy-page {
  padding:56px 5% 80px;
}
.privacy-wrap {
  max-width:1120px;
  margin:0 auto;
}
.privacy-hero {
  padding:44px 48px;
  background:linear-gradient(115deg,#e8eddf,#f2ece1);
  border:1px solid #dce2d2;
  border-radius:20px;
}
.privacy-hero h1 {
  max-width:740px;
  font-size:clamp(40px,5vw,64px);
  margin-bottom:24px;
}
.privacy-hero .eyebrow {
  margin-bottom:18px;
}
body .privacy-hero .privacy-date {
  display:inline-block;
  padding:5px 12px;
  border:1px solid #cbd5c2;
  border-radius:5px;
  font-size:12px;
  color:#465641;
  margin-bottom:0;
}
body .privacy-hero .privacy-intro {
  max-width:690px;
  font-size:17px;
  line-height:1.8;
  margin-bottom:24px;
}
.privacy-layout {
  display:grid;
  grid-template-columns:205px minmax(0,1fr);
  gap:56px;
  padding-top:48px;
  align-items:start;
}
.privacy-contents {
  position:sticky;
  top:125px;
  padding:20px 0;
  border-top:2px solid #bac7ae;
}
body .privacy-contents p {
  font-size:12px;
  font-weight:700;
  letter-spacing:1px;
  text-transform:uppercase;
  margin-bottom:16px;
}
.privacy-contents a {
  display:block;
  padding:7px 0;
  text-decoration:none;
  font-size:14px;
  line-height:1.55;
  color:#46563f;
}
.privacy-contents a:hover {
  text-decoration:underline;
}
.privacy-reading {
  min-width:0;
  padding:0 8px;
}
.privacy-section {
  padding:0 0 28px;
  margin-bottom:30px;
  border-bottom:1px solid #dce0d3;
  scroll-margin-top:140px;
}
.privacy-section h2 {
  font-size:clamp(26px,3vw,32px);
  letter-spacing:-.5px;
  margin-bottom:18px;
}
body .privacy-section p {
  font-size:16px;
  line-height:1.9;
  color:#3d4c3c;
  margin-bottom:16px;
}
.privacy-section p:last-child {
  margin-bottom:0;
}
.privacy-section a {
  overflow-wrap:anywhere;
  color:#8c442b;
}
.privacy-contact {
  padding:26px 28px;
  border-radius:12px;
  background:#edf0e6;
}
body .privacy-contact p {
  margin-bottom:6px;
  font-size:14px;
}
.privacy-contact a {
  overflow-wrap:anywhere;
}
.not-found {
  max-width:1000px;
  margin:auto;
  padding:90px 5%;
}
@media(max-width:760px) {
  .privacy-page {padding:28px 5% 48px;}
  .privacy-hero {padding:30px 24px;border-radius:14px;}
  .privacy-layout {grid-template-columns:1fr;gap:30px;padding-top:30px;}
  .privacy-contents {position:static;padding:18px 0 0;}
  .privacy-reading {padding:0 4px;}
  .privacy-contact {padding:22px;}
  .privacy-section {scroll-margin-top:105px;}
}

/* shared/photography */
/* Approved photographs. Keep decorative layers away from form fields and text. */
.about-story img[src*="about-advice"] {display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center;}
.home-hero {
  grid-template-columns:1fr 1.2fr;
  gap:48px;
}
.hero-photo {
  border-radius:18px 18px 6px 6px;
  min-height:510px;
}
.hero-photo>img {
  object-position:56% 58%;
}
.hero-photo:after {
  inset:55% 0 0;
  background:linear-gradient(transparent,rgba(25,45,33,.82));
}
.life-review,
.photo-wash,
.business-brand,
.welcome-panel {
  position:relative;
  isolation:isolate;
}
.life-review:before,
.photo-wash:before,
.business-brand:before,
.welcome-panel:before {
  content:'';
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:cover;
}
.life-review:before {content:none;}
.business-brand {
  overflow:hidden;
  border-radius:14px;
  background:#eeece3;
}
.business-brand:before {content:none;}
.about-story figure {
  border-radius:14px;
  overflow:hidden;
  background:#efede4;
}
.about-story img {
  object-position:50% 66%;
}
.about-story figcaption {
  padding:16px 20px 18px;
}
.photo-wash {
  overflow:hidden;
  border-radius:16px;
}
.photo-wash:before {
  background-image:linear-gradient(90deg,#e9eedf 36%,#e9eedf20),url('/assets/images/protective-hands-wide.webp');
  background-position:center,right center;
  opacity:.18;
}
.contact-photo {
  border-radius:14px;
  background:#dcece1;
}
.contact-photo img {
  height:auto;
  aspect-ratio:4/3;
  object-position:center;
}
.protection-photographs {
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:18px;
  margin:28px 0 32px;
}
.protection-photographs figure {
  margin:0;
  overflow:hidden;
  border:1px solid #d9dfcf;
  border-radius:12px;
  background:#edf0e6;
}
.protection-photographs img {
  display:block;
  width:100%;
  height:260px;
  object-fit:cover;
}
.protection-photographs figure:first-child img {
  object-position:50% 33%;
}
.protection-photographs figure:last-child img {
  object-position:52% 40%;
}
.protection-photographs figcaption {
  padding:12px 15px;
  font:500 13px/1.65 Arial,Helvetica,sans-serif;
  color:#3c513c;
}
.protection-photo-note {
  grid-column:1/-1;
  font:400 11px/1.6 Arial,Helvetica,sans-serif;
  color:#58644f;
  margin:-8px 0 0;
}
.welcome-panel:before {content:none;}

/* A restrained film-like finish; originals stay unchanged. */
.cinematic-photo {
  filter:contrast(1.055) saturate(.88) brightness(.99);
}
.life-review .life-review-inner {
  grid-template-columns:1.12fr 1fr;
  gap:32px;
  align-items:center;
}
.life-review-photo {
  margin:0;
  overflow:hidden;
  border-radius:12px;
  border:1px solid #b9c4aa;
  box-shadow:0 12px 28px #23352115;
}
.life-review-photo img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:3/4;
  object-fit:cover;
  object-position:56% 36%;
}
.service-photo {
  margin:28px 0 30px;
  border:1px solid #d1d9c7;
  border-radius:12px;
  overflow:hidden;
  background:#edf0e6;
}
.service-photo img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16/10;
  object-fit:cover;
}
.service-photo figcaption {
  padding:12px 16px;
  color:#485941;
  font:400 12px/1.65 Arial,Helvetica,sans-serif;
}
.service-photo--retirement img {object-position:70% 22%;}
.service-photo--student {max-width:440px;}
.service-photo--student img {aspect-ratio:1.1;object-position:50% 40%;}
.service-photo--disability img {aspect-ratio:3/2;object-position:right center;}
@media(max-width:1000px) {
  .home-hero {gap:28px;}
  .hero-photo {min-height:480px;}
  .life-review .life-review-inner {grid-template-columns:1fr 1fr;gap:28px;}
  .life-review-photo {grid-column:2;grid-row:1;max-width:270px;justify-self:end;}
  .life-event-list {grid-column:1/-1;}
}
@media(max-width:720px) {
  .home-hero {grid-template-columns:1fr;gap:28px;}
  .hero-photo {min-height:0;aspect-ratio:1.25;}
  .photo-caption {left:22px;bottom:16px;}
  .photo-caption>span {display:none;}
  body main .photo-caption p {font-size:22px;}
  .protection-photographs {grid-template-columns:1fr;gap:16px;}
  .protection-photographs img {height:auto;aspect-ratio:1.3;}
  .protection-photographs figure:first-child img {object-position:50% 30%;}
  .photo-wash:before {opacity:.10;}
  .welcome-panel:before {opacity:.06;}
  .life-review .life-review-inner {grid-template-columns:1fr;gap:28px;}
  .life-review-photo {grid-column:auto;grid-row:auto;max-width:280px;justify-self:center;width:100%;}
  .life-event-list {grid-column:auto;}
  .service-photo--student {max-width:100%;}
}

/* shared/chrome */
/* Quiet separation for the shared header and footer. */
body>.public-header,
body>.site-header {
  background:rgba(241,240,232,.97);
  border-bottom:1px solid #d7ddcf;
  box-shadow:0 3px 14px rgba(43,62,43,.035);
}
body>.public-footer {
  max-width:none;
  width:100%;
  padding:44px max(5vw,calc((100vw - 1152px)/2)) 24px;
  background:#eaf0e5;
  border-top:1px solid #d0dac8;
}
body .workspace>footer {
  background:#edf1e8;
  border:1px solid #d7dfcf;
  border-radius:12px;
  padding:22px 24px;
}
@media(max-width:720px) {
  body>.public-footer {padding:32px 6% 22px;}
  body .workspace>footer {padding:20px;}
}

/* Seven navigation items: keep the existing menu usable on tablet widths. */
@media(min-width:901px) and (max-width:1200px){
:is(.public-header,.site-header){flex-wrap:wrap;justify-content:center;gap:8px;}
:is(.public-header,.site-header) #site-nav{flex-wrap:wrap;justify-content:center;gap:9px 16px;}
}
/* Shared form feedback: real step progress and indeterminate sending state. */
.ffz-form-progress,.ffz-sending progress {display:block;width:100%;height:8px;margin:12px 0 24px;border:0;border-radius:20px;overflow:hidden;accent-color:#6f8b58;background:#e2e8da;}
.ffz-form-progress::-webkit-progress-bar,.ffz-sending progress::-webkit-progress-bar {background:#e2e8da;border-radius:20px;}
.ffz-form-progress::-webkit-progress-value,.ffz-sending progress::-webkit-progress-value {background:#6f8b58;border-radius:20px;transition:width .18s ease;}
.ffz-form-progress::-moz-progress-bar,.ffz-sending progress::-moz-progress-bar {background:#6f8b58;border-radius:20px;}
.ffz-sending {padding:16px 20px;margin:18px 0;background:#edf2e7;border:1px solid #d1dcc5;border-radius:9px;color:#304b38;}
body .ffz-sending p {margin:0;font:400 15px/1.6 Arial,sans-serif;color:#304b38;}
.ffz-sending progress {margin:12px 0 0;}
.ffz-sending progress:indeterminate {background:linear-gradient(90deg,#e2e8da 20%,#6f8b58 50%,#e2e8da 80%);background-size:200% 100%;animation:ffz-sending 1.4s linear infinite;}
.ffz-sending progress:indeterminate::-webkit-progress-bar {background:linear-gradient(90deg,#e2e8da 20%,#6f8b58 50%,#e2e8da 80%);background-size:200% 100%;animation:ffz-sending 1.4s linear infinite;}
@keyframes ffz-sending {to{background-position:-200% 0;}}
@media(prefers-reduced-motion:reduce){.ffz-sending progress:indeterminate,.ffz-sending progress:indeterminate::-webkit-progress-bar{animation:none;}.ffz-form-progress::-webkit-progress-value{transition:none;}}
