/* 5 · Onde atendo — fim de tarde: a janela de Recife e o endereço como sobrescrito de envelope */
.on{overflow:clip}
.on-ceu{position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(70% 60% at 8% 12% in oklab,color-mix(in oklab,var(--entardecer-1) 92%,#a9abc9),transparent 70%),
    radial-gradient(60% 55% at 92% 96% in oklab,color-mix(in oklab,var(--entardecer-2) 90%,var(--papel)),transparent 72%)}

.on-grade{display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);grid-template-areas:"foto cab" "foto cartas" "foto pe";column-gap:0;align-content:center;min-height:min(900px,100svh)}
.on-cab{grid-area:cab;padding-left:clamp(24px,4vw,64px)}
.on-cab .wf-h2{margin-top:16px;max-width:12em}

/* foto: sangra da borda esquerda da tela e se dissolve no céu da malha */
.on-foto{margin:0;position:absolute;z-index:-1;top:calc(-1 * var(--respiro));bottom:calc(-1 * var(--respiro));left:calc(50% - 50vw);width:calc(50vw - 2%)}
.on-foto{overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,#000 52%,transparent 96%),linear-gradient(180deg,transparent 0,#000 16%,#000 82%,transparent 100%);
  -webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,#000 52%,transparent 96%),linear-gradient(180deg,transparent 0,#000 16%,#000 82%,transparent 100%);mask-composite:intersect}
.on-foto img{position:absolute;left:0;top:-24%;width:100%;height:124%;max-width:none;object-fit:cover;object-position:36% 50%}
.on-foto figcaption{position:absolute;left:calc(var(--pad) - 4px);top:46%;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--serif);font-style:italic;font-size:15px;letter-spacing:.02em;color:#f4eef3;text-shadow:0 1px 10px rgba(25,25,55,.55)}

.on-cartas{grid-area:cartas;position:relative;margin:36px 0 0 -11%}

/* o envelope */
.on-env{width:min(600px,100%);min-height:380px;padding:150px 34px 64px;display:flex;flex-direction:column;justify-content:flex-end}
.on-env-papel{--giro:-.6deg}
.on-dobra{position:absolute;inset:0;width:100%;height:100%;z-index:-1;fill:none;stroke:rgba(90,70,60,.10);stroke-width:1;vector-effect:non-scaling-stroke;transform:rotate(-.6deg)}
.on-dobra path{vector-effect:non-scaling-stroke}

.on-selo{position:absolute;top:24px;right:28px;width:84px;height:100px;padding:5px;transform:rotate(2deg);
  background:radial-gradient(circle,transparent 2.6px,#fffdf9 3px) -4px -4px/8px 8px;filter:drop-shadow(0 1px 1px rgba(60,40,30,.18))}
.on-selo-in{height:100%;display:flex;align-items:center;justify-content:center;padding:6px;
  background:linear-gradient(180deg in oklab,#a9abc9,var(--entardecer-1) 45%,var(--entardecer-2) 100%)}
.on-selo-in svg{width:58px;height:54px;fill:none;stroke:var(--tulipa);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}
.on-selo-in svg path:last-child{fill:color-mix(in oklab,var(--tulipa) 22%,transparent)}

.on-carimbo{position:absolute;top:30px;right:62px;width:220px;height:120px;overflow:visible;fill:none;stroke:var(--mel);stroke-width:1.4;mix-blend-mode:multiply;opacity:.8;transform:rotate(-7deg)}
.on-carimbo text{fill:var(--mel);stroke:none;font-family:var(--sans)}
.on-circ-txt{font-size:10.5px;letter-spacing:.22em;font-weight:600}
.on-coord{font-size:9.5px;letter-spacing:.06em}

.on-para{font-family:var(--serif);font-style:italic;font-size:15px;color:var(--mel);margin:0 0 6px 16%}
.on-end{font-style:normal;font-family:var(--serif);font-size:19px;line-height:1.35;color:var(--tinta);margin-left:16%}
.on-end span{display:block;padding:6px 0 4px;border-bottom:1px solid var(--filete)}
.on-l1{font-weight:500}
.on-cep small{font-family:var(--sans);font-size:11.5px;letter-spacing:.16em;color:var(--tinta-2);margin-right:6px}

/* o bilhete da teleconsulta, preso por cima do canto do envelope */
.on-bilhete{position:relative;z-index:2;width:min(340px,82%);margin:-38px 0 0 auto;padding:22px 26px 20px;right:clamp(0px,3vw,40px)}
.on-b-tit{font-family:var(--serif);font-size:19px;line-height:1.3;color:var(--tinta)}
.on-b-tit em{color:var(--mel)}
.on-b-txt{margin-top:10px;font-size:15px;line-height:1.55;color:var(--tinta-2)}

.on-pe{grid-area:pe;padding-left:clamp(24px,4vw,64px);margin-top:40px;max-width:640px}
.on-dados{font-size:15px;color:var(--tinta-2);border-top:1px solid var(--filete);padding-top:16px}
.on-dados span{color:var(--mel);margin:0 8px}
.on-acoes{list-style:none;display:flex;flex-wrap:wrap;gap:4px 30px;margin-top:8px}
.on-acoes a{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-size:15px;color:var(--tinta);text-decoration:underline;text-underline-offset:5px;text-decoration-color:color-mix(in oklab,var(--tinta) 30%,transparent);transition:text-decoration-color .3s}
.on-acoes a:hover{text-decoration-color:var(--tinta)}
.on-acoes svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--mel);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}

/* anotação no canto do envelope */
.on-anota{position:absolute;top:30px;left:34px;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.35;color:var(--tinta-2);padding-left:12px;border-left:1.5px solid color-mix(in oklab,var(--mel) 55%,transparent)}
/* fita de papel prendendo o bilhete */
.on-fita{position:absolute;top:-13px;left:50%;width:96px;height:26px;margin-left:-48px;transform:rotate(-4deg);z-index:1;
  background:linear-gradient(90deg in oklab,color-mix(in oklab,var(--entardecer-2) 70%,transparent),color-mix(in oklab,var(--entardecer-1) 60%,transparent));
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 4px,#000 calc(100% - 4px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 4px,#000 calc(100% - 4px),transparent);
  box-shadow:0 1px 2px rgba(60,40,30,.08);opacity:.85}
/* a luz da janela, mais quente no fim da tarde */
.on-luz{position:absolute;inset:-10% -30%;z-index:-1;pointer-events:none;mix-blend-mode:soft-light;
  background:linear-gradient(112deg,transparent 40%,rgba(255,226,200,.85) 48%,rgba(255,236,220,.5) 53%,transparent 60%);
  animation:luz 36s ease-in-out infinite alternate}

/* gesto: o carimbo bate no envelope depois que ele pousa */
.js .on-env .on-carimbo{opacity:0;transform:rotate(-16deg) scale(1.35)}
.js .on-env.visto .on-carimbo{animation:on-bate .55s 1.25s cubic-bezier(.3,1.5,.5,1) forwards}
@keyframes on-bate{to{opacity:.8;transform:rotate(-7deg) scale(1)}}

@media (max-width:1200px) and (min-width:901px){
  .on-cartas{margin-left:-3%}
  .on-foto img{object-position:30% 50%}
}
@media (max-width:900px){
  .on-grade{grid-template-columns:1fr;grid-template-areas:"cab" "foto" "cartas" "pe";min-height:0}
  .on-cab,.on-pe{padding-left:0}
  .on-foto{grid-area:foto;position:relative;top:auto;bottom:auto;left:auto;width:auto;margin:28px calc(-1 * var(--pad)) 0;z-index:0}
  .on-foto{-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 22%,#000 78%,transparent 100%)}
  .on-foto{aspect-ratio:1/1.1}
  .on-foto img{left:-20%;top:auto;bottom:-6%;width:150%;height:auto;aspect-ratio:1080/1262}
  .on-foto figcaption{position:absolute;left:auto;right:10px;top:30%;bottom:auto;writing-mode:vertical-rl;transform:rotate(180deg);font-size:15px;color:#f4ecf2;text-shadow:0 1px 8px rgba(30,30,60,.5)}
  .on-cartas{margin:-34px 0 0;z-index:1}
  .on-env{min-height:0;padding:128px 22px 54px}
  .on-selo{top:20px;right:20px;width:66px;height:80px}
  .on-selo-in svg{width:36px;height:32px}
  .on-carimbo{top:24px;right:44px;width:180px;height:98px}
  .on-para,.on-end{margin-left:0}
  .on-end{font-size:17px}
  .on-bilhete{width:88%;right:-4px;margin-top:-30px}
  .on-pe{margin-top:30px;padding-bottom:48px}
  .on-anota{top:22px;left:22px}
  .on-acoes{flex-direction:column;gap:0}
  .on-acoes li+li{border-top:1px solid var(--filete)}
  .on-acoes a{min-height:52px;width:100%}
  .on-carimbo .on-ondas{display:none}
}
@media (prefers-reduced-motion:reduce){
  .on-luz{animation:none}
}
