@charset "utf-8";
/* Paper Reveal review layer. Original core.css and brand artwork are untouched.
   .paper-site is the shared shell; .paper-interior is quiet retained content. */
.paper-site {
  --paper: #f7f9fb;
  --paper-2: #edf2f6;
  --l-ink: #0a0e14;
  --l-body: #3e4b59;
  --l-muted: #526171;
  --nav-h: 76px;
  --r-lg: 12px;
  --r-xl: 16px;
  --r-2xl: 20px;
  --gutter: clamp(1.25rem, 3.8vw, 4rem);
  background: var(--paper);
  color: var(--l-ink);
  accent-color: #0f6fc8;
  caret-color: #0f6fc8;
  scrollbar-color: #8a9cad #edf2f6;
}
.paper-site ::selection { color: #fff; background: #0b4f8a; }
.paper-site :focus-visible { outline: 2px solid #1077d7; outline-offset: 4px; }
.paper-site a { text-underline-offset: .2em; }
.paper-site .nav {
  background: #0a0e14;
  border-bottom: 1px solid #263340;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: none;
}
.paper-site .nav[data-scrolled='true'] { background: #0a0e14; }
.paper-site .nav__inner { max-width: 1500px; }
.paper-site .nav__link { color: #d3dce5; font-size: .875rem; }
.paper-site .nav__link[aria-current='page'] { color: #fff; }
.paper-site .nav__wordmark { font-size: 1.125rem; }
.paper-site .nav__panel { background: #111923; backdrop-filter: none; }
.paper-site .nav__group:is(:hover, :focus-within) .nav__panel:not([data-open='true']) { opacity: 0; visibility: hidden; transform: none; }
.paper-site .nav__panel[data-open='true'] { opacity: 1; visibility: visible; transform: none; }
.paper-site .nav__panel-desc { color: #a9b6c3; }
.paper-site .nav__drawer { background: #0a0e14; }
.paper-site .nav__drawer[data-open='true'] { animation: none; }
.paper-site .lang-switch { border: 0; background: none; padding: 0; }
.paper-site .lang-switch__opt { min-height: 44px; min-width: 44px; color: #a9b6c3; }
.paper-site .lang-switch__opt[aria-current='true'] { background: #17324a; color: #fff; }
.paper-site .btn {
  border-radius: 8px;
  font-weight: 600;
  transition: background-color var(--d-2) var(--e-out), border-color var(--d-2) var(--e-out), color var(--d-2) var(--e-out);
}
.paper-site .btn--primary { background: #0f6fc8; border-color: #0f6fc8; color: #fff; }
.paper-site .btn--primary:active { background: #0b4f8a; }
.paper-site .btn:focus-visible { outline-color: #1077d7; }
.paper-site .footer {
  background: #0a0e14;
  --ink: #fff;
  --body: #b7c3cf;
  --muted: #a9b6c3;
  --d-muted: #a9b6c3;
  --line: #263340;
  color: #b7c3cf;
  padding-top: clamp(3rem, 7vw, 6rem);
}
.paper-site .footer__links a { min-height: 44px; }
.paper-site .footer__col-title { font-family: var(--font-ui); letter-spacing: .02em; }
.paper-site .footer__disclaimer { max-width: 90ch; }

/* The interior is for reading and operating. Keep all content visible by default. */
.paper-interior { --band-y: clamp(3.75rem, 6vw, 6.5rem); }
.paper-interior main > .band { border-bottom: 1px solid #e1e7ed; }
.paper-interior .band--light {
  --bg: #fff;
  --paper: #fff;
  --bg-card: #fff;
  --bg-card-2: #f2f5f8;
  --bg-card-3: #eaf0f5;
  --line: #dbe3eb;
  --line-soft: #e8edf2;
  --shadow-card: none;
  --shadow-lift: 0 16px 40px -28px rgba(10, 14, 20, .22);
  background: #fff;
}
.paper-interior .band--paper-white { --bg: #f7f9fb; background: #f7f9fb; }
.paper-interior .band--dark { background: #0a0e14; }
.paper-interior .atmos { display: none; }
.paper-interior main .display-1 { letter-spacing: -.04em; line-height: 1.06; }
.paper-interior main .display-2 { font-size: clamp(2rem, 3.3vw, 3.25rem); line-height: 1.12; letter-spacing: -.035em; }
.paper-interior main .display-3 { line-height: 1.14; letter-spacing: -.03em; }
.paper-interior .band--light :is(h1, h2) [class*='accent'] { background: none; -webkit-text-fill-color: currentColor; color: #0f6fc8; }
.paper-interior main .lead { line-height: 1.65; max-width: 62ch; }
.paper-interior main .eyebrow { font-family: var(--font-ui); font-size: .75rem; letter-spacing: .07em; color: var(--muted); }
.paper-interior main .eyebrow::before { display: none; }
.paper-interior main .serif-accent { font-family: var(--font-display); font-style: normal; font-weight: 500; }
.paper-interior main [data-reveal] { opacity: 1; transform: none; transition: none; }
.paper-interior main [data-draw] { stroke-dashoffset: 0; transition: none; animation: none; }
.paper-interior .card { box-shadow: none; border-radius: 10px; }
.paper-interior .card--raised { box-shadow: none; }
.paper-interior .card--glass { backdrop-filter: none; background: var(--bg-card); }
.paper-interior .card--link:hover { transform: none; }
.paper-interior .synthetic-note {
  background: transparent;
  color: var(--muted);
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: 1rem 0 0;
  box-shadow: none;
  font-size: .8125rem;
  line-height: 1.6;
}
.paper-interior .synthetic-note strong { color: var(--body); }
.paper-interior .field__label { font-weight: 600; }
.paper-interior :is(.input, .select, .textarea) { background: #fff; border-color: #aab9c8; border-radius: 7px; color: #0a0e14; }
.paper-interior :is(.input, .select, .textarea)::placeholder { color: #607182; opacity: 1; }
.paper-interior :is(.input, .select, .textarea):focus { border-color: #0f6fc8; box-shadow: 0 0 0 3px #ddecfa; }
.paper-interior .field[data-invalid='true'] :is(.input, .select, .textarea) { border-color: #a4181c; }
.paper-interior details > summary { min-height: 48px; }
.paper-interior .placeholder-flag { white-space: normal; overflow-wrap: anywhere; }

/* Booking: a clear invitation and an honest, usable review form. */
.paper-interior .bhero { padding-block: clamp(3rem, 5vw, 5rem); }
.paper-interior .bhero__inner { gap: clamp(2rem, 6vw, 6rem); }
.paper-interior .bhero__title { font-size: clamp(2.8rem, 4.5vw, 4.3rem); }
.paper-interior .bhero__title-accent { font-size: inherit; font-weight: 500; color: #0f6fc8; }
.paper-interior .bhero__lead { font-size: 1.0625rem; }
.paper-interior .bhero__who { border: 0; border-top: 1px solid #dbe3eb; background: none; padding: 1rem 0 0; border-radius: 0; }
.paper-interior .nots { gap: .4rem 1rem; }
.paper-interior .nots > li { padding: 0; border: 0; border-radius: 0; background: none; font-size: .875rem; white-space: normal; }
.paper-interior .bform { border-radius: 16px; padding: clamp(1.25rem, 2.5vw, 2rem); box-shadow: 0 18px 48px -32px rgba(10, 14, 20, .25); }
.paper-interior .bform::before { display: none; }
.paper-interior .bform__stamp { color: #0b4f8a; border-color: #c8dcef; background: #f1f7fc; }
.paper-interior .bform__fine { line-height: 1.6; }
.paper-interior .wform__consent { background: #f7f9fb; }
.paper-interior .wform__submit { padding-top: .5rem; }
.paper-preview-note { margin: 0; padding: .875rem 1rem; border: 1px solid #c8dcef; border-radius: 8px; background: #f1f7fc; color: #24445e; font-size: .875rem; line-height: 1.55; }
.paper-preview-note strong { font-weight: 600; }
.paper-preview-note a { color: #0b4f8a; }
.paper-site .voice__panel[hidden] { display: none; }
.paper-site .voice__preview-link { display: inline-flex; align-items: center; min-height: 44px; margin: .5rem 0; color: #7ce7f0; text-underline-offset: .2em; }
.paper-site .voice__launcher { font-size: .8125rem; min-height: 44px; }
.paper-site .voice__launcher-short { display: none; }
.paper-site .voice__panel { max-height: min(560px, calc(100dvh - 150px)); overflow-y: auto; }

/* Readable legal pages keep every clause and unresolved fact. */
.paper-interior .legal-hero { padding-top: 4rem; }
.paper-interior .legal-hero .display-3 { font-size: clamp(2.4rem, 4vw, 3.8rem); }
.paper-interior .legal-section { scroll-margin-top: 6rem; }
.paper-interior .legal-body { padding-top: 2.5rem; }

@media (hover: hover) and (pointer: fine) {
  .paper-site .btn--primary:hover { background: #0b5ca8; border-color: #0b5ca8; }
  .paper-site .nav__link:hover { color: #fff; background: #16222e; }
}
@media (max-width: 1080px) {
  .paper-site { --nav-h: 70px; }
  .paper-site .nav__inner { gap: .75rem; }
  .paper-site .nav__actions { gap: .65rem; }
}
@media (max-width: 600px) {
  .paper-site { --gutter: 1.25rem; }
  .paper-site .nav__wordmark { font-size: 1rem; }
  .paper-site .nav__brand { gap: .4rem; }
  .paper-site .nav__brand svg { width: 26px; }
  .paper-site .lang-switch__opt { min-width: 44px; }
  .paper-interior { --band-y: 3.5rem; }
  .paper-interior main .display-1 { font-size: 2.65rem; }
  .paper-interior .bhero { padding-top: 2.5rem; }
  .paper-interior .bhero__lead { font-size: 1rem; }
  .paper-interior .bhero__copy > .eyebrow { order: 0; }
  .paper-interior .bhero__title { order: 1; }
  .paper-interior .bhero__lead { order: 2; }
  .paper-interior .bhero__jump { order: 3; margin-top: 1.5rem; }
  .paper-interior .bhero__facts { order: 4; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 1.5rem; gap: .75rem; }
  .paper-interior .bhero__facts > li { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; gap: .3rem; padding: 0; border: 0; }
  .paper-interior .bhero__fact-v { font-size: .875rem; }
  .paper-interior .bhero__copy > .nots { order: 5; }
  .paper-interior .bhero__who { order: 6; }
  .paper-interior .bhero__proof { order: 7; }
  .paper-interior .bform { padding: 1.2rem; }
  .paper-site .voice__launcher { padding: .6rem .85rem; }
  .paper-site .voice__launcher-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
  .paper-site .voice__launcher-short { display: inline; }
  .paper-site .voice__panel { max-height: calc(100dvh - 160px); }
}
@media (prefers-reduced-motion: reduce) {
  .paper-site { scroll-behavior: auto; }
  .paper-site .btn, .paper-site .nav__panel { transition: none; }
  .paper-site .nav__drawer[data-open='true'] { animation: none; }
}
