@import url('./fonts.css');

:root {
  --paper:#FCF6EF;
  --paper-2:#E7DECC;
  --paper-3:#FAF6ED;
  --ink:#29231D;
  --ink-2:#463F37;
  --ink-3:#6B6253;
  --ink-4:#9C9381;
  --eyebrow:#928C84;
  --warm-block:#565148;
  --warm-block-2:#C1BCB3;
  --peach:#F8CD98;
  --cream-text:#FCF6EC;
  --muted-on-dark:#C1BCB3;
  --accent:#A7A199;
  --rule:rgba(40,35,30,.14);
  --near-black:#000000;
  --near-black-3:#C1BCB3;
  --mabel-rule-soft:rgba(40,35,30,.08);
  --display:'Instrument Serif', Georgia, serif;
  --sans:'Geist', -apple-system, BlinkMacSystemFont, sans-serif;
  --mono:'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
  --ease-soft:cubic-bezier(.2,.7,.3,1);
  --image-radius:20px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth}
a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.mono{font-family:var(--mono)}.serif{font-family:var(--display)}
.navbar{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:.6px solid #E4DDD3}
.navbar-grid{height:68px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;max-width:1400px;margin:0 auto;padding:0 15px}
.wordmark{display:inline-flex;align-items:baseline;gap:5px;color:var(--ink);white-space:nowrap}.wordmark .mabel{font-weight:600;font-size:16px;letter-spacing:-.3px}.wordmark .hr{font-family:var(--mono);font-size:13px;color:#ACA18D;letter-spacing:.05em;text-transform:uppercase;font-weight:600}.navbar-links{display:flex;gap:32px;font-size:16px;font-weight:500;justify-content:center}.navbar-links a{transition:opacity .2s}.navbar-links a:hover{opacity:.6}.nav-cta,.btn-primary{background:#565148;color:#EEE8DD;border-radius:999px;font-size:14px;font-weight:500;padding:11px 18px;display:inline-flex;align-items:center;gap:8px;border:0}.nav-cta{justify-self:end}.btn-secondary{border:1px solid rgba(41,35,29,.22);border-radius:999px;padding:11px 18px;color:var(--ink);font-size:14px;font-weight:500;background:transparent}.burger{display:none;background:transparent;border:0;justify-self:end;color:var(--ink);padding:8px}.mobile-panel{display:none}.page-main{overflow:hidden}.section{padding:clamp(80px,10vw,140px) 24px}.section-inner{max-width:1400px;margin:0 auto}.section-inner-narrow{max-width:1180px;margin:0 auto}.hero{padding:clamp(72px,8vw,118px) 24px clamp(80px,10vw,140px)}.hero-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,520px);gap:clamp(56px,8vw,120px);align-items:end}.eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--eyebrow);margin:0 0 24px}.hero h1,.page-title{font-family:var(--display);font-weight:400;font-size:clamp(64px,8vw,116px);line-height:.98;letter-spacing:-.055em;margin:0;color:#565148;max-width:920px}.hero h1 em{font-style:italic}.hero p{font-size:18px;line-height:1.65;max-width:620px;margin:32px 0 0;color:var(--ink-2)}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.image-card{position:relative;overflow:hidden;background:var(--paper-2);aspect-ratio:4/5;border-radius:var(--image-radius)}.image-card img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.image-card.landscape{aspect-ratio:16/10}.caption{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow);margin-top:14px}.intro-band{background:var(--warm-block);color:var(--cream-text);padding:72px 24px}.intro-band .section-inner{display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:start}.intro-band h2,.split h2,.cards-heading h2{font-family:var(--display);font-weight:400;font-size:56px;line-height:1.08;letter-spacing:-.045em;margin:0;color:inherit}.intro-band p{font-size:18px;line-height:1.7;color:var(--muted-on-dark);margin:0}.split{padding:clamp(80px,10vw,140px) 24px}.split-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(56px,8vw,116px);align-items:start}.split h2{color:#565148;max-width:560px}.split-copy{font-size:16px;line-height:1.75;color:var(--ink-2);max-width:720px}.feature-list{display:grid;gap:0;border-top:1px solid var(--rule)}.feature-item{padding:28px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:80px 1fr;gap:24px}.feature-num{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--eyebrow)}.feature-item h3{font-family:var(--display);font-size:30px;line-height:1.1;font-weight:400;letter-spacing:-.035em;margin:0 0 10px;color:#565148}.feature-item p{margin:0;color:var(--ink-2);line-height:1.7;font-size:15px}.media-split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch;margin-top:72px}.cards-section{background:#F8CD98;padding:clamp(80px,10vw,140px) 24px}.cards-heading{max-width:1400px;margin:0 auto 56px}.cards-heading h2{color:#565148;max-width:740px}.cards-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(41,35,29,.22)}.card{min-height:300px;padding:32px;border-right:1px solid rgba(41,35,29,.22);background:rgba(252,246,239,.28)}.card:nth-child(3n){border-right:0}.card .num{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#565148;display:block;margin-bottom:42px}.card h3{font-family:var(--display);font-weight:400;font-size:30px;line-height:1.05;letter-spacing:-.035em;margin:0 0 16px;color:#29231D}.card p{font-size:15px;line-height:1.7;color:#463F37;margin:0}.dark-cta{background:#000;color:var(--cream-text);text-align:center;padding:clamp(80px,10vw,130px) 24px}.dark-cta h2{font-family:var(--display);font-size:clamp(54px,8vw,108px);font-weight:400;line-height:1.05;letter-spacing:-.055em;margin:0 auto 32px;max-width:920px;overflow:visible}.footer{background:#000;color:var(--near-black-3);padding:72px 24px 36px}.footer-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.4fr repeat(4,.7fr);gap:40px}.footer p{line-height:1.7;color:#C1BCB3;max-width:360px}.footer h5{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#928C84;margin:0 0 18px}.footer a{display:block;margin:0 0 12px;color:#C1BCB3}.footer-bottom{max-width:1400px;margin:64px auto 0;padding-top:24px;border-top:1px solid #222;color:#69635C;font-size:13px}.contact-page{background:#565148;color:#FCF6EC}.contact-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(56px,8vw,110px);align-items:start}.contact-copy h1{font-family:var(--display);font-size:clamp(58px,7vw,96px);line-height:1.08;letter-spacing:-.055em;font-weight:400;margin:0 0 28px;color:#FCF6EC;overflow:visible}.contact-copy em{font-style:italic;color:#A7A199}.contact-copy .accent{color:#A7A199}.contact-copy p{font-size:17px;line-height:1.75;max-width:620px;color:#FCF6EC}.contact-meta{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:52px}.contact-meta h4{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#C1BCB3;margin:0 0 10px}.contact-meta a,.contact-meta span{font-size:16px;color:#FCF6EC}.form-card{background:var(--paper);color:var(--ink);padding:clamp(32px,4vw,56px)}.form-grid{display:grid;gap:28px}.field label{display:block;font-family:var(--mono);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#565148;margin-bottom:10px}.field input,.field select,.field textarea{width:100%;background:transparent;border:0;border-bottom:1px solid rgba(41,35,29,.28);padding:12px 0 14px;font-size:16px;color:var(--ink);outline:none;border-radius:0}.field textarea{min-height:120px;resize:vertical}.form-note{font-size:13px;line-height:1.6;color:#6B6253;margin-top:20px}.success{background:#E7DECC;padding:28px;color:#29231D;font-size:17px;line-height:1.6}.text-reveal{opacity:0;transform:translateY(18px);filter:blur(5px);clip-path:inset(14% 0 0 0);transition:opacity 900ms var(--ease-soft),transform 900ms var(--ease-soft),filter 900ms var(--ease-soft),clip-path 900ms var(--ease-soft)}.text-reveal.is-visible{opacity:1;transform:translateY(0);filter:blur(0);clip-path:inset(0 0 0 0)}
@media (max-width:1024px){.navbar-grid{grid-template-columns:auto auto}.navbar-links,.nav-cta{display:none}.burger{display:flex}.mobile-panel.open{display:flex;flex-direction:column;gap:4px;padding:8px 24px 24px;border-top:.6px solid #E4DDD3;background:var(--paper)}.mobile-panel a{padding:14px 0;font-size:17px;border-bottom:1px solid var(--rule)}.hero-grid,.intro-band .section-inner,.split-grid,.contact-grid{grid-template-columns:1fr;gap:48px}.hero{padding-top:56px}.hero h1,.page-title{font-size:clamp(56px,10vw,86px)}.hero .image-card{max-width:560px}.intro-band h2,.split h2,.cards-heading h2{font-size:clamp(48px,7vw,64px)}.cards-grid{grid-template-columns:1fr 1fr}.card:nth-child(3n){border-right:1px solid rgba(41,35,29,.22)}.card:nth-child(2n){border-right:0}.media-split{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/3}.contact-meta{grid-template-columns:1fr}.form-card{padding:36px 28px}}
@media (max-width:640px){.section,.split,.cards-section,.dark-cta,.footer,.contact-page{padding-left:20px;padding-right:20px}.navbar-grid{padding:0 20px}.hero{padding:48px 20px 80px}.hero-actions{flex-direction:column;align-items:flex-start}.hero h1,.page-title{font-size:54px}.intro-band{padding:56px 20px}.intro-band h2,.split h2,.cards-heading h2{font-size:44px;line-height:1.08}.feature-item{grid-template-columns:1fr;gap:8px}.cards-grid{grid-template-columns:1fr}.card,.card:nth-child(3n){border-right:0;border-bottom:1px solid rgba(41,35,29,.22)}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:1}.contact-copy h1{font-size:52px}.dark-cta h2{font-size:52px}.mobile-panel a.btn-mobile{border-bottom:0;text-align:center;background:#565148;color:#EEE8DD;border-radius:999px;margin-top:16px}}
@media (prefers-reduced-motion:reduce){.text-reveal{opacity:1;transform:none;filter:none;clip-path:none;transition:none}html{scroll-behavior:auto}}

/* Site-wide reveal language, matched to the homepage: copy uses the soft
   fade/rise/unblur treatment; editorial images use the Why Choose Us fade-rise. */
.text-reveal {
  opacity: 0;
  transform: translate3d(0,18px,0);
  filter: blur(6px);
  clip-path: inset(0 0 22% 0);
  transition: opacity 1050ms var(--ease-soft), transform 1050ms var(--ease-soft), filter 900ms var(--ease-soft), clip-path 1050ms var(--ease-soft);
  will-change: opacity, transform, filter, clip-path;
  backface-visibility: hidden;
}
.text-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0,0,0);
  filter: blur(0);
  clip-path: inset(0 0 0 0);
}
.site-image-reveal {
  opacity: 0;
  transition: opacity 780ms var(--ease-soft);
  will-change: opacity;
  backface-visibility: hidden;
}
.site-image-reveal.is-visible { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .text-reveal,
  .site-image-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    clip-path: none !important;
    transition: none !important;
  }
}

/* ─────────────────────────────────────────────────────────────────────────
   Services page — Section 1 hero
   Built to mirror the completed homepage visual language while following
   the supplied reference layout: centered light hero, large editorial headline,
   intro copy and three service cards.
───────────────────────────────────────────────────────────────────────── */
.services-hero-v1 {
  background: var(--paper);
  color: var(--ink);
  padding: clamp(118px, 13vw, 178px) 24px clamp(86px, 10vw, 132px);
  position: relative;
  overflow: hidden;
}

.services-hero-v1__inner {
  max-width: 1400px;
  margin: 0 auto;
}

.services-hero-v1__intro {
  text-align: center;
  max-width: 980px;
  margin: 0 auto;
}

.services-hero-v1__intro .eyebrow {
  color: var(--eyebrow);
  margin-bottom: clamp(26px, 3vw, 36px);
}

.services-hero-v1__title {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(62px, 5.2vw, 80px);
  line-height: 1;
  letter-spacing: -0.055em;
  margin: 0;
  color: #565148;
  overflow: visible;
}

.services-hero-v1__title span {
  display: block;
}

.services-hero-v1__title .is-italic {
  font-style: italic;
}

.services-hero-v1__title .is-regular {
  font-style: normal;
}

.services-hero-v1__lede {
  max-width: 850px;
  margin: clamp(32px, 3.8vw, 44px) auto 0;
  color: #565148;
  font-size: 16px;
  line-height: 1.6;
  font-weight: 500;
}

.services-hero-v1__cards {
  max-width: 1180px;
  margin: clamp(70px, 7.5vw, 92px) auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border: 1px solid rgba(41, 35, 29, 0.14);
}

.services-hero-v1__card {
  min-height: 250px;
  padding: clamp(28px, 3vw, 36px);
  border-right: 1px solid rgba(41, 35, 29, 0.14);
  background: transparent;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.services-hero-v1__card:last-child {
  border-right: 0;
}

.services-hero-v1__card-label {
  font-family: var(--mono);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--eyebrow);
  margin: 0 0 24px;
}

.services-hero-v1__card-title {
  font-family: var(--display);
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.03em;
  word-spacing: 0.12em;
  font-weight: 400;
  font-style: italic;
  color: var(--ink);
  margin: 0 0 20px;
  overflow: visible;
}

.services-hero-v1__card-copy {
  color: #565148;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 500;
  margin: 0;
  max-width: 360px;
}

@media (max-width: 1024px) {
  .services-hero-v1 {
    padding: 94px 24px 86px;
  }

  .services-hero-v1__title {
    font-size: clamp(58px, 8vw, 80px);
  }

  .services-hero-v1__cards {
    grid-template-columns: 1fr;
    max-width: 760px;
  }

  .services-hero-v1__card {
    min-height: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(41, 35, 29, 0.14);
  }

  .services-hero-v1__card:last-child {
    border-bottom: 0;
  }

  .services-hero-v1__card-copy {
    max-width: 620px;
  }
}

@media (max-width: 640px) {
  .services-hero-v1 {
    padding: 72px 20px 70px;
  }

  .services-hero-v1__intro {
    text-align: left;
  }

  .services-hero-v1__title {
    font-size: 52px;
    line-height: 1.06;
  }

  .services-hero-v1__lede {
    font-size: 16px;
    line-height: 1.7;
    margin-top: 28px;
  }

  .services-hero-v1__cards {
    margin-top: 54px;
  }

  .services-hero-v1__card {
    padding: 28px 24px;
  }

  .services-hero-v1__card-title {
    font-size: 30px;
  }
}

/* Production SVG logo styling */
.site-logo{display:inline-flex;align-items:center;line-height:1;white-space:nowrap}
.site-logo img{display:block;width:60px;height:auto}
.site-logo--footer img{width:60px;height:auto}
.navbar .site-logo{justify-self:start;margin-left:10px}

/* ─── Footer + form hover states ─────────────────────────────────────────── */
.footer-link-13,
.footer-logo-link-13,
.footer-cta-13,
.footer-social-13 {
  transition: color 0.2s ease, opacity 0.2s ease, transform 0.15s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.footer-link-13:hover {
  color: #FCF6EC !important;
  opacity: 1 !important;
  transform: translateX(2px);
}
.footer-logo-link-13:hover {
  opacity: 0.82 !important;
  transform: translateY(-1px);
}
.footer-cta-13:hover {
  background: rgba(252, 246, 236, 0.06) !important;
  border-color: #FCF6EC !important;
  color: #FCF6EC !important;
  opacity: 1 !important;
  transform: translateY(-1px);
}
.footer-social-13:hover {
  background: rgba(252, 246, 236, 0.06) !important;
  border-color: #FCF6EC !important;
  color: #FCF6EC !important;
  opacity: 1 !important;
  transform: translateY(-1px);
}
footer a:not(.footer-cta):not(.footer-social):not(.site-logo):not(.footer-cta-13):not(.footer-social-13):not(.footer-logo-link-13) {
  transition: color 0.2s ease, opacity 0.2s ease, transform 0.15s ease;
  display: inline-block;
}
footer a:not(.footer-cta):not(.footer-social):not(.site-logo):not(.footer-cta-13):not(.footer-social-13):not(.footer-logo-link-13):hover {
  color: #FCF6EC !important;
  opacity: 1 !important;
  transform: translateX(2px);
}
.footer-cta,
.footer-social,
.site-logo--footer {
  transition: color 0.2s ease, opacity 0.2s ease, transform 0.15s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.footer-cta:hover {
  background: rgba(252, 246, 236, 0.06) !important;
  border-color: #FCF6EC !important;
  color: #FCF6EC !important;
  opacity: 1 !important;
  transform: translateY(-1px);
}
.footer-social:hover {
  background: rgba(252, 246, 236, 0.06) !important;
  border-color: #FCF6EC !important;
  color: #FCF6EC !important;
  opacity: 1 !important;
  transform: translateY(-1px);
}
.site-logo--footer:hover {
  opacity: 0.82 !important;
  transform: translateY(-1px);
}
.contact-choice-13,
.contact-submit-13,
.contact-page .btn-primary,
.form-card .btn-primary,
#submit-button {
  transition: opacity 0.2s ease, transform 0.15s ease, border-color 0.2s ease, background-color 0.2s ease;
}
.contact-choice-13:hover:not(:disabled) {
  border-color: rgba(250, 246, 237, 0.55) !important;
  opacity: 0.92 !important;
  transform: translateY(-1px);
}
.contact-submit-13:hover:not(:disabled),
.contact-page .btn-primary:hover:not(:disabled),
.form-card .btn-primary:hover:not(:disabled),
#submit-button:hover:not(:disabled) {
  opacity: 0.86 !important;
  transform: translateY(-1px);
}
.contact-choice-13:focus-visible,
.contact-submit-13:focus-visible,
.footer-link-13:focus-visible,
.footer-cta-13:focus-visible,
.footer-social-13:focus-visible,
footer a:focus-visible,
#submit-button:focus-visible {
  outline: 2px solid #FCF6EC;
  outline-offset: 3px;
}


/* Global media corner radius */
main picture > img,
main figure > img,
main .image-card,
main .image-card img {
  border-radius: var(--image-radius);
}
main .image-card,
main figure.image-card { overflow: hidden; }


/* Approved global typography and colour baseline — August 2026 */
.eyebrow {
  font-size: 12px;
  color: #928C84;
}
@media (min-width: 1025px) {
  h1, .page-title { font-size: 80px; }
  h2 { font-size: 56px; }
}

/* Responsive alignment consistency — 2026-08-08
   On tablet and mobile, all editorial headings/subheads/eyebrows are left aligned. */
@media (max-width: 1024px) {
  main h1,
  main h2,
  main h3,
  main h4,
  main .page-title,
  main .eyebrow,
  main [class*="__eyebrow"],
  main [class*="__title"],
  main [class*="__heading"] {
    text-align: left !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Homepage editorial blocks that use inline centring on desktop. */
  main .dark-block-inner > .mono,
  main .dark-block-inner > h2,
  main .dark-block-inner > p,
  main .cards-heading,
  main .intro-band .section-inner > div,
  main .ai-header-7,
  main .growth-header-5,
  main .growth-header-10,
  main .growth-header-11,
  main .checks-header,
  main .faq-grid > div:first-child {
    text-align: left !important;
  }
}


/* Responsive typography alignment — 2026-08-08
   On tablet/mobile, editorial headings, subheads and eyebrow labels follow the
   same left edge. CTA banners opt back into centred alignment on their pages. */
@media (max-width: 1024px) {
  main h1,
  main h2,
  main h3,
  main .eyebrow,
  main [class*="__eyebrow"],
  main [class*="__title"] {
    text-align: left !important;
  }
}
