:root{
  --request-container:1240px;
  --request-card-radius:26px;
}
.request-page{min-height:100vh;background:
  radial-gradient(circle at 18% 8%,var(--accent-soft),transparent 34rem),
  radial-gradient(circle at 92% 12%,rgba(227,167,47,.08),transparent 28rem),var(--bg);color:var(--text)}
.request-page .container{width:min(calc(100% - 40px),var(--request-container));margin-inline:auto}
.request-header{position:sticky;top:0;z-index:80;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(18px)}
.request-header-inner{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.request-tools{display:flex;align-items:center;gap:9px}
.request-tools select,.request-theme,.request-client{min-height:42px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font-weight:800}
.request-tools select{width:auto;max-width:150px;padding:0 34px 0 12px}
.request-theme{width:42px;display:grid;place-items:center;cursor:pointer}
.request-client{display:inline-flex;align-items:center;padding:0 14px}
.request-hero{padding:64px 0 34px}
.request-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:34px;align-items:end}
.request-hero h1{max-width:900px;margin:12px 0 16px;font-size:clamp(2.6rem,6vw,5.5rem);line-height:.98;letter-spacing:-.055em;color:var(--text)}
.request-hero p{max-width:760px;margin:0;color:var(--text-soft);font-size:1.05rem;line-height:1.85}
.request-privacy{padding:24px;border:1px solid var(--line);border-radius:22px;background:var(--surface-raised);box-shadow:var(--shadow-sm)}
.request-privacy strong{display:block;margin-bottom:8px;color:var(--text)}
.request-privacy p{font-size:.91rem;line-height:1.75}
.request-content{padding:24px 0 80px}
.request-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,340px);gap:28px;align-items:start}
.request-form,.request-side{min-width:0;border:1px solid var(--line);border-radius:var(--request-card-radius);background:var(--surface);box-shadow:var(--shadow-md)}
.request-form{padding:30px}
.request-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.request-grid label{display:grid;gap:8px;min-width:0;color:var(--text);font-size:.88rem;font-weight:780}
.request-grid input,.request-grid select,.request-grid textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft);color:var(--text);padding:13px 14px;outline:none;transition:border-color .18s,box-shadow .18s,background .18s}
.request-grid input,.request-grid select{min-height:52px}
.request-grid textarea{min-height:180px;resize:vertical;line-height:1.7}
.request-grid input::placeholder,.request-grid textarea::placeholder{color:var(--text-faint)}
.request-grid input:focus,.request-grid select:focus,.request-grid textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);background:var(--surface)}
.request-grid input[readonly]{opacity:.78;cursor:not-allowed}
.request-span-2{grid-column:span 2}
.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}
.request-consent{display:flex;align-items:flex-start;gap:10px;margin:23px 0;color:var(--text-soft);font-size:.88rem;line-height:1.65}
.request-consent input{width:18px;height:18px;margin-top:3px;accent-color:var(--accent-button);flex:0 0 auto}
.request-submit{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.request-submit .button{min-width:150px}
.request-status{margin-top:18px;padding:0;border-radius:14px;color:var(--text-soft);font-weight:750;transition:.2s}
.request-status:not(:empty){padding:14px 16px;border:1px solid var(--line);background:var(--surface-soft)}
.request-status.pending{color:var(--text-soft)}
.request-status.success{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 34%,transparent);background:var(--accent-soft)}
.request-status.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 9%,var(--surface))}
.request-portal-action{margin-top:12px}
.request-side{position:sticky;top:98px;padding:26px}
.request-side h2{margin:0 0 13px;font-size:1.45rem;line-height:1.35;color:var(--text)}
.request-side>p{margin:0 0 22px;color:var(--text-soft)}
.request-side dl{display:grid;gap:10px;margin:0}
.request-side dl>div{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft);overflow-wrap:anywhere}
.request-side dt{margin-bottom:4px;color:var(--text-faint);font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}
.request-side dd{margin:0;color:var(--text);font-weight:850}
.request-footer{border-top:1px solid var(--line);padding:24px 0;color:var(--text-faint);font-size:.82rem}
html[data-theme="dark"] .request-form,html[data-theme="dark"] .request-side,html[data-theme="dark"] .request-privacy{box-shadow:0 22px 60px rgba(0,0,0,.28)}
@media(max-width:980px){
  .request-hero-grid,.request-layout{grid-template-columns:1fr}
  .request-side{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:20px}
  .request-side dl{grid-column:2;grid-row:1 / span 2}
}
@media(max-width:720px){
  .request-page .container{width:min(calc(100% - 24px),var(--request-container))}
  .request-header-inner{min-height:66px}
  .request-header .brand-copy small{display:none}
  .request-tools{gap:6px}
  .request-client{display:none}
  .request-tools select{max-width:118px;font-size:.8rem}
  .request-hero{padding:42px 0 20px}
  .request-hero h1{font-size:clamp(2.25rem,12vw,4rem)}
  .request-content{padding-top:14px}
  .request-form,.request-side{border-radius:21px}
  .request-form{padding:20px}
  .request-grid{grid-template-columns:1fr;gap:15px}
  .request-span-2{grid-column:auto}
  .request-side{display:block;padding:21px}
  .request-side dl{margin-top:18px}
  .request-submit{display:grid;grid-template-columns:1fr}
  .request-submit .button{width:100%}
}
@media(max-width:390px){
  .request-page .container{width:calc(100% - 18px)}
  .request-tools select{max-width:104px;padding-left:8px}
  .request-form{padding:16px}
  .request-grid input,.request-grid select,.request-grid textarea{border-radius:12px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
