.aman-opening {
  --opening-progress: 0;
  --headline-travel: 0px;
  --accent-travel: 0px;
  --feature-travel: 0px;
  background: #eeeae0;
  color: #293631;
}

.aman-introduction {
  padding: 26px 5% 0;
  overflow: hidden;
}

.aman-intro-meta,
.aman-intro-foot,
.home-label,
.home-feature-art > span,
.home-offer-more > span {
  font: 500 10px/1.55 var(--mono);
  letter-spacing: .07em;
}

.aman-intro-meta,
.aman-intro-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  color: #5c6858;
}

.aman-greeting {
  margin: 30px 0 22px;
  font: 500 clamp(24px, 2.5vw, 37px)/1.1 var(--sans);
  letter-spacing: -.045em;
}

.aman-greeting em {
  color: #805b43;
  font: italic 400 1.13em/1 var(--serif);
}

.aman-display-statement {
  margin: 0 0 30px;
  font: 400 clamp(46px, 6.35vw, 112px)/1.03 var(--sans);
  letter-spacing: -.062em;
}

.aman-thought-line,
.aman-maker-line {
  display: block;
  position: relative;
  overflow: hidden;
  padding: .03em .1em .16em 0;
  margin-bottom: -.12em;
}

.aman-thought-line { transform: translateX(var(--headline-travel)); }

.aman-maker-line {
  width: max-content;
  max-width: 100%;
  margin-left: 10%;
  transform: translateX(var(--accent-travel));
}

.aman-thought-line > span,
.aman-maker-line > em {
  display: block;
  animation: aman-title-in .85s cubic-bezier(.16,.8,.18,1) both;
}

.aman-maker-line > em {
  color: #805b43;
  font: italic 400 1.14em/1.05 var(--serif);
  letter-spacing: -.043em;
  animation-delay: .1s;
}

.aman-maker-mark {
  position: absolute;
  width: 72%;
  height: .19em;
  bottom: .015em;
  left: 23%;
  overflow: visible;
  pointer-events: none;
}

.aman-maker-mark path {
  fill: none;
  stroke: #a77e57;
  stroke-width: 1.3;
  stroke-linecap: round;
  stroke-dasharray: 1;
  animation: aman-mark-in .85s .5s ease-out both;
}

@keyframes aman-title-in {
  from { transform: translateY(65%); opacity: .3; }
  to { transform: none; opacity: 1; }
}

@keyframes aman-mark-in {
  from { stroke-dashoffset: 1; }
  to { stroke-dashoffset: 0; }
}

.aman-intro-body {
  display: grid;
  grid-template-columns: minmax(0, .76fr) minmax(0, 1fr);
  align-items: end;
  column-gap: 9%;
}

.aman-intro-offer { grid-area: 1 / 2; }
.aman-intro-person { grid-area: 1 / 1; }

.aman-intro-offer p,
.aman-intro-person p {
  color: #49574a;
  line-height: 1.55;
}

.aman-intro-offer p { max-width: 49ch; font-size: clamp(15px, 1.4vw, 20px); }
.aman-intro-person p { max-width: 32ch; font-size: 14px; }
.aman-intro-person .quiet-link { margin-top: 9px; color: #76553d; }

.aman-intro-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 22px;
  margin-top: 17px;
}

.aman-intro-actions .button,
.home-offer .button {
  min-height: 46px;
  padding: 12px 16px;
  font-size: 13px;
  gap: 20px;
}

.aman-intro-actions .quiet-link,
.aman-intro-person .quiet-link,
.home-offer .quiet-link {
  font-size: 13px;
  gap: 14px;
}

.aman-intro-foot {
  position: relative;
  border-top: 1px solid #b9bdac;
  margin-top: 28px;
  padding: 10px 0;
}

.aman-intro-foot::before {
  content: '';
  position: absolute;
  inset: -1px 0 auto;
  height: 1px;
  transform: scaleX(var(--opening-progress));
  transform-origin: left;
  background: #a67f55;
}

.aman-intro-foot > a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 38px;
  font: 500 12px/1.4 var(--sans);
  color: #674a37;
}

.aman-intro-foot .home-motion {
  min-height: 38px;
  padding: 6px 10px;
  color: #465749;
  border-color: #a5ad9b;
  font: 500 11px/1.35 var(--sans);
}

.home-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  margin: 0 5%;
  background: #243632;
  color: #f1eadb;
}

.home-feature-art {
  min-height: 390px;
  position: relative;
  overflow: hidden;
  background: #103b2d;
}

.home-feature-art img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 51% 49%;
  transform: translateY(var(--feature-travel)) scale(1.06);
}

.home-feature-art > span {
  position: absolute;
  left: 18px;
  bottom: 16px;
  padding: 7px 9px;
  background: #142b26e8;
  color: #f2e8d4;
  font-size: 9px;
}

.home-feature-story { padding: clamp(24px, 3.5vw, 58px); }
.home-feature-story .home-label { color: #d8bd97; }

.home-feature h2,
.home-offers h2 {
  margin-top: 12px;
  font: 400 clamp(36px, 4.2vw, 62px)/1.01 var(--sans);
  letter-spacing: -.055em;
}

.home-feature h2 em,
.home-offers h2 em {
  font: italic 400 1.06em/1.04 var(--serif);
  letter-spacing: -.035em;
}

.home-feature h2 em { color: #e5c5a5; }

.home-feature-story > p {
  max-width: 46ch;
  margin-top: 14px;
  color: #d2dbce;
  font-size: 14px;
  line-height: 1.65;
}

.home-feature-quote {
  margin: 22px 0 0;
  padding: 15px 0 0;
  border-top: 1px solid #b6c5ab57;
}

.home-feature-quote blockquote {
  font: 400 clamp(20px, 2.15vw, 32px)/1.25 var(--serif);
  color: #f0dbc0;
}

.home-feature-quote figcaption {
  margin-top: 8px;
  color: #d4dbcd;
  font-size: 12px;
  line-height: 1.5;
}

.home-feature-links,
.home-offer-more,
.home-invitation-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 18px;
}

.home-feature-links { margin-top: 13px; }

.home-feature-links a,
.home-offer-more a,
.home-invitation-actions > a:last-child {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  border-bottom: 1px solid currentColor;
  font-size: 13px;
  line-height: 1.4;
}

.home-feature-links a { color: #ead8bc; }

.home-offers {
  padding: clamp(40px, 6vw, 85px) 5%;
  color: #293631;
  background: #eeeae0;
}

.home-offers .home-label,
.home-offer-more > span { color: #665844; }
.home-offers h2 em { color: #805b43; }

.home-offer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
  gap: 14px;
  margin-top: 25px;
}

.home-offer {
  display: flex;
  flex-direction: column;
  align-items: start;
  padding: clamp(20px, 2.5vw, 34px);
  border: 1px solid #b9beac;
}

.home-offer-review { background: #e1e5d9; }
.home-offer-teardown { background: #f6f1e6; }

.home-offer h3 {
  margin-top: 9px;
  font: 500 clamp(25px, 2.8vw, 42px)/1.1 var(--sans);
  letter-spacing: -.045em;
}

.home-offer p {
  max-width: 49ch;
  margin: 10px 0 18px;
  color: #455445;
  font-size: 14px;
  line-height: 1.6;
}

.home-offer > a { margin-top: auto; }
.home-offer-more { margin-top: 17px; }
.home-offer-more a { color: #475749; }
.home-invitation-actions > a:last-child { color: #ecd3b6; }

.aman-opening :is(a, button):focus-visible,
.home-offers a:focus-visible,
.home-invitation-actions a:focus-visible {
  outline: 2px solid #a67f55;
  outline-offset: 4px;
}

@media (max-width: 750px) {
  .aman-introduction { padding: 20px 22px 0; }
  .aman-intro-meta { font-size: 8px; }
  .aman-greeting { margin: 23px 0 15px; }
  .aman-display-statement { font-size: clamp(32px, 8.55vw, 62px); margin-bottom: 22px; }
  .aman-maker-line { margin-left: 0; }
  .aman-intro-body { grid-template-columns: 1fr; gap: 15px; }
  .aman-intro-offer, .aman-intro-person { grid-area: auto; }
  .aman-intro-person p { max-width: 43ch; font-size: 12px; }
  .aman-intro-person .quiet-link { margin-top: 0; font-size: 12px; }
  .aman-intro-actions { gap: 5px 10px; margin-top: 13px; }
  .aman-intro-actions .button { padding-inline: 14px; font-size: 12px; gap: 12px; }
  .aman-intro-actions .quiet-link { min-height: 44px; font-size: 12px; gap: 8px; }
  .aman-intro-foot { margin-top: 15px; }
  .aman-intro-foot > a { font-size: 11px; }
  .home-feature { grid-template-columns: 1fr; margin-inline: 22px; }
  .home-feature-art { min-height: 0; aspect-ratio: 1.63; }
  .home-feature-art > span { left: 12px; bottom: 11px; }
  .home-feature-story { padding: 21px; }
  .home-feature h2, .home-offers h2 { font-size: clamp(32px, 8vw, 52px); }
  .home-offers { padding-inline: 22px; }
  .home-offer-grid { grid-template-columns: 1fr; margin-top: 19px; }
  .home-offer-more { align-items: start; flex-direction: column; gap: 3px; }
}

.motion-paused .aman-thought-line,
.motion-paused .aman-maker-line,
.motion-paused .home-feature-art img { transform: none; }

.motion-paused .aman-thought-line > span,
.motion-paused .aman-maker-line > em,
.motion-paused .aman-maker-mark path { animation: none; }

@media (prefers-reduced-motion: reduce) {
  .aman-thought-line, .aman-maker-line, .home-feature-art img { transform: none; }
  .aman-thought-line > span, .aman-maker-line > em, .aman-maker-mark path { animation: none; }
  .aman-intro-foot .home-motion { display: none; }
}
