/* The owner's shoreline photograph: sea blue, cloud, blush light and pale sand. */
:root {
  --paper: #f6f4f3;
  --ink: #314c5a;
  --muted: #596f7c;
  --ocean: #345f73;
  --ocean-deep: #254857;
  --mist: #dce9ed;
  --blush: #d9c4d0;
  --sand: #ede4e1;
  --line: #cbd9df;
  --sea-blue: #7faeba;
  --cloud: #eef0f3;
}
body {
  background: radial-gradient(ellipse at 0 8%, #dcebf066, transparent 34%),
    radial-gradient(ellipse at 100% 62%, #eadce566, transparent 36%),
    linear-gradient(180deg, #f7f6f5, #f0f5f7 42%, #f8f2f3 78%, #edf3f6);
}
::selection { background: #50798e; color: #fff; }
button:focus-visible, a:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline-color: #527f96;
}
.site-header {
  background: linear-gradient(112deg, #f4f7f8f7, #efe9edf7 64%, #e2edf2f7);
  border-bottom-color: #cbd9df99;
}
.wordmark { color: #355c70; }
.wordmark small { color: #5a727f; }
.button {
  background: linear-gradient(135deg, #49768b, #365f75 68%, #2d5268);
  border-color: #7396a8;
  color: #fff;
  box-shadow: 0 5px 0 #223f52, 0 12px 25px #2b53641f, inset 0 1px 0 #ffffff40;
}
.button:hover { box-shadow: 0 7px 0 #223f52, 0 14px 28px #2b53642b; }
.button.gold, .contact-content .button {
  color: #314c5a;
  background: linear-gradient(125deg, #fbf4f4, #e5d4df 58%, #c8dce6);
  border-color: #f5eef4;
  box-shadow: 0 5px 0 #a093a5, 0 12px 26px #223f5229, inset 0 1px 1px #fff;
}
.button.gold:hover, .contact-content .button:hover {
  box-shadow: 0 7px 0 #a093a5, 0 14px 28px #223f5229;
}
.button.outlined {
  background: linear-gradient(130deg, #fbf9faf2, #e1ebf0bd);
  border-color: #a2bac7;
  color: #36566a;
  box-shadow: 0 4px 0 #acbdc9, 0 10px 25px #2b536414;
}
.button:active, .button.pressed, .button.pressing:not(:disabled) {
  box-shadow: 0 1px 0 #223f52, inset 0 2px 6px #213e502e !important;
}
.button.gold:active, .button.gold.pressed, .button.gold.pressing,
.contact-content .button:active, .contact-content .button.pressing {
  box-shadow: 0 1px 0 #a093a5, inset 0 2px 6px #65748233 !important;
}
.hero-shade {
  background: linear-gradient(90deg, #294b5ee8, #365e73bd 34%, #618b9b26 72%, #d9c4d00a),
    linear-gradient(0deg, #2a4a5cbd, transparent 42%);
}
.hero-tide path { stroke: #dbedf3; }
.hero-sunlight {
  background: linear-gradient(110deg, transparent 43%, #e8d9e323 49%, #f4e9f044 50%, #d7e8f216 53%, transparent 60%);
}
.hero-orbit { border-color: #e4eef033; }
.hero-orbit:after { border-color: #e7dce72b; }
.hero-invitation {
  background: linear-gradient(130deg, #7594a4d9, #3b6175eb);
  border-color: #d5e5ed88;
  box-shadow: 0 16px 40px #2447562b, inset 0 1px 0 #f2e8ef5c;
}
.hero-scenes button { background: linear-gradient(125deg, #31586cd9, #577b8bc7); }
.hero-scenes button[aria-pressed=true] {
  background: linear-gradient(125deg, #5b7f92e8, #3c657aeb);
  border-color: #d5e5f1;
  box-shadow: 0 3px 0 #b6a1b4;
}
.hero-scenes button:after { background: linear-gradient(90deg, #d8c1cf, #e2eef5); }
.hero-scenes>p, .hero-scenes small { color: #e6edf1; }
.intro-copy h2 em { color: #5c8aa0; }
.care-panel-copy, .set-section {
  background: radial-gradient(ellipse at 100% 0, #e9dce699, transparent 65%),
    linear-gradient(135deg, #e2edf2, #f6f3f5 75%);
}
.check-section {
  background: radial-gradient(ellipse at 15% 25%, #5c879baa, transparent 66%),
    linear-gradient(125deg, #456b80, #294b60 74%);
}
.check-section:before { background-image: url('/assets/ocean.jpg'); opacity: .13; }
.check-intro .eyebrow, .check-result .eyebrow, .check-progress { color: #eadce8; }
.check-index, .check-heading .small, .check-foot p { color: #d0e3ec; }
.check-result p, .check-result.has-selection .result-matches>p { color: #e3edf3; }
input:checked~.check-mark {
  background: linear-gradient(135deg, #f5e9f1, #c2deed);
  border-color: #edf4f8;
  box-shadow: 0 0 20px #d6e8f64d;
}
.check-progress i.lit { background: linear-gradient(90deg, #cbb5ce, #dbedf5); }
.check-result.complete {
  border-color: #d7e8f1;
  background: radial-gradient(ellipse at 100% 0, #cbb5d42e, transparent 90%), #ffffff09;
  box-shadow: 0 0 35px #c5e5f333;
}
.journey-card, .faq-price-examples {
  background: radial-gradient(ellipse at 100% 0, #e8dce8aa, transparent 60%),
    linear-gradient(135deg, #e0edf2e8, #f6f2f5eb), url('/assets/ocean.jpg') center/cover;
  border-color: #b5cbd6;
}
.journey-choices button { background: linear-gradient(125deg, #f6f3f7, #d5e5ed); color: #36576a; }
.journey-choices button[aria-pressed=true] {
  background: linear-gradient(125deg, #477388, #33576c);
  color: #f6f4f6;
  border-color: #a6c6d8;
  box-shadow: 0 3px 0 #ad9aae;
}
.menu-hero { background: radial-gradient(ellipse at 10% 40%, #5a8398, #304f64 70%); }
.menu-hero:after {
  background: linear-gradient(90deg, #304f64 8%, #3f647ceb 30%, #668a9b88 54%, #96b4c40e 80%);
}
.qa-hero { background: #7b9dac; }
.qa-hero:after { background: linear-gradient(90deg, #314f65e8, #577c9199 64%, #b9cbdc26); }
.contact-scene { background: #456c81; }
.contact-scene:after { background: linear-gradient(120deg, #345e76d9, #667f98c2 67%, #a49ab5a6); }
.contact-content .eyebrow { color: #eadde9; }
.contact-content p:not(.eyebrow), .contact-note { color: #e6f0f6; }
.site-footer { background: linear-gradient(120deg, #edf3f7, #f3eaf0 60%, #e5eef3); }
.footer-email, .footer-info .eyebrow { color: #526e80; }
.mobile-book { background: linear-gradient(110deg, #f8f5f8fa, #e5edf4fa); border-top-color: #c2d4df; }
.mobile-book .button { box-shadow: 0 3px 0 #223f52; }
.consult-dialog { background: linear-gradient(145deg, #f8f5f7, #eaf1f5); border-color: #c6d6df; }
.consult-dialog::backdrop { background: #233f57b8; }
.consult-selected { border-color: #c3d5df; }
.faq-item[open] { background: linear-gradient(115deg, #e5eff4c7, #f3e9f075); }
.faq-place-answer { background: linear-gradient(120deg, #e1edf3e8, #f4e9f1db), url('/assets/ocean.jpg') center/cover; }
.faq-shortcuts>a:after { background: linear-gradient(100deg, #2e536aeb, #688da070); }
@media (max-width: 700px) {
  .hero-shade {
    background: linear-gradient(0deg, #28495cf7, #315b74eb 34%, #577c9569 70%, #7196ac22),
      linear-gradient(90deg, #32546b66, transparent 75%);
  }
  .menu-hero:after {
    background: linear-gradient(0deg, #304f64f7, #3d627bc9 45%, #6a90a728 90%),
      linear-gradient(90deg, #3e657ca6, transparent);
  }
  .faq-shortcuts>a:after { background: linear-gradient(0deg, #315871ed, #5a7d9580 80%); }
}
