/* Continuous arrival. Its entire scroll distance is independent of media duration. */
#arrival{height:3600px;min-height:0;position:relative}
#arrival-stage{position:fixed;inset:0;background:var(--paper);z-index:4;overflow:hidden;isolation:isolate}
#arrival-video{position:absolute;left:1%;bottom:1svh;width:98%;height:78svh;object-fit:contain;object-position:center bottom;pointer-events:none;mix-blend-mode:multiply}
#arrival .arrival-caption{position:absolute;inset:0;min-height:0;height:100%;padding-top:12svh;display:flex;opacity:0;pointer-events:none;will-change:opacity}
#arrival .arrival-caption.first{opacity:1}
#arrival .arrival-caption .copy{position:static;opacity:1;transform:none;transition:none;align-self:flex-start}
#arrival .arrival-caption.first .copy{width:100%}
#arrival .arrival-caption:not(.first) .copy{max-width:36em}
#arrival-skip{position:absolute;bottom:25px;right:clamp(18px,3vw,40px);z-index:6;font-family:var(--fd);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-2);border-bottom:1px solid var(--rule);padding:4px 0}
#arrival .down{bottom:24px}
#arrival-stage.is-complete{visibility:hidden;pointer-events:none}
@media(max-width:700px){
  #arrival-video{left:-30%;width:160%;bottom:13svh;height:61svh;object-fit:contain}
  #arrival .arrival-caption{padding-top:13svh}
  #arrival .arrival-caption .copy{padding-inline:24px;max-width:92vw}
  #arrival .first h1{font-size:clamp(38px,9.5vw,62px)}
  #arrival .arrival-caption:not(.first) .copy h2{font-size:clamp(26px,6.5vw,34px)}
  #arrival .arrival-caption:not(.first) .copy p{font-size:15px;line-height:1.4}
  #arrival-skip{bottom:26px}
}
@media(prefers-reduced-motion:reduce){#arrival{height:0}#arrival-stage{display:none}}

/* A faint acanthus corner and soft paint keep the typography on paper. */
body::after{content:"";position:fixed;right:-40px;top:-28px;width:min(31vw,430px);height:min(43vw,450px);background:url('media/corner-flourish.svg') right top/contain no-repeat;opacity:.075;z-index:12;pointer-events:none;mix-blend-mode:multiply}
#arrival .arrival-caption .copy{position:relative;top:auto;isolation:isolate;padding-block:15px}
#arrival .arrival-caption .copy::before{content:"";position:absolute;inset:-18px -15px;z-index:-1;background:url('media/white-brush.svg') center/100% 100% no-repeat;opacity:.94;pointer-events:none}
#arrival .arrival-caption.first .copy{width:max-content;max-width:94vw;margin-inline:auto}
#arrival .arrival-caption.first .copy::before{inset:-22px -30px;opacity:.72}
.photo-sequence{height:2880px;position:relative;background:var(--paper)}
#photo-stage{position:fixed;inset:0;z-index:3;background:var(--paper);opacity:0;visibility:hidden;pointer-events:none;overflow:hidden}
.photo-slide{position:absolute;inset:9svh 6vw 10svh;margin:0;opacity:0;overflow:hidden;will-change:opacity,transform;transform-origin:center}
.photo-slide picture,.photo-slide img{display:block;width:100%;height:100%;object-fit:cover}
.photo-slide:first-child img{object-position:50% 48%}
.photo-slide img{will-change:filter}
.photo-caption{position:absolute;left:3.5vw;bottom:4svh;max-width:80%;padding:24px 30px 20px;isolation:isolate;color:var(--ink)}
.photo-caption::before{content:"";position:absolute;inset:-12px -16px;background:url('media/white-brush.svg') center/100% 100% no-repeat;opacity:.93;z-index:-1}
.photo-caption .eyebrow{font-size:11px;margin-bottom:8px}
.photo-caption h2{font-family:var(--fd);font-weight:400;font-size:clamp(30px,3.1vw,46px);line-height:1.07;margin:0;text-wrap:balance}
.photo-footer{position:absolute;bottom:4svh;left:6vw;right:6vw;display:flex;align-items:center;justify-content:space-between;color:var(--ink-2);font-family:var(--fd);font-size:12px;letter-spacing:.16em;text-transform:uppercase}
.photo-footer a{pointer-events:auto;letter-spacing:.08em;border-bottom:1px solid var(--rule);padding:4px 0}
@media(max-width:700px){body::after{width:65vw;height:72vw;right:-35px;opacity:.075}#arrival .arrival-caption .copy::before{inset:-12px -2px}.photo-slide{inset:11svh 5vw 14svh}.photo-caption{left:14px;right:14px;bottom:24px;padding:18px 12px;max-width:none}.photo-caption h2{font-size:31px}.photo-footer{bottom:6svh;left:6vw;right:6vw;font-size:10px}.photo-footer>span:nth-child(2){display:none}.photo-slide:nth-child(4) img{object-position:66% center}}
@media(prefers-reduced-motion:reduce){.photo-sequence{height:auto!important;padding-top:90px}#photo-stage{position:relative;opacity:1!important;visibility:visible!important;overflow:visible}.photo-slide{position:relative;inset:auto;margin:0 5vw 28px;height:70svh;opacity:1!important;transform:none!important}.photo-slide img{filter:none!important}.photo-footer{position:relative;inset:auto;margin:30px 6vw}.photo-footer>span{display:none}}

/* Original logo and more prominent captions. */
#arrival .arrival-caption.first .copy{width:100%;max-width:none;padding-inline:24px;margin:0;align-self:flex-start;text-align:center}
#arrival .arrival-caption.first .copy::before{display:none}
#arrival .first .eyebrow{margin-bottom:18px;color:#77634f}
#arrival .first h1.hero-logo{margin:0 auto;width:min(420px,51vw);font-size:0;line-height:0}
.hero-logo img{display:block;width:100%;height:auto;filter:none;mix-blend-mode:normal}
#arrival .arrival-caption:not(.first) .copy{max-width:40em;padding-block:22px}
#arrival .arrival-caption:not(.first) .copy::before{opacity:1;inset:-18px -20px}
#arrival .arrival-caption:not(.first) h2{color:#473827;font-weight:500;font-size:clamp(34px,3.4vw,49px);line-height:1.1}
#arrival .arrival-caption:not(.first) p{color:#63503b;font-size:clamp(18px,1.45vw,21px);line-height:1.55}
#arrival .arrival-caption:not(.first) .eyebrow{color:#78634a;font-weight:600;letter-spacing:.19em}
/* A vintage correspondence card. */
#s9{display:block;min-height:0;padding:110px clamp(20px,6vw,100px) 45px}
#s9>.copy{position:relative;top:auto;max-width:820px;margin:0 auto 64px;padding:0;opacity:1;transform:none}
#s9>.copy h2{font-size:clamp(34px,3.6vw,50px)}
#s9 .contact{display:none}
#s9 .fin{position:static;margin-top:45px;font-size:11px}
.correspondence{position:relative;display:grid;grid-template-columns:.82fr 1.4fr;max-width:1120px;margin:auto;border:1px solid #b8a183;outline:1px solid #dbceb9;outline-offset:7px;background:linear-gradient(112deg,#efe7d8,#fbf8f0 42%,#f4eddf);box-shadow:0 14px 45px #5b463810}
.correspondence::before,.correspondence::after{content:"\2727";position:absolute;top:-16px;background:var(--paper);color:#9f896b;font-size:21px;padding:0 7px}
.correspondence::before{left:17px}.correspondence::after{right:17px}
.correspondence-aside{padding:46px 30px;text-align:center;border-right:1px solid #d6c7ae;display:flex;flex-direction:column;align-items:center;justify-content:center}
.letter-seal{width:65px;height:65px;border:1px solid #ae9470;outline:1px solid #c8b699;outline-offset:5px;border-radius:50%;display:grid;place-items:center;font-family:var(--fd);font-style:italic;font-size:43px;color:#806644;margin-bottom:30px}
.correspondence-aside .eyebrow{font-size:10px;letter-spacing:.16em}
.correspondence h3{font-family:var(--fd);font-weight:400;line-height:1.08;color:#58422d}
.correspondence-aside h3{font-size:38px;margin:18px 0}.correspondence-aside h3 em{font-weight:400}
.correspondence-aside p{font-size:16px;color:#85705a;line-height:1.55;margin:0}
.letter-rule{display:flex;align-items:center;gap:14px;width:80%;margin:26px 0;color:#a68d69;font-size:25px}
.letter-rule::before,.letter-rule::after{content:"";height:1px;flex:1;background:#d1bfa1}
.correspondence address{display:flex;flex-direction:column;gap:14px;font-style:normal;font-size:15px;color:#745d45}
.correspondence address a:hover{text-decoration:underline;text-underline-offset:4px}
.inquiry-form{padding:48px clamp(25px,4vw,60px) 34px;min-width:0}
.inquiry-form>.eyebrow{font-size:11px}.inquiry-form h3{font-size:clamp(33px,3vw,43px);margin:12px 0 32px}
.inquiry-fields{display:grid;grid-template-columns:1fr 1fr;gap:25px}
.field{display:flex;flex-direction:column;gap:9px;min-width:0}.field-wide{grid-column:1/-1}
.field>span{font-family:var(--fd);text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:#6a523a}
.field input,.field textarea{width:100%;border:0;border-bottom:1px solid #bda687;border-radius:0;background:transparent;padding:8px 0 10px;color:#493925;font-family:var(--fb);font-size:18px;line-height:1.4;min-height:42px;cursor:text}
.field textarea{resize:vertical;min-height:100px;background:repeating-linear-gradient(transparent,transparent 31px,#cdbda350 31px,#cdbda350 32px);line-height:32px;padding:0}
.field input:focus,.field textarea:focus{outline:0;border-bottom:2px solid #806544;background-color:#fffaf3}
.inquiry-actions{margin-top:30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.inquiry-send{border:1px solid #816a4d;outline:1px solid #d6c6ae;outline-offset:3px;background:#695239;color:#fff8e9;padding:13px 23px;font-family:var(--fd);font-size:13px;letter-spacing:.13em;text-transform:uppercase;transition:background .2s}
.inquiry-send:hover{background:#493825}.inquiry-send span{margin-left:14px}
.inquiry-actions>span{font-family:var(--fd);font-style:italic;color:#8e785c;font-size:16px;line-height:1.25}
.inquiry-status{font-size:15px;line-height:1.45;color:#735136;margin:18px 0 0;min-height:22px}
@media(max-width:700px){#arrival .first h1.hero-logo{width:min(360px,64.5vw)}#arrival .arrival-caption:not(.first) .copy{padding:18px 24px;max-width:94vw}#arrival .arrival-caption:not(.first) h2{font-size:32px}#arrival .arrival-caption:not(.first) p{font-size:18px}#s9{padding:85px 25px 30px}#s9>.copy{margin-bottom:45px}.correspondence{grid-template-columns:1fr}.correspondence-aside{border-right:0;border-bottom:1px solid #d6c7ae;padding:36px 24px}.correspondence-aside h3{font-size:34px}.inquiry-form{padding:35px 24px 25px}.inquiry-fields{grid-template-columns:1fr;gap:23px}.field{grid-column:1}.inquiry-actions{align-items:flex-start}.inquiry-actions>span{font-size:14px}.inquiry-send{padding:12px 16px}}
#s9 .copy p.quote{margin:14px auto 10px;max-width:38em;text-align:center}

/* Contact submission feedback */
.inquiry-send:disabled{cursor:wait;opacity:.65}
.inquiry-form .inquiry-field-error{font-family:inherit;font-size:13px;letter-spacing:0;text-transform:none;color:#8a3e32;line-height:1.5}
.inquiry-form [data-fs-field][aria-invalid="true"]{border-color:#8a3e32}
.inquiry-status[data-state="error"]{color:#8a3e32}
.inquiry-status[data-state="success"]{color:#42604a}
