/* A saved estimate opens the coast like a full-width illustrated postcard. */
#estimate.rt-dusk-received .estimate-layout { grid-template-columns: minmax(0,1fr) }
#estimate.rt-dusk-received .estimate-intro,
#estimate-form[data-sent] .estimate-direct { display: none }
.rt-dusk-card, #estimate-form.rt-dusk-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  align-content: end;
  box-sizing: border-box;
  min-height: clamp(490px, 49vw, 620px);
  margin: 0;
  padding: 0;
  color: #fff9ed;
  background: linear-gradient(170deg,#bc7c76,#44455b 49%,#17343b);
}
.rt-dusk-card::before, .rt-dusk-card::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.rt-dusk-card::before {
  z-index: -3;
  background: url('/sunset/coast-1380.webp') center 46% / cover no-repeat;
}
.rt-dusk-card::after {
  z-index: -1;
  background: linear-gradient(0deg,rgba(13,30,34,.90),rgba(13,30,34,.70) 15%,rgba(13,30,34,.1) 56%,transparent 70%),
              linear-gradient(65deg,rgba(16,36,43,.32) 0%,transparent 55%);
}
.rt-dusk-wildlife { position:absolute; inset:0; overflow:hidden; z-index:-2; pointer-events:none }
.rt-dusk-copy {
  position: relative;
  justify-self:start;
  min-width:0;
  max-width: 100%;
  padding: clamp(24px,4.2vw,58px);
}
.rt-dusk-native { box-sizing:border-box; width:min(1120px,94%); max-width:none; margin:auto; padding:clamp(16px,4vw,54px) 0 }
.rt-dusk-native > .brand { display:inline-block; margin-bottom:18px; }
.rt-dusk-copy #status, #estimate-form[data-sent] .rt-dusk-copy #status {
  border:0; outline:0; padding:0; margin:0;
  font:400 16px/1.45 Arial,sans-serif;
  color:inherit;
}
.rt-dusk-copy .rt-dusk-title {
  margin:0;
  color:#fff7e9;
  font:italic 400 clamp(46px,6.1vw,80px)/1.02 Georgia,serif;
  letter-spacing:-.055em;
}
.rt-dusk-copy .rt-dusk-message { text-wrap:balance; margin:10px 0 15px; color:#fff9ee; font:400 clamp(16px,1.6vw,21px)/1.4 Arial,sans-serif; max-width:42ch }
.rt-dusk-copy .rt-dusk-reference { color:#f1e3ca; display:block; font:600 11px/1.4 Arial,sans-serif; letter-spacing:.065em }
.rt-dusk-copy .rt-dusk-actions { display:flex; gap:6px 25px; flex-wrap:wrap; margin:9px 0 0 }
.rt-dusk-copy .rt-dusk-actions[hidden] { display:none }
.rt-dusk-actions a, #estimate-form[data-sent] #estimate-another, .rt-dusk-copy .rt-party-dismiss, #estimate-form[data-sent] .rt-party-dismiss {
  color:#fff5df;
  display:inline-flex; align-items:center;
  background:transparent;
  padding:3px 0; border:0; min-height:40px;
  font:500 13px/1.3 Arial,sans-serif; letter-spacing:.01em; text-transform:none;
  text-decoration:underline; text-decoration-color:#d9cbaf; text-underline-offset:4px;
}
#estimate-form[data-sent] #estimate-another:focus-visible, .rt-dusk-card :is(a,button):focus-visible { outline:2px solid #f9e9b0; outline-offset:3px }
.rt-dusk-copy .rt-party-still img { width:auto; max-width:100%; max-height:75px }
@media (max-width:720px) {
  .rt-dusk-card, #estimate-form.rt-dusk-card { min-height:clamp(440px,66svh,555px) }
  .rt-dusk-card::before { background-image:url('/sunset/coast-720.webp'); background-position:44% 50% }
  .rt-dusk-card::after { background:linear-gradient(0deg,rgba(9,26,31,.94),rgba(12,28,34,.81) 21%,rgba(18,35,40,.46) 40%,transparent 62%) }
  .rt-dusk-copy { padding:clamp(18px,6vw,34px) }
  .rt-dusk-copy .rt-dusk-message { max-width:32ch }
}
/* The positioned parent supplies the illustrated scene's bounds. */
.rt-dusk-sky,
.rt-dusk-water {
  position: absolute;
  pointer-events: none;
  user-select: none;
}
.rt-dusk-sky { inset: 14% 4% auto 30%; height: 21%; }
.rt-dusk-water { inset: 65% 8% auto 61%; height: 9%; }
.rt-dusk-flight { position: absolute; inset: 0; }
.rt-dusk-bird,
.rt-dusk-orca {
  position: absolute;
  display: block;
  height: auto;
  max-width: none;
  overflow: visible;
}
.rt-dusk-bird { fill: var(--rt-dusk-bird-ink, #463b42); }
.rt-dusk-farwing { opacity: .81; }
.rt-dusk-bird-one   { left: 29%; top: 14%; width: clamp(20px, 2.6vw, 30px); --rt-dusk-beat-lag: -1.1s; }
.rt-dusk-bird-two   { left: 17%; top: 38%; width: clamp(16px, 2.1vw, 25px); --rt-dusk-beat-lag: -4.8s; }
.rt-dusk-bird-three { left: 6%; top: 27%; width: clamp(14px, 1.8vw, 21px); --rt-dusk-beat-lag: -2.6s; }
.rt-dusk-wing,
.rt-dusk-farwing { transform-box: view-box; transform-origin: 18px 17px; }
.rt-dusk-orca { fill: var(--rt-dusk-orca-ink, #344048); }
.rt-dusk-orca-one { left: 7%; top: 19%; width: clamp(46px, 7.5vw, 86px); --rt-dusk-breath-lag: -5.6s; }
.rt-dusk-orca-two { left: 59%; top: 9%; width: clamp(34px, 5.7vw, 65px); --rt-dusk-breath-lag: -3s; }
.rt-dusk-glint { fill: var(--rt-dusk-saddle, #dfc3a6); opacity: .72; }
.rt-dusk-ripple {
  fill: none;
  stroke: var(--rt-dusk-ripple-ink, #47545a);
  stroke-width: 1.3;
  stroke-linecap: round;
  opacity: .8;
  transform-box: view-box;
  transform-origin: 55px 28px;
}
.rt-dusk-foam { stroke: var(--rt-dusk-ripple-light, #fde2ae); stroke-width: 1.35; }

@media (prefers-reduced-motion: no-preference) {
  .rt-dusk-flight { animation: rt-dusk-cross 27s linear -10s infinite; }
  .rt-dusk-wing { animation: rt-dusk-beat 6.7s ease-in-out var(--rt-dusk-beat-lag) infinite; }
  .rt-dusk-farwing { animation: rt-dusk-beat-far 6.7s ease-in-out var(--rt-dusk-beat-lag) infinite; }
  .rt-dusk-roll { animation: rt-dusk-rise 13s ease-in-out var(--rt-dusk-breath-lag) infinite; }
  .rt-dusk-ripple { animation: rt-dusk-wash 13s ease-in-out var(--rt-dusk-breath-lag) infinite; }
}

@keyframes rt-dusk-cross {
  0% { transform: translate(-5%, 12%); opacity: 0; }
  9% { opacity: .88; }
  48% { transform: translate(23%, -7%); }
  82% { opacity: .88; }
  96%, 100% { transform: translate(55%, 5%); opacity: 0; }
}
/* Short pairs of strokes give way to a longer glide. */
@keyframes rt-dusk-beat {
  0%, 8%, 24%, 42%, 77%, 100% { transform: scaleY(.81); }
  15%, 32% { transform: scaleY(-.55); }
  56% { transform: scaleY(.59); }
}
@keyframes rt-dusk-beat-far {
  0%, 7%, 23%, 41%, 77%, 100% { transform: scaleY(.91); }
  14%, 31% { transform: scaleY(-.35); }
  55% { transform: scaleY(.7); }
}
@keyframes rt-dusk-rise {
  0%, 100% { transform: translate(-7px, 26px); }
  20% { transform: translate(-5px, 15px); }
  40% { transform: translate(-1px, 0); }
  55% { transform: translate(2px, 2px); }
  79%, 99% { transform: translate(8px, 26px); }
}
@keyframes rt-dusk-wash {
  0%, 12%, 100% { transform: scaleX(.68); opacity: 0; }
  36% { opacity: .61; }
  65% { transform: scaleX(1.05); opacity: .84; }
  91%, 99% { transform: scaleX(1.18); opacity: 0; }
}
.rt-dusk-motion-paused :is(.rt-dusk-flight, .rt-dusk-wing, .rt-dusk-farwing, .rt-dusk-roll, .rt-dusk-ripple) {
  animation-play-state: paused;
}

.rt-dusk-pause {
  position:absolute; top:12px; right:12px; z-index:2;
  width:42px; height:42px; display:grid; place-items:center;
  border:1px solid #fff8ea62; border-radius:50%; background:#223031ab; color:#fff8e9; cursor:pointer;
}
.rt-dusk-pause[hidden] { display:none }
.rt-dusk-pause::before { content:''; width:7px; height:12px; border-inline:2px solid currentColor; box-sizing:content-box }
.rt-dusk-pause[aria-pressed="true"]::before { width:0; height:0; margin-left:2px; border:6px solid transparent; border-left:9px solid currentColor; border-right:0 }
@media(prefers-reduced-motion:reduce) { .rt-dusk-pause { display:none } }
