:root { --red:#820324; --gold:#b59f60; --cream:#f2ead9; --dark:#160d10; --ink:#1a1114; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:Arial,Helvetica,sans-serif; }
button,input,select,textarea { font:inherit; }
.request-page { min-height:100svh; }
.request-header { display:grid; min-height:100px; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; padding:10px clamp(20px,5vw,80px); background:#0e090b; color:#d9c987; }
.request-header>a:first-child { width:72px; height:72px; }.request-header img { width:100%; height:100%; object-fit:contain; }.request-header>span { font-family:Georgia,serif; font-size:.95rem; }.request-header>a:last-child { justify-self:end; color:inherit; font-size:.6rem; font-weight:800; letter-spacing:.14em; text-decoration:none; text-transform:uppercase; }
.request-hero { position:relative; display:grid; min-height:620px; grid-template-columns:56% 44%; overflow:hidden; background:var(--red); color:#eadcaf; }
.request-hero figure { position:relative; margin:0; overflow:hidden; }.request-hero figure::after { position:absolute; inset:0; background:linear-gradient(90deg,transparent 55%,rgba(130,3,36,.78)); content:''; }.request-hero img { width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.request-hero>div { position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:70px clamp(28px,6vw,100px) 70px 0; }.request-hero p,.intro>p,.hotel-view p { margin:0 0 20px; font-size:.62rem; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }.request-hero h1 { margin:0; font-family:Georgia,serif; font-size:clamp(4rem,7vw,8rem); font-weight:400; letter-spacing:-.07em; line-height:.83; }.request-hero h1 em { color:var(--gold); font-weight:400; }.request-hero>div>span { max-width:520px; margin-top:34px; font-family:Georgia,serif; font-size:1.16rem; line-height:1.6; }
.request-area { padding:clamp(90px,10vw,150px) clamp(20px,6vw,90px); background:var(--dark); color:#f3ecdc; }.intro { max-width:1050px; margin-bottom:58px; }.intro>p { color:var(--gold); }.intro h2 { max-width:850px; margin:0; font-family:Georgia,serif; font-size:clamp(3rem,5.6vw,6.5rem); font-weight:400; letter-spacing:-.065em; line-height:.9; }.intro>span { display:block; max-width:720px; margin-top:28px; font-family:Georgia,serif; font-size:1.15rem; line-height:1.65; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); border-block:1px solid rgba(243,236,220,.2); }.steps button { display:flex; gap:14px; padding:22px 16px; border:0; border-right:1px solid rgba(243,236,220,.2); background:transparent; color:rgba(243,236,220,.45); cursor:pointer; text-align:left; }.steps button:last-child { border-right:0; }.steps button:disabled { color:rgba(243,236,220,.2); cursor:not-allowed; }.steps button.is-active,.steps button.is-complete { color:var(--gold); }.steps b { font-family:Georgia,serif; }.steps span { font-size:.64rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.form-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr); gap:clamp(40px,6vw,90px); margin-top:55px; }fieldset { min-width:0; margin:0; padding:0; border:0; }legend { display:flex; gap:18px; font-family:Georgia,serif; font-size:clamp(2.5rem,4vw,4.8rem); letter-spacing:-.045em; }legend span { color:var(--gold); }fieldset>p { margin:14px 0 36px; line-height:1.6; opacity:.7; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px 18px; }.form-grid label { display:grid; gap:9px; }.form-grid label>span { font-size:.6rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.form-grid input,.form-grid select,.form-grid textarea { width:100%; min-height:52px; padding:13px 14px; border:1px solid rgba(243,236,220,.3); border-radius:0; background:rgba(255,255,255,.035); color:inherit; }.form-grid select option { background:var(--dark); }.form-grid textarea { resize:vertical; line-height:1.5; }.full { grid-column:1/-1; }.consent { grid-template-columns:auto 1fr!important; align-items:center; }.consent input { width:20px; min-height:20px; accent-color:var(--gold); }.consent span { line-height:1.5; text-transform:none!important; }.actions { display:flex; justify-content:space-between; gap:18px; margin-top:34px; }.actions.end { justify-content:flex-end; }.actions button,.submit { display:inline-flex; justify-content:space-between; gap:18px; padding:15px 22px; border:1px solid var(--gold); background:var(--gold); color:var(--dark); cursor:pointer; font-size:.61rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }.actions .back { border-color:rgba(243,236,220,.3); background:transparent; color:inherit; }.submit { margin-top:30px; }fieldset>small { display:block; max-width:650px; margin-top:14px; line-height:1.5; opacity:.58; }.error { padding:14px 17px; border:1px solid #e2a9a9; color:#ffd5d5; opacity:1!important; }
.website-field { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.submit:disabled { cursor:wait; opacity:.72; }
.submit-status { max-width:650px; margin:18px 0 0; padding:16px 18px; border:1px solid currentColor; font-family:Georgia,serif; line-height:1.5; opacity:1!important; }
.submit-status.is-success { border-color:#8da974; background:rgba(141,169,116,.12); color:#d9e8ca; }
.submit-status.is-error { border-color:#d79090; background:rgba(215,144,144,.1); color:#ffd5d5; }
.summary { align-self:start; position:sticky; top:25px; background:#f3ecdc; color:var(--dark); }.summary figure { position:relative; height:260px; overflow:hidden; margin:0; }.summary figure img { width:100%; height:100%; object-fit:cover; }.summary figcaption { position:absolute; right:12px; bottom:10px; padding:6px 8px; background:rgba(12,7,9,.66); color:white; font-size:.48rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }.summary>div { padding:28px; }.summary p { margin:0 0 8px; color:var(--red); font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }.summary h3 { margin:0 0 22px; font-family:Georgia,serif; font-size:2rem; font-weight:400; }.summary dl { margin:0; border-top:1px solid rgba(18,13,15,.18); }.summary dl div { display:flex; justify-content:space-between; gap:20px; padding:13px 0; border-bottom:1px solid rgba(18,13,15,.18); }.summary dt { opacity:.6; }.summary dd { margin:0; text-align:right; }.summary small { display:block; margin-top:20px; line-height:1.55; opacity:.65; }
.hotel-view { position:relative; min-height:520px; overflow:hidden; }.hotel-view>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.hotel-view::after { position:absolute; inset:0; background:linear-gradient(90deg,rgba(15,8,10,.78),rgba(15,8,10,.08)); content:''; }.hotel-view>div { position:relative; z-index:2; max-width:750px; padding:clamp(100px,13vw,180px) clamp(28px,8vw,130px); color:white; }.hotel-view h2 { margin:0; font-family:Georgia,serif; font-size:clamp(3rem,6vw,7rem); font-weight:400; letter-spacing:-.06em; line-height:.9; }
@media(max-width:900px){.request-hero{grid-template-columns:1fr}.request-hero figure{min-height:500px}.request-hero figure::after{background:linear-gradient(0deg,rgba(130,3,36,.9),transparent 58%)}.request-hero>div{margin-top:-190px;padding:70px 28px;}.form-layout{grid-template-columns:1fr}.summary{position:static;max-width:540px}}
@media(max-width:620px){.request-header{grid-template-columns:1fr auto}.request-header>span{display:none}.request-header>a:first-child{width:60px;height:60px}.request-hero figure{min-height:420px}.request-hero h1{font-size:clamp(3.8rem,18vw,6rem)}.steps button{flex-direction:column;gap:5px;padding:16px 8px}.steps span{font-size:.52rem}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.actions{align-items:stretch;flex-direction:column-reverse}.actions button,.submit{width:100%}.summary figure{height:220px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
