@charset "UTF-8";
:root {
  --green:#26483d;
  --ink:#253c34;
  --muted:#65716a;
  --cream:#f4f3ed;
  --sage:#edf1ed;
  --line:#d6ded7;
  --white:#fff;
  --content:1120px;
  --font:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:100px;
}

body {
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:var(--font);
  font-size:14px;
  line-height:1.9;
  -webkit-font-smoothing:antialiased;
}

body.menu-open {
  overflow:hidden;
}

a {
  color:inherit;
  text-decoration:none;
}

button,input,textarea {
  font:inherit;
}

button,a,input,textarea {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

img {
  display:block;
  width:100%;
  height:auto;
}

h1,h2,h3,p {
  margin:0;
}

h1,h2,h3 {
  font-weight:500;
}

a,button {
  touch-action:manipulation;
}

a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible {
  outline:3px solid #8e693b;
  outline-offset:5px;
}

section[id],article[id] {
  scroll-margin-top:24px;
}

.section-width {
  width:min(var(--content),calc(100% - 112px));
  margin-inline:auto;
}

.eyebrow {
  font-family:Arial,sans-serif;
  font-size:12px;
  letter-spacing:.17em;
  font-weight:500;
  line-height:1.6;
}

.section-heading {
  text-align:center;
  margin-bottom:58px;
}

.section-heading h2 {
  font-size:30px;
  line-height:1.6;
  letter-spacing:.07em;
  margin-top:12px;
}

.mobile-only {
  display:none;
}

.skip-link {
  position:fixed;
  top:-90px;
  left:20px;
  background:var(--green);
  color:white;
  padding:12px;
  z-index:100;
}

.skip-link:focus {
  top:10px;
}

.site-header {
  height:88px;
  padding:0 48px;
  display:flex;
  align-items:center;
  gap:38px;
  background:rgba(255,255,255,.97);
  position:sticky;
  top:0;
  z-index:20;
  border-bottom:1px solid #eff1ed;
}

.wordmark {
  font-family:Georgia,"Times New Roman",serif;
  font-size:28px;
  letter-spacing:-1.4px;
  white-space:nowrap;
  line-height:1.1;
}

.wordmark span {
  font-weight:400;
}

.site-header .header-wordmark {
  display:inline-flex;
  align-items:center;
  line-height:0;
}

.header-wordmark img {
  display:block;
  width:176px;
  height:auto;
}

.desktop-nav {
  display:flex;
  align-items:center;
  gap:32px;
  margin-left:auto;
  font-size:12px;
  letter-spacing:.07em;
}

.desktop-nav a {
  padding-block:15px;
}

.desktop-nav a:hover,.site-footer nav a:hover {
  text-decoration:underline;
  text-underline-offset:7px;
}

.header-contact {
  background:var(--green);
  color:white;
  min-height:44px;
  padding:9px 22px;
  display:flex;
  align-items:center;
  gap:26px;
  font-size:12px;
  transition:background .2s;
}

.header-contact:hover,.button-solid:hover {
  background:#3c5c4e;
}

.arrow {
  display:inline-block;
  position:relative;
  width:24px;
  height:1px;
  background:currentColor;
  flex:none;
}

.arrow:after {
  content:"";
  width:6px;
  height:6px;
  position:absolute;
  right:0;
  top:-3px;
  border-top:1px solid currentColor;
  border-right:1px solid currentColor;
  transform:rotate(45deg);
}

.arrow-down {
  transform:rotate(90deg);
  width:18px;
}

.arrow-up {
  transform:rotate(-90deg);
  width:20px;
}

.button {
  min-height:54px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:44px;
  padding:14px 26px;
  font-size:13px;
  letter-spacing:.045em;
  border:1px solid var(--green);
  transition:background .2s,color .2s;
}

.button-solid {
  background:var(--green);
  color:white;
}

.button-outline {
  background:transparent;
  color:var(--green);
}

.button-outline:hover {
  background:var(--green);
  color:white;
}

.menu-toggle,.mobile-nav {
  display:none;
}

.hero {
  display:grid;
  grid-template-columns:46% 54%;
  min-height:550px;
  background:var(--cream);
}

.hero-copy {
  padding:70px 35px 70px max(56px,calc((100vw - 1120px)/2));
  align-self:center;
}

.hero-service-name {
  font-size:12px;
  letter-spacing:.12em;
}

.hero h1 {
  font-size:clamp(30px,2.8vw,42px);
  line-height:1.65;
  letter-spacing:.085em;
  white-space:nowrap;
  margin-top:18px;
}

.hero-brand-name {
  font-family:Georgia,"Times New Roman",serif;
  line-height:1.25;
  letter-spacing:.035em;
}

.hero-description {
  margin:23px 0 30px;
  font-size:13px;
  line-height:2.2;
  letter-spacing:.065em;
}

.hero-photo {
  overflow:hidden;
  min-height:550px;
}

.hero-photo img {
  height:100%;
  object-fit:cover;
  object-position:47% center;
}

.intro {
  text-align:center;
  padding-block:92px 100px;
}

.intro h2 {
  font-size:27px;
  letter-spacing:.045em;
  margin-top:15px;
  line-height:1.7;
}

.intro-description {
  margin-top:26px;
  line-height:2.2;
  color:#4f6056;
}

.service-nav {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  max-width:850px;
  margin:42px auto 0;
  text-align:left;
}

.service-nav a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-block:1px solid var(--line);
  padding:23px 25px;
  transition:background .2s;
}

.service-nav a:hover {
  background:var(--sage);
}

.service-nav small {
  display:block;
  font-size:11px;
  color:var(--muted);
  margin-bottom:4px;
  letter-spacing:.05em;
}

.service-nav a>span {
  font-size:16px;
  letter-spacing:.04em;
}

.services {
  padding:82px 0 100px;
  background:#fafbf8;
}

.service {
  display:grid;
  grid-template-columns:1.12fr 1fr;
  gap:70px;
  align-items:start;
}

.service+.service {
  margin-top:105px;
  padding-top:95px;
  border-top:1px solid var(--line);
}

.service-visual {
  position:relative;
}

.image-label {
  display:flex;
  align-items:center;
  gap:18px;
  font-family:Arial,sans-serif;
  letter-spacing:.12em;
  font-size:11px;
  margin-bottom:18px;
}

.image-label span {
  font-family:Georgia,serif;
  font-size:26px;
  letter-spacing:0;
  font-style:italic;
}

.service-visual img {
  aspect-ratio:1.66;
  object-fit:cover;
}

.service-visual>p {
  font-size:13px;
  letter-spacing:.04em;
  margin-top:22px;
  padding-left:1px;
}

.external-form-cta {
  max-width:680px;
  margin:34px auto 0;
  padding:38px;
  text-align:center;
  background:#fff;
  border:1px solid var(--line);
}

.external-form-cta h3 {
  font-size:20px;
  letter-spacing:.05em;
}

.external-form-cta p {
  margin:14px auto 24px;
  max-width:520px;
  color:#4f6056;
  font-size:13px;
  line-height:2;
}

.external-form-cta .privacy-notice {
  max-width:680px;
  margin:18px auto 24px;
  font-size:11px;
  line-height:1.9;
}

.privacy-notice a {
  color:var(--green);
  text-decoration:underline;
  text-underline-offset:4px;
}

.external-form-cta .button[aria-disabled=true] {
  cursor:not-allowed;
  opacity:.62;
  pointer-events:none;
}

.service-copy {
  padding-top:6px;
}

.service-kicker {
  display:inline-block;
  font-size:11px;
  letter-spacing:.07em;
  border-bottom:1px solid var(--green);
  padding-bottom:4px;
}

.service-copy h3 {
  font-size:clamp(24px,2.3vw,30px);
  letter-spacing:.08em;
  line-height:1.55;
  margin:17px 0 25px;
  white-space:nowrap;
}

.service-copy>p:not(.service-kicker):not(.service-note) {
  font-size:13px;
  line-height:2.1;
  margin-top:13px;
  color:#4b5c52;
}

.service-points {
  padding:0;
  list-style:none;
  margin:24px 0;
}

.service-points li {
  padding:11px 0;
  border-bottom:1px solid var(--line);
  font-size:12px;
}

.service-points strong {
  display:block;
  font-weight:500;
}

.service-points span {
  color:var(--muted);
  font-size:11px;
}

.service-note {
  font-size:11px;
  color:var(--muted);
  margin:23px 0 12px;
}

.service-copy .button {
  width:100%;
  max-width:360px;
}

.service-reverse .service-visual {
  grid-column:2;
  grid-row:1;
}

.service-reverse .service-copy {
  grid-column:1;
  grid-row:1;
}

.service-reverse {
  grid-template-columns:1fr 1.12fr;
}

/* Coffee qualities are editorial content; the process lives in contact. */
.quality {
  padding:88px 0;
  background:var(--cream);
}
.quality-layout {
  display:block;
}
.quality .section-heading {
  text-align:center;
  margin:0 0 48px;
}
.quality-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px;
}
.quality-grid article {
  border-top:1px solid #c5cdbf;
  padding-top:22px;
}
.quality-grid h3 {
  font-size:18px;
  line-height:1.7;
  margin:0 0 12px;
  letter-spacing:.04em;
}
.quality-grid p {
  font-size:13px;
  line-height:2;
  color:#5c685e;
}
.flow-details {
  border-block:1px solid #bdcbbc;
  margin:0 0 38px;
  scroll-margin-top:108px;
}
.flow-details summary {
  display:flex;
  align-items:center;
  gap:20px;
  padding:21px 0;
  min-height:68px;
  font-size:14px;
  cursor:pointer;
  list-style:none;
}
.flow-details summary::-webkit-details-marker { display:none; }
.flow-details summary:focus-visible { outline:3px solid #8e693b;outline-offset:4px; }
.flow-details summary:hover { color:#57725d; }
.flow-summary-note {
  margin-left:auto;
  font-size:11px;
  color:var(--muted);
}
.disclosure-mark {
  width:10px;
  height:10px;
  margin:0 6px 5px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
  flex:none;
}
.flow-details[open] .disclosure-mark { transform:rotate(225deg);margin-top:8px; }
.flow-list {
  list-style:none;
  padding:0 0 26px;
  margin:0;
}
.flow-list li {
  position:relative;
  display:flex;
  gap:22px;
  padding:12px 0 18px;
}
.flow-list li:not(:last-child)::after {
  content:"";
  position:absolute;
  left:16px;
  top:44px;
  bottom:-12px;
  width:1px;
  background:#bac9b9;
}
.step-number {
  width:33px;
  height:33px;
  border:1px solid #8fa78e;
  border-radius:50%;
  flex:none;
  display:grid;
  place-items:center;
  font:11px Arial,sans-serif;
  color:var(--green);
}
.flow-list h3 { font-size:14px;margin:0 0 4px; }
.flow-list p { font-size:12px;color:var(--muted);line-height:1.9; }

.contact {
  background:var(--sage);
  padding:85px 24px 95px;
}

.contact-inner {
  max-width:700px;
  margin:auto;
}

.contact .section-heading {
  margin-bottom:45px;
}

.contact .section-heading h2 {
  font-size:32px;
  line-height:1.7;
}

.contact .section-heading>p:last-child {
  font-size:13px;
  line-height:2.1;
  margin-top:24px;
  color:#56685b;
}

fieldset {
  padding:0;
  border:0;
  min-width:0;
  margin:0 0 28px;
}

legend,.form-field>label {
  font-size:13px;
  font-weight:500;
  margin-bottom:12px;
}

.optional,.required {
  font-size:9px;
  padding:3px 7px;
  margin-left:10px;
  vertical-align:1px;
  letter-spacing:.03em;
}

.optional {
  border:1px solid #a9b6aa;
  color:#5c6e60;
}

.required {
  background:#dbe3db;
  color:#375442;
}

.radio-options {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.radio-options label {
  cursor:pointer;
  position:relative;
}

.radio-options input {
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
}

.radio-options span {
  border:1px solid #bdcabc;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff9;
  min-height:50px;
  font-size:12px;
  padding:10px 5px;
  text-align:center;
  transition:.2s;
}

.radio-options input:checked+span {
  border-color:var(--green);
  background:var(--green);
  color:white;
}

.radio-options input:focus-visible+span {
  outline:3px solid #8e693b;
  outline-offset:3px;
}

.form-field {
  margin-bottom:26px;
}

.form-field>label {
  display:block;
}

.form-field>input,.form-field>textarea {
  display:block;
  width:100%;
  border:1px solid #c1cdc0;
  background:white;
  border-radius:0;
  padding:13px 16px;
  color:var(--ink);
  font-size:16px;
  min-height:52px;
}

.form-field>textarea {
  resize:vertical;
  line-height:1.8;
  min-height:160px;
}

.field-hint {
  font-size:11px;
  color:var(--muted);
  margin-top:9px;
}

.preview-notice {
  font-size:11px;
  line-height:1.8;
  color:#59695e;
  text-align:center;
  margin:27px 0 18px;
}

.form-submit {
  width:320px;
  max-width:100%;
  margin:auto;
  display:flex;
}

.site-footer {
  padding:52px 0 20px;
  background:var(--green);
  color:#f4f5ef;
}

.footer-top {
  display:flex;
  align-items:center;
  gap:32px;
}

.footer-brand {
  display:grid;
  gap:15px;
}

.footer-wordmark {
  display:inline-flex;
  width:max-content;
}

.footer-wordmark img {
  display:block;
  width:176px;
  height:auto;
  filter:brightness(0) invert(1);
}

.footer-brand small {
  font-size:10px;
  letter-spacing:.06em;
  color:#c0d0c3;
}

.site-footer nav {
  display:flex;
  gap:27px;
  font-size:11px;
  margin-left:auto;
}

.back-top {
  width:44px;
  height:44px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #80958a;
  margin-left:12px;
}

.back-top:hover {
  background:#446252;
}

dialog {
  padding:0;
  border:0;
  width:600px;
  max-width:calc(100% - 32px);
  max-height:85dvh;
  background:#fafbf8;
  color:var(--ink);
}

dialog::backdrop {
  background:#152b24aa;
}

.dialog-inner {
  padding:40px;
}

.dialog-inner h2 {
  font-size:24px;
  margin-top:10px;
}

.dialog-notice {
  font-size:12px;
  margin-top:18px;
}

.dialog-inner dl {
  margin:24px 0;
}

.dialog-inner dt {
  font-size:11px;
  color:var(--muted);
  padding-top:16px;
}

.dialog-inner dd {
  margin:5px 0 0;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
  font-size:14px;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.dialog-inner .button {
  width:100%;
  justify-content:center;
}

@media(min-width:1600px) {
  .hero {
    grid-template-columns:1fr 1fr;
  }
  .hero-copy {
    padding-left:max(56px,calc((100vw - 1250px)/2));
  }
  .hero-photo {
    max-height:650px;
  }
}

@media(max-width:1050px) {
  .site-header {
    padding-inline:28px;
    gap:24px;
  }
  .desktop-nav {
    gap:20px;
  }
  .hero-copy {
    padding-left:40px;
    padding-right:20px;
  }
  .hero h1 {
    font-size:30px;
    letter-spacing:.035em;
  }
  .hero,.hero-photo {
    min-height:490px;
  }
  .section-width {
    width:calc(100% - 80px);
  }
  .service {
    gap:42px;
  }
  .service-copy h3 {
    font-size:24px;
  }
  .site-footer nav {
    gap:18px;
  }
  .wordmark {
    font-size:26px;
  }
}

@media(max-width:760px) {
  html {
    scroll-padding-top:82px;
  }
  .site-header {
    height:72px;
    padding-inline:22px;
    gap:15px;
  }
  .wordmark {
    font-size:25px;
  }
  .header-wordmark img {
    width:145px;
  }
  .desktop-nav {
    display:none;
  }
  .header-contact {
    margin-left:auto;
    font-size:10px;
    min-height:37px;
    padding:8px 12px;
    gap:0;
  }
  .header-contact .arrow {
    display:none;
  }
  .menu-toggle {
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:6px;
    background:none;
    border:0;
    padding:8px 3px;
    width:28px;
    height:44px;
    color:var(--green);
  }
  .menu-toggle span {
    height:1px;
    width:22px;
    background:currentColor;
    transition:transform .2s;
  }
  .menu-toggle[aria-expanded=true] span:first-child {
    transform:translateY(3.5px) rotate(45deg);
  }
  .menu-toggle[aria-expanded=true] span:last-child {
    transform:translateY(-3.5px) rotate(-45deg);
  }
  .mobile-nav:not([hidden]) {
    display:flex;
    position:absolute;
    top:72px;
    left:0;
    right:0;
    flex-direction:column;
    background:#fff;
    padding:16px 28px 26px;
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 30px #213c3312;
  }
  .mobile-nav a {
    padding:17px 0;
    border-bottom:1px solid var(--line);
    font-size:14px;
  }
  .hero {
    display:flex;
    flex-direction:column;
    min-height:0;
  }
  .hero-copy {
    padding:24px 28px 26px;
    order:1;
    width:100%;
    min-width:0;
  }
  .hero-service-name {
    font-size:10px;
  }
  .hero h1 {
    font-size:clamp(25px,7vw,30px);
    line-height:1.55;
    letter-spacing:.065em;
    margin-top:10px;
  }
  .hero-description {
    font-size:12px;
    margin:12px 0 18px;
    line-height:2;
  }
  .hero .button {
    width:100%;
    min-height:49px;
    font-size:12px;
    min-width:220px;
  }
  .hero-photo {
    min-height:0;
    height:auto;
    max-height:none;
    order:0;
  }
  .hero-photo img {
    height:auto;
    aspect-ratio:auto;
    object-fit:contain;
  }
  .section-width {
    width:calc(100% - 48px);
  }
  .mobile-only {
    display:block;
  }
  .intro {
    padding:60px 0 64px;
  }
  .intro>.eyebrow {
    font-size:10px;
  }
  .intro h2 {
    font-size:22px;
    line-height:1.8;
    margin-top:16px;
    letter-spacing:.025em;
  }
  .intro-description {
    font-size:12px;
    line-height:2.1;
    margin-top:22px;
  }
  .service-nav {
    grid-template-columns:1fr;
    gap:0;
    margin-top:30px;
    text-align:left;
  }
  .service-nav a {
    padding:20px 12px;
    border-bottom:0;
  }
  .service-nav a:last-child {
    border-bottom:1px solid var(--line);
  }
  .service-nav a>span {
    font-size:14px;
  }
  .service-nav small {
    font-size:10px;
  }
  .section-heading {
    margin-bottom:36px;
  }
  .eyebrow {
    font-size:10px;
  }
  .section-heading h2 {
    font-size:25px;
    margin-top:10px;
    letter-spacing:.04em;
  }
  .services {
    padding:55px 0 65px;
  }
  .service,.service-reverse {
    display:flex;
    flex-direction:column;
    gap:28px;
  }
  .image-label {
    margin-bottom:12px;
    font-size:10px;
    gap:14px;
  }
  .image-label span {
    font-size:24px;
  }
  .service-visual img {
    aspect-ratio:1.66;
  }
  .service-visual>p {
    font-size:12px;
    margin-top:16px;
  }
  .external-form-cta {
    margin-top:26px;
    padding:28px 20px;
  }
  .external-form-cta h3 {
    font-size:17px;
    line-height:1.7;
  }
  .service-copy {
    padding-top:0;
    width:100%;
  }
  .service-copy h3 {
    font-size:26px;
    line-height:1.6;
    margin:15px 0 21px;
    white-space:normal;
  }
  .service-copy h3 br {
    display:none;
  }
  .service-copy>p:not(.service-kicker):not(.service-note) {
    font-size:13px;
  }
  .service-points {
    margin-top:20px;
  }
  .service-points li {
    padding:12px 0;
  }
  .service-points span {
    font-size:11px;
  }
  .service-copy .button {
    max-width:none;
    font-size:12px;
    min-height:53px;
    padding-inline:22px;
  }
  .service+.service {
    margin-top:52px;
    padding-top:42px;
  }
  .quality { padding:54px 0 58px; }
  .quality-layout { grid-template-columns:1fr;gap:30px; }
  .quality-grid { grid-template-columns:1fr;gap:23px; }
  .quality-grid article { padding-top:20px; }
  .quality-grid h3 { font-size:18px;margin-bottom:8px; }
  .quality-grid p { font-size:13px;line-height:1.95; }
  .quality-grid p br { display:none; }
  .flow-details { margin-bottom:30px;scroll-margin-top:88px; }
  .flow-details summary { font-size:13px;gap:12px; }
  .flow-summary-note { display:none; }
  .disclosure-mark { margin-left:auto; }
  .flow-list li { gap:16px; }
  .flow-list p { font-size:12px; }
  .contact {
    padding:55px 24px 60px;
  }
  .contact .section-heading {
    margin-bottom:34px;
  }
  .contact .section-heading h2 {
    font-size:26px;
    letter-spacing:.015em;
    line-height:1.75;
  }
  .contact .section-heading>p:last-child {
    font-size:12px;
    margin-top:20px;
  }
  .radio-options {
    grid-template-columns:1fr;
    gap:8px;
  }
  .radio-options span {
    min-height:45px;
    justify-content:flex-start;
    padding-inline:18px;
  }
  .radio-options input:checked+span {
    border-left:5px solid var(--green);
    background:white;
    color:var(--green);
    padding-left:14px;
    font-weight:600;
  }
  .form-field {
    margin-bottom:23px;
  }
  .form-field>label,legend {
    font-size:12px;
  }
  .form-submit {
    width:100%;
  }
  .field-hint,.preview-notice {
    font-size:10px;
  }
  .site-footer {
    padding-top:38px;
  }
  .footer-top {
    flex-wrap:wrap;
    gap:28px;
  }
  .footer-brand {
    flex:1;
  }
  .footer-wordmark img {
    width:155px;
  }
  .site-footer nav {
    margin:0;
    order:3;
    flex-wrap:wrap;
    gap:12px 24px;
    width:100%;
    font-size:11px;
  }
  .back-top {
    margin-left:0;
  }
  .dialog-inner {
    padding:26px 22px;
  }
  .dialog-inner h2 {
    font-size:22px;
  }
}

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

@media(max-width:360px) {
  .service-copy h3 br {
    display:block;
  }
  .site-header {
    padding-inline:16px;
    gap:10px;
  }
  .site-header .wordmark {
    font-size:22px;
  }
  .header-wordmark img {
    width:135px;
  }
  .header-contact {
    white-space:nowrap;
    padding-inline:10px;
  }
  .hero-copy {
    padding-inline:24px;
  }
  .hero h1 {
    font-size:25px;
    letter-spacing:.04em;
  }
  .intro h2 {
    font-size:20px;
  }
  .service-copy h3 {
    font-size:24px;
  }
}


.privacy-header {
  justify-content:space-between;
}

.privacy-back-link {
  display:flex;
  align-items:center;
  gap:14px;
  font-size:12px;
  letter-spacing:.04em;
}

.arrow-back {
  transform:rotate(180deg);
  width:20px;
}

.privacy-main {
  background:var(--cream);
  padding:78px 0 110px;
}

.privacy-title {
  max-width:860px;
  margin-bottom:42px;
}

.privacy-title h1 {
  margin-top:10px;
  font-size:36px;
  letter-spacing:.06em;
}

.not-found-title>p:not(.eyebrow) {
  margin-top:18px;
}

.not-found-title .button {
  margin-top:28px;
}

.privacy-content {
  max-width:860px;
  padding:54px 64px 64px;
  background:var(--white);
}

.privacy-content>p:first-child {
  font-size:15px;
}

.privacy-content section {
  margin-top:48px;
}

.privacy-content h2 {
  display:flex;
  gap:12px;
  margin-bottom:18px;
  padding-bottom:12px;
  border-bottom:1px solid var(--line);
  font-size:20px;
  letter-spacing:.035em;
}

.privacy-content h2 span {
  color:var(--muted);
}

.privacy-content p,.privacy-content li {
  font-size:13px;
  line-height:2;
}

.privacy-content section>p+p {
  margin-top:14px;
}

.privacy-content ul {
  margin:14px 0 0;
  padding-left:1.5em;
}

.privacy-content li+li {
  margin-top:5px;
}

.privacy-contact {
  margin-top:20px;
  padding:26px 28px;
  background:var(--sage);
}

.privacy-contact p+p {
  margin-top:12px;
}

.privacy-contact .button {
  margin-top:22px;
  background:var(--white);
}

.privacy-date {
  margin-top:56px;
  text-align:right;
  color:var(--muted);
}

@media(max-width:760px) {
  .privacy-header {
    height:72px;
    padding-inline:20px;
  }
  .privacy-header .header-wordmark img {
    width:135px;
  }
  .privacy-back-link {
    font-size:10px;
    gap:8px;
  }
  .privacy-back-link .arrow {
    display:none;
  }
  .privacy-main {
    padding:48px 0 70px;
  }
  .privacy-title {
    margin-bottom:28px;
  }
  .privacy-title h1 {
    font-size:27px;
  }
  .privacy-content {
    width:calc(100% - 32px);
    padding:34px 22px 42px;
  }
  .privacy-content>p:first-child {
    font-size:13px;
  }
  .privacy-content section {
    margin-top:38px;
  }
  .privacy-content h2 {
    font-size:17px;
  }
  .privacy-content p,.privacy-content li {
    font-size:12px;
  }
  .privacy-contact {
    padding:22px 18px;
  }
  .privacy-contact .button {
    width:100%;
    padding-inline:18px;
    font-size:11px;
  }
}
