:root {
  color-scheme: light;
  --font-display: 'Clash Display', sans-serif;
  --font-body: 'Satoshi', sans-serif;
  --heading-weight: 500;
  --booking-size: clamp(2.8rem, 4.3vw, 4.1rem);
  --heading-tracking: -.045em;
  --text-small: clamp(.75rem, .72rem + .15vw, .875rem);
  --text-base: clamp(1rem, .95rem + .2vw, 1.125rem);
  --text-title: clamp(1.5rem, 1.25rem + .6vw, 1.875rem);
  --text-hero: clamp(3.5rem, 2rem + 5.5vw, 6rem);
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --bg: #703353;
  --surface: #fff7ef;
  --field: #fffaf5;
  --text: #fff7ef;
  --muted: #fff0e8;
  --accent: #873653;
  --on-accent: #fff7ef;
  --line: #ffffff45;
  --radius: 3px;
}
body { background:linear-gradient(90deg,#703353 50%,#873653 50%); color: var(--text); font: var(--text-base)/1.6 var(--font-body); }
::selection { background: var(--accent); color: var(--on-accent); }
.skip { position:absolute; top:-100px; left:var(--space-4); background:var(--accent); color:var(--on-accent); padding:var(--space-3); z-index:10; }
.skip:focus { top:var(--space-4); }
.landing { min-height:100svh; max-width:1160px; margin-inline:auto; padding:var(--space-12) var(--space-8); display:grid; grid-template-columns:1fr 1.05fr; align-items:center; gap:var(--space-16); }
.intro { padding-block:var(--space-4); }
.logo { width:min(100%,380px); height:auto; margin-bottom:var(--space-8); }
h1 { font-family:var(--font-display); font-size:var(--booking-size); font-weight:var(--heading-weight); line-height:1.02; letter-spacing:var(--heading-tracking); margin-bottom:var(--space-8); }
h1 span { color:var(--accent); }
.description { color:var(--muted); margin-top:var(--space-6); line-height:1.7; }
.social-links { display:flex; flex-wrap:wrap; gap:var(--space-3); margin-top:var(--space-5); }
.social-links a { display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; color:var(--text); border-radius:50%; }
.social-links img { width:24px; height:24px; filter:brightness(0) invert(1); opacity:.94; }
.social-links a:hover { background:#ffffff18; }
.social-links a:focus-visible { outline:2px solid var(--text); outline-offset:3px; }
.booking-panel { --text:#392532; --muted:#725662; --line:#b69d9e; background:var(--surface); color:var(--text); border:1px solid var(--surface); border-radius:var(--radius); padding:var(--space-8); min-width:0; }
h2 { font-size:var(--text-title); font-weight:500; line-height:1.2; letter-spacing:-.025em; margin-bottom:var(--space-6); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--space-4); }
.field { display:flex; flex-direction:column; min-width:0; gap:var(--space-2); margin-bottom:var(--space-4); }
label { font-size:var(--text-small); }
label span { color:var(--muted); }
input,textarea,select { width:100%; min-width:0; border:1px solid var(--line); background:var(--field); color:var(--text); padding:var(--space-3); border-radius:var(--radius); font-size:var(--text-base); line-height:1.45; }
input,select { min-height:48px; }
textarea { resize:vertical; }
textarea::placeholder { color:var(--muted); opacity:1; }
.primary { width:100%; min-height:52px; background:var(--accent); color:var(--on-accent); border:1px solid var(--accent); border-radius:var(--radius); padding:var(--space-3) var(--space-4); font-size:var(--text-base); font-weight:700; }
.primary:hover { opacity:.86; }
.form-note { font-size:var(--text-small); color:var(--muted); margin-top:var(--space-3); line-height:1.5; }
.direct-contact { display:flex; flex-direction:column; align-items:center; gap:var(--space-1); border-top:1px solid var(--line); margin-top:var(--space-6); padding-top:var(--space-4); }
.direct-contact a { min-height:44px; display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:var(--space-2); text-align:center; }
.email-link { font-size:var(--text-small); color:var(--muted); overflow-wrap:anywhere; max-width:100%; }
a:hover { text-decoration:underline; text-underline-offset:4px; }
.draft-result { border-top:1px solid var(--line); margin-top:var(--space-5); padding-top:var(--space-4); font-size:var(--text-small); }
.draft-link { display:inline-flex; align-items:center; min-height:44px; color:var(--accent); gap:var(--space-2); font-weight:700; }
summary { cursor:pointer; min-height:44px; padding-block:var(--space-3); color:var(--muted); }
details textarea { font-size:var(--text-small); }
details p { margin-top:var(--space-2); overflow-wrap:anywhere; }
@media(max-width:800px) {
  body { background:#873653; }
  .landing { grid-template-columns:1fr; gap:var(--space-8); max-width:none; padding:0 0 var(--space-8); }
  .intro { text-align:center; padding:var(--space-8) var(--space-5); background:#703353; }
  .logo { width:240px; height:auto; margin:0 auto var(--space-5); }
  .description { margin-top:var(--space-4); }
  .social-links { justify-content:center; }
  .booking-panel { padding:var(--space-6); width:calc(100% - 40px); max-width:540px; margin-inline:auto; }
}
@media(max-width:390px) {
  .booking-panel { padding:var(--space-5); width:calc(100% - 32px); }
  .field-row { grid-template-columns:1fr; gap:0; }
}
