:root {
  --ink:#173b38;
  --ink-deep:#102d2b;
  --text:#293e3b;
  --muted:#52665b;
  --paper:#faf9f5;
  --white:#fff;
  --line:#d8ded7;
  --tint:#eef2ed;
  --brass:#a7834b;
  --light-brass:#d5ba82;
  --serif:'Iowan Old Style','Palatino Linotype','Book Antiqua',Georgia,serif;
  --sans:'Avenir Next',Avenir,'Segoe UI',sans-serif;
  --gutter:clamp(24px,5.5vw,96px)
}

* {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:105px
}
body {
  margin:0;
  background:var(--paper);
  color:var(--text);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased
}
a {
  color:inherit;
  text-decoration:none
}
button {
  font:inherit
}
img {
  max-width:100%;
  display:block
}
button,a {
  -webkit-tap-highlight-color:transparent
}
a,button,summary {
  touch-action:manipulation
}
button {
  cursor:pointer
}
button:focus-visible,a:focus-visible,[tabindex]:focus-visible,summary:focus-visible {
  outline:2px solid #82612f;
  outline-offset:5px
}
::selection {
  background:#d7dfd4;
  color:var(--ink)
}
h1,h2,h3,h4,p,figure {
  margin:0
}
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.03em;
  line-height:1.06
}
h1 em {
  font-weight:400;
  color:var(--brass)
}
h2 {
  font-size:clamp(36px,3.9vw,54px);
  text-wrap:balance
}
.skip-link {
  position:absolute;
  z-index:100;
  top:0;
  left:20px;
  padding:12px 18px;
  background:var(--ink);
  color:white;
  transform:translateY(-120%)
}
.skip-link:focus {
  transform:translateY(0)
}
.site-header {
  height:104px;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:20;
  background:var(--paper)
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  flex-shrink:0
}
.brand-mark {
  width:45px;
  height:34px;
  fill:none;
  stroke:var(--brass);
  stroke-width:1.25
}
.brand-name {
  font-family:var(--serif);
  font-size:30px;
  letter-spacing:-1px;
  line-height:1
}
.brand-name>span {
  font-family:var(--sans);
  display:block;
  margin-top:8px;
  text-align:center;
  font-size:11px;
  font-weight:500;
  letter-spacing:.37em;
  padding-left:.37em
}
.desktop-nav {
  display:flex;
  gap:33px;
  margin-left:auto;
  margin-right:35px;
  font-size:14px
}
.desktop-nav a {
  padding:11px 0;
  min-height:44px;
  display:inline-flex;
  align-items:center
}
.desktop-nav a:hover,.text-link:hover {
  color:var(--ink);
  text-decoration:underline;
  text-decoration-color:var(--brass);
  text-underline-offset:6px
}
.button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:13px 23px;
  border:1px solid transparent;
  border-radius:0;
  font-size:14px;
  font-weight:550;
  line-height:1.5;
  transition:background .2s,color .2s,border-color .2s;
  white-space:normal
}
.button-small {
  min-height:44px;
  padding:10px 17px;
  font-size:13px
}
.button-outline {
  border-color:#9eaba2
}
.button-outline:hover {
  background:var(--ink);
  color:white;
  border-color:var(--ink)
}
.button-primary {
  background:var(--ink);
  color:white
}
.button-primary:hover {
  background:#28524c
}
.button-light {
  background:var(--paper);
  color:var(--ink)
}
.button-light:hover {
  background:#e3dfcf
}
.text-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  width:fit-content;
  text-decoration:underline;
  text-decoration-color:var(--brass);
  text-underline-offset:6px;
  font-size:14px;
  font-weight:500;
  line-height:1.5
}
.menu-toggle {
  display:none
}
.mobile-nav {
  display:none
}
.mobile-nav[hidden] {
  display:none
}
.hero {
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:620px
}
.hero-copy {
  padding:72px 40px 64px var(--gutter);
  align-self:center
}
h1 {
  font-size:clamp(57px,5.5vw,88px)
}
.hero-description {
  max-width:430px;
  color:var(--muted);
  margin-top:27px;
  font-size:16px;
  line-height:1.8
}
.hero-actions {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:22px;
  margin-top:32px
}
.hero-note {
  font-size:14px;
  letter-spacing:.015em;
  color:var(--muted);
  margin-top:25px
}
.hero-image {
  position:relative;
  overflow:hidden;
  min-height:620px;
  background:var(--ink-deep)
}
.hero-image img {
  width:100%;
  height:100%;
  position:absolute;
  object-fit:cover;
  object-position:49% center
}
.deliverables-strip {
  padding:26px var(--gutter);
  background:var(--ink);
  color:#e1e8df;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:25px;
  font-size:14px
}
.deliverables-strip>span {
  white-space:nowrap
}
.section-wrap {
  padding:80px var(--gutter)
}
.section-heading {
  max-width:1180px;
  margin:0 auto 42px;
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:80px;
  align-items:center
}
.section-heading>p:last-child {
  max-width:430px;
  padding-bottom:3px;
  color:var(--muted);
  font-size:16px;
  line-height:1.8
}
.trial-section {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:100px;
  background:var(--ink);
  color:var(--paper);
  padding:80px var(--gutter);
  align-items:center
}
.trial-section h2 {
  font-size:clamp(48px,5vw,72px)
}
.trial-copy {
  max-width:440px
}
.trial-copy>p:first-child {
  font-size:17px;
  line-height:1.8;
  color:#d4e0d7;
  margin-bottom:28px
}
.trial-email {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  width:fit-content;
  font-size:14px;
  color:#e1e8e0;
  text-decoration:underline;
  text-underline-offset:5px
}
.trial-small {
  display:block;
  font-size:14px;
  color:#a8bfb2;
  margin-top:14px
}
.site-footer {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px;
  padding:42px var(--gutter)
}
.site-footer>p {
  font-size:13px;
  color:var(--muted);
  margin-left:auto;
  line-height:1.7
}
.site-footer>span {
  font-size:12px;
  color:var(--muted)
}

@media(min-width:1700px) {
  .hero {
    min-height:760px
  }
  .hero-image {
    min-height:760px
  }
  .hero-copy {
    padding-top:100px;
    padding-bottom:100px
  }
  .hero-description {
    max-width:475px
  }
  .hero-actions {
    margin-top:40px
  }
  
}

@media(max-width:1100px) {
  .desktop-nav {
    gap:22px;
    margin-right:0
  }
  .hero-copy {
    padding-right:30px
  }
  .hero-actions {
    gap:17px
  }
  .hero-actions .text-link {
    font-size:14px
  }
  .deliverables-strip {
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:20px 26px
  }
  .trial-section {
    gap:60px
  }
  .site-footer {
    flex-wrap:wrap
  }
  .site-footer>span {
    flex-basis:100%
  }
  
}

@media(max-width:800px) {
  .site-header {
    height:88px;
    gap:18px
  }
  .brand-name {
    font-size:27px
  }
  .brand-mark {
    width:39px
  }
  .desktop-nav {
    display:none
  }
  .header-cta {
    margin-left:auto;
    font-size:12px;
    padding:9px 12px
  }
  .menu-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    gap:6px;
    background:transparent;
    border:0;
    padding:11px;
    cursor:pointer;
    width:44px;
    height:44px;
    flex-shrink:0
  }
  .menu-toggle span {
    height:1px;
    width:22px;
    background:var(--ink)
  }
  .mobile-nav {
    display:block;
    position:absolute;
    top:88px;
    left:0;
    right:0;
    background:var(--paper);
    padding:12px var(--gutter) 24px;
    box-shadow:0 12px 16px #153b3810
  }
  .mobile-nav a {
    display:block;
    padding:12px 0;
    font-size:16px;
    border-bottom:1px solid var(--line)
  }
  .hero {
    grid-template-columns:1fr 1fr;
    min-height:590px
  }
  .hero-copy {
    padding-top:50px;
    padding-bottom:45px
  }
  h1 {
    font-size:53px
  }
  .hero-description {
    font-size:15px;
    line-height:1.75
  }
  .hero-image {
    min-height:590px
  }
  .hero-actions {
    flex-direction:column;
    align-items:flex-start
  }
  .hero-actions .button {
    font-size:13px;
    padding:13px 15px
  }
  .section-wrap {
    padding-top:70px;
    padding-bottom:70px
  }
  .section-heading {
    gap:25px;
    margin-bottom:35px;
    grid-template-columns:1fr
  }
  .section-heading>p:last-child {
    font-size:15px
  }
  .trial-section {
    gap:35px
  }
  .trial-copy>p:first-child {
    font-size:16px
  }
  
}

@media(max-width:560px) {
  html {
    scroll-padding-top:20px
  }
  .site-header {
    height:80px
  }
  .brand-name {
    font-size:25px
  }
  .brand-mark {
    width:35px
  }
  .brand {
    gap:8px
  }
  .brand-name>span {
    font-size:11px
  }
  .header-cta {
    display:none
  }
  .menu-toggle {
    margin-left:auto
  }
  .mobile-nav {
    top:80px
  }
  .hero {
    display:flex;
    flex-direction:column
  }
  .hero-copy {
    padding:43px var(--gutter) 42px
  }
  h1 {
    font-size:clamp(38px,11vw,60px);
    line-height:1.02
  }
  .hero-description {
    font-size:16px;
    max-width:410px;
    margin-top:25px
  }
  .hero-actions {
    flex-direction:column;
    gap:8px;
    align-items:flex-start;
    margin-top:26px
  }
  .hero-actions .button {
    padding:13px 17px;
    font-size:13px
  }
  .hero-actions .text-link {
    font-size:14px
  }
  .hero-note {
    font-size:14px;
    margin-top:21px
  }
  .hero-image {
    height:340px;
    min-height:340px
  }
  .hero-image img {
    object-position:center 42%
  }
  .deliverables-strip {
    gap:15px 20px;
    padding-top:23px;
    padding-bottom:24px
  }
  .deliverables-strip>span {
    font-size:12px;
    flex-basis:calc(50% - 10px);
    white-space:normal
  }
  .section-wrap {
    padding-top:60px;
    padding-bottom:60px
  }
  .section-heading {
    grid-template-columns:1fr;
    gap:0
  }
  .section-heading>p:last-child {
    margin-top:23px;
    font-size:16px
  }
  .trial-section {
    grid-template-columns:1fr;
    gap:30px;
    padding:55px var(--gutter)
  }
  .trial-section h2 {
    font-size:54px
  }
  .trial-copy>p:first-child {
    font-size:16px
  }
  .site-footer {
    padding-top:32px;
    padding-bottom:30px;
    gap:24px
  }
  .site-footer>p {
    font-size:12px
  }
  .site-footer>span {
    font-size:11px
  }
  
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*:before,*:after {
    transition:none!important;
    animation:none!important
  }
  
}

/* The service journey and deliverable specification. */
.turnaround-note {
  display:block;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-size:14px;
  line-height:1.8
}
.turnaround-note strong {
  font-weight:500;
  color:var(--ink)
}

.journey-steps {
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:44px
}
.journey-step {
  position:relative;
  padding:27px 0 0;
  border-top:1px solid #b6c3b8
}
.step-number {
  display:block;
  font-family:var(--serif);
  color:#82612f;
  font-size:26px;
  line-height:1;
  margin-bottom:20px
}
.journey-step h3 {
  font-family:var(--serif);
  font-weight:400;
  font-size:29px;
  line-height:1.18;
  letter-spacing:-.025em;
  margin-bottom:21px;
  color:var(--ink)
}
.journey-step>p {
  font-size:16px;
  line-height:1.8;
  color:var(--muted)
}
.journey-step .step-note {
  padding-top:18px;
  margin-top:20px;
  border-top:1px solid var(--line);
  font-size:14px!important;
  line-height:1.7!important;
  color:#526b60!important
}
.report-contents {
  background:#edf0e9;
  border-top:1px solid #e0e5da;
  border-bottom:1px solid #e0e5da;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:90px
}
.contents-intro > p {
  max-width:465px;
  margin-top:22px;
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
}
.contents-intro h2 {
  font-size:clamp(36px,3.9vw,54px)
}
.copy-pair {
  margin-top:35px;
  display:grid;
  gap:14px
}
.copy-pair>div {
  border:1px solid #cbd5c8;
  background:#f8f9f3;
  padding:20px 23px
}
.copy-pair h3 {
  font-size:17px;
  font-weight:550;
  margin:0 0 10px;
  color:var(--ink)
}
.copy-pair p {
  font-size:15px;
  line-height:1.75;
  color:var(--muted)
}
.contents-list {
  padding-top:0
}
.contents-list details {
  border-top:1px solid #c4cfc0
}
.contents-list details:last-child {
  border-bottom:1px solid #c4cfc0
}
summary {
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:20px;
  font-size:17px;
  font-weight:500;
  line-height:1.4;
  padding:24px 0;
  color:var(--ink)
}
summary::-webkit-details-marker {
  display:none
}
.details-symbol {
  margin-left:auto;
  min-width:14px;
  width:14px;
  height:14px;
  position:relative
}
.details-symbol:before,.details-symbol:after {
  content:'';
  position:absolute;
  left:0;
  top:6px;
  width:14px;
  height:1px;
  background:#718474
}
.details-symbol:after {
  transform:rotate(90deg);
  transition:transform .2s
}
details[open] .details-symbol:after {
  transform:rotate(0deg)
}
.contents-list details>p {
  padding:0 25px 26px 0;
  color:var(--muted);
  font-size:16px;
  line-height:1.8
}
.service-options {
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid #b7c3b6;
  border-bottom:1px solid #b7c3b6
}
.service-options article {
  padding:35px 54px 40px 0
}
.service-options article+article {
  border-left:1px solid #b7c3b6;
  padding-left:54px;
  padding-right:0
}
.service-options h3 {
  font-family:var(--serif);
  font-size:38px;
  line-height:1.13;
  font-weight:400;
  letter-spacing:-.03em;
  color:var(--ink);
  margin-bottom:25px
}
.service-options p {
  color:var(--muted);
  font-size:16px;
  line-height:1.8;
  max-width:455px
}
.delivery-row {
  max-width:1180px;
  margin:0 auto;
  display:flex;
  gap:70px;
  align-items:center;
  justify-content:space-between;
  padding:34px 0 26px
}
.delivery-row h3 {
  font-size:18px;
  font-weight:500;
  margin-bottom:8px
}
.delivery-row p {
  font-size:15px;
  color:var(--muted);
  line-height:1.8;
  max-width:670px
}
.commercial-note {
  max-width:1180px;
  margin:0 auto;
  padding-top:18px;
  border-top:1px solid var(--line);
  font-size:14px;
  color:var(--muted)
}
.questions-section {
  padding-top:45px;
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:90px
}
.questions-section h2 {
  font-size:44px
}
.questions-list details {
  border-top:1px solid var(--line)
}
.questions-list details:last-child {
  border-bottom:1px solid var(--line)
}
.questions-list summary {
  font-size:16px;
  padding:24px 0
}
.questions-list details>p {
  font-size:16px;
  line-height:1.8;
  padding:0 25px 25px 0;
  color:var(--muted)
}

@media(max-width:1100px) {
  .journey-steps {
    gap:32px
  }
  .journey-step h3 {
    font-size:28px
  }
  .report-contents {
    gap:45px
  }
  .delivery-row {
    gap:30px
  }
  .questions-section {
    gap:60px
  }
  .service-options article {
    padding-right:35px
  }
  .service-options article+article {
    padding-left:35px
  }
  
}

@media(max-width:800px) {
  .journey-steps {
    grid-template-columns:1fr;
    gap:28px
  }
  .journey-step h3 {
    font-size:30px
  }
  .journey-step>p {
    font-size:16px
  }
  .step-number {
    font-size:26px
  }
  .report-contents {
    grid-template-columns:1fr;
    gap:42px
  }
  .contents-intro h2 {
    font-size:44px
  }
  .copy-pair {
    grid-template-columns:1fr 1fr
  }
  .copy-pair>div {
    padding:18px
  }
  .contents-list details>p {
    max-width:680px
  }
  .service-options h3 {
    font-size:34px
  }
  .delivery-row {
    align-items:flex-start;
    gap:25px
  }
  .questions-section {
    grid-template-columns:1fr;
    gap:30px;
    padding-top:15px
  }
  .questions-section h2 {
    font-size:44px
  }
  .hero-description,.section-heading>p:last-child {
    font-size:16px
  }
  
}

@media(max-width:560px) {
  .journey-steps {
    grid-template-columns:1fr;
    gap:35px
  }
  .journey-step {
    padding-top:25px
  }
  .step-number {
    font-size:26px
  }
  .journey-step h3 {
    font-size:30px;
    margin-bottom:18px
  }
  .journey-step .step-note {
    margin-top:18px;
    padding-top:15px
  }
  .contents-intro h2 {
    font-size:39px
  }
  .copy-pair {
    grid-template-columns:1fr;
    gap:12px
  }
  .copy-pair p {
    font-size:15px
  }
  .contents-list details>p {
    padding-left:0;
    padding-right:15px
  }
  .contents-list summary {
    font-size:16px;
    gap:12px
  }
  .service-options {
    grid-template-columns:1fr
  }
  .service-options article,.service-options article+article {
    padding:28px 0 31px;
    border-left:0
  }
  .service-options article+article {
    border-top:1px solid var(--line)
  }
  .service-options h3 {
    font-size:36px;
    margin-bottom:20px
  }
  .delivery-row {
    flex-direction:column;
    gap:20px;
    padding-top:28px
  }
  .delivery-row p {
    font-size:16px
  }
  .commercial-note {
    font-size:14px;
    line-height:1.8
  }
  .questions-section {
    padding-top:15px
  }
  .questions-section h2 {
    font-size:44px
  }
  .questions-list summary {
    font-size:16px;
    gap:18px
  }
  .hero-actions .button,.hero-actions .text-link {
    font-size:14px
  }
  
}


.journey-step strong {
  color:var(--ink);
  font-weight:600
}

.valuation-summary {
  padding:0 0 27px;
  border-bottom:1px solid #c4cfc0;
  margin-bottom:0
}

.valuation-summary h3 {
  font-family:var(--serif);
  font-weight:400;
  font-size:30px;
  line-height:1.2;
  letter-spacing:-.02em;
  color:var(--ink);
  margin-bottom:16px
}

.valuation-summary p {
  font-size:16px;
  line-height:1.8;
  color:var(--muted)
}

.valuation-summary + details {
  border-top:0
}

.delivery-options {
  margin:0;
  min-width:270px;
  display:grid;
  gap:14px;
  font-size:14px
}

.delivery-options>div {
  display:grid;
  grid-template-columns:55px 1fr;
  gap:16px
}

.delivery-options dt {
  color:var(--ink);
  font-weight:600
}

.delivery-options dd {
  margin:0;
  color:var(--muted)
}

.email-guidance {
  font-size:14px;
  line-height:1.7;
  color:#d4e0d7;
  margin-top:16px;
  max-width:42ch
}

.email-contact {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:18px
}

.copy-email {
  min-height:44px;
  padding:8px 0;
  background:transparent;
  border:0;
  color:var(--paper);
  font-size:14px;
  text-decoration:underline;
  text-decoration-color:#8ba89b;
  text-underline-offset:5px
}

.copy-email:hover {
  color:var(--light-brass)
}

.trial-section :focus-visible {
  outline-color:var(--light-brass)
}

.copy-status {
  font-size:14px;
  line-height:1.6;
  min-height:1.6em;
  color:#d4e0d7
}

.button:active {
  background:var(--ink-deep);
  color:var(--paper)
}

@media(max-width:1100px) {
  .delivery-options {
    min-width:245px
  }
  
}

@media(max-width:800px) {
  .delivery-row {
    flex-direction:column;
    gap:24px
  }
  .delivery-options {
    width:100%;
    min-width:0
  }
  .journey-step>p {
    max-width:68ch
  }
  
}

@media(max-width:560px) {
  .hero-image {
    height:280px;
    min-height:280px
  }
  .deliverables-strip>span {
    font-size:13px
  }
  .valuation-summary h3 {
    font-size:28px
  }
  .delivery-options {
    font-size:15px
  }
  .email-guidance {
    font-size:15px
  }
  .email-contact {
    gap:0 18px
  }
  
}

