/* Lead-page layout with tankanlagen.com's existing navy/copper identity. */
.awsv-page { color:var(--text); }
.awsv-hero { padding:148px 32px 78px; background:linear-gradient(90deg,transparent 99%,rgba(28,58,90,.035) 99%),linear-gradient(transparent 99%,rgba(28,58,90,.035) 99%),var(--paper); background-size:48px 48px; border-bottom:1px solid var(--rule); }
.awsv-hero-inner { max-width:1200px; margin:auto; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:64px; align-items:start; }
.awsv-hero-copy { padding-top:30px; }
.awsv-eyebrow { font-size:.68rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--copper-dark); display:flex; align-items:center; gap:10px; margin-bottom:22px; }
.awsv-eyebrow>span { width:7px; height:7px; background:var(--copper); border-radius:50%; flex:none; }
.awsv-hero h1 { font-family:var(--serif); font-size:clamp(3.2rem,5.1vw,4.65rem); font-weight:500; letter-spacing:-.035em; line-height:1.05; color:var(--navy); margin:0 0 25px; }
.awsv-hero h1 em { font-weight:400; color:var(--copper-dark); }
.awsv-subline { max-width:510px; font-size:1.08rem; line-height:1.75; color:var(--text-mid); margin:0 0 29px; }
.awsv-benefits { list-style:none; display:grid; gap:13px; margin:0; padding:0; font-size:.91rem; line-height:1.5; }
.awsv-benefits li { display:flex; align-items:flex-start; gap:12px; }
.awsv-benefits svg { width:22px; height:22px; color:var(--copper-dark); flex:none; }
.awsv-signature { display:flex; align-items:center; gap:18px; margin-top:38px; font-size:.75rem; color:var(--text-mid); line-height:1.8; }
.awsv-signature-rule { width:38px; height:1px; background:var(--copper); flex:none; }
.awsv-signature strong { font-weight:500; }
.awsv-form-wrapper { min-width:0; scroll-margin-top:100px; }
.awsv-form-card { border:1px solid #dcd7cf; border-radius:14px; box-shadow:0 18px 50px rgba(28,58,90,.09); }
.awsv-form-heading { padding:25px 28px 22px; background:var(--navy); color:white; }
.awsv-form-heading .awsv-form-kicker { font-size:.65rem; letter-spacing:.14em; text-transform:uppercase; color:#e9cbb7; font-weight:600; margin-bottom:5px; }
.awsv-form-heading h2 { font-family:var(--sans); font-size:1.18rem; font-weight:650; line-height:1.4; color:white; margin:0 0 6px; letter-spacing:-.025em; }
.awsv-form-heading>p:last-child { font-size:.78rem; color:#e3e9ee; }
.awsv-form-card .ms-progress-fill { background:var(--copper); }
.awsv-form-card .ms-step-info { color:var(--text-mid); font-size:.66rem; letter-spacing:.09em; padding:20px 27px 0; }
.awsv-form-card .ms-slide { padding:17px 27px 23px; }
.awsv-form-card .ms-slides { align-items:flex-start; }
.awsv-form-card .ms-question { font-size:1.04rem; color:var(--navy); line-height:1.45; margin-bottom:17px; }
.awsv-form-card .ms-option { color:var(--navy); border:1px solid #dadfe3; border-radius:8px; padding:12px 14px; gap:13px; min-height:63px; font-size:.86rem; line-height:1.4; }
.awsv-form-card .ms-option-icon { display:flex; align-items:center; justify-content:center; width:35px; height:35px; color:var(--navy); flex:none; }
.awsv-form-card .ms-option-icon svg { width:31px; height:31px; }
.awsv-form-card .ms-option:hover,.awsv-form-card .ms-option.selected { background:#faf4ed; border-color:var(--copper); }
.awsv-form-card .ms-option:hover .ms-option-chevron { color:var(--copper-dark); }
.awsv-form-card .ms-option-chevron { color:var(--text-mid); }
.awsv-form-card .ms-back { color:var(--text-mid); font-size:.78rem; padding:8px 4px; min-height:40px; margin-top:12px; }
.awsv-form-card .ms-field label { font-size:.8rem; color:var(--text); line-height:1.4; }
.awsv-form-card .ms-field label span { font-weight:400; }
.awsv-form-card .ms-fields { gap:14px; }
.awsv-form-card .ms-field-row { display:flex; gap:12px; }
.awsv-form-card .ms-field-row>.ms-field { flex:1; min-width:0; }
.awsv-form-card .ms-field input { border:1px solid #b8c0c8; border-radius:6px; font-size:1rem; padding:11px 12px; line-height:1.5; }
.awsv-form-card .ms-field input::placeholder { color:#687480; }
.awsv-form-card .ms-field input:focus { border-color:var(--navy); box-shadow:0 0 0 3px rgba(28,58,90,.1); }
.awsv-form-card .ms-field-hint { color:var(--text-mid); font-size:.74rem; }
.awsv-form-card .ms-next-btn,.awsv-form-card .ms-submit,.awsv-button { display:flex; align-items:center; justify-content:center; gap:13px; background:var(--copper-dark); color:#fff; border:0; border-radius:6px; padding:15px 16px; min-height:50px; font-family:var(--sans); font-size:.87rem; font-weight:650; line-height:1.5; text-decoration:none; cursor:pointer; box-shadow:none; }
.awsv-form-card .ms-next-btn:hover,.awsv-form-card .ms-submit:hover,.awsv-button:hover { background:#743d15; transform:none; }
.awsv-form-card .ms-submit:disabled { opacity:.65; cursor:wait; }
.awsv-form-card .ms-privacy { font-size:.67rem; line-height:1.6; color:var(--text-mid); margin:0; }
.awsv-form-card .ms-privacy a { color:var(--navy); text-decoration:underline; }
.awsv-no-booking { color:var(--text-mid); font-size:.67rem; line-height:1.5; text-align:center; }
.awsv-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.awsv-form-footer { display:flex; gap:7px; align-items:center; justify-content:center; color:var(--text-mid); font-size:.65rem; margin-top:15px; }
.awsv-form-footer svg { width:15px; height:15px; flex:none; }
.awsv-no-js { padding:20px; }
.awsv-mobile-cta { display:none; }
.awsv-content-inner { max-width:1120px; margin:auto; }
.awsv-process,.awsv-information,.awsv-faq,.awsv-final { padding:75px 32px; }
.awsv-process { background:white; border-bottom:1px solid var(--rule); }
.awsv-page h2,.awsv-thanks h1 { font-family:var(--serif); font-size:clamp(2.1rem,3.6vw,3rem); color:var(--navy); font-weight:500; letter-spacing:-.02em; line-height:1.15; }
.awsv-page .awsv-form-heading h2 { font-family:var(--sans); font-size:1.18rem; color:white; font-weight:650; line-height:1.4; }
.awsv-process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin-top:40px; }
.awsv-number { display:block; color:var(--copper-dark); font-family:var(--serif); font-size:2.2rem; line-height:1; margin-bottom:20px; }
.awsv-page h3 { color:var(--navy); }
.awsv-process h3,.awsv-info-panel h3 { font-size:1rem; font-weight:650; margin-bottom:10px; }
.awsv-process p:not(.awsv-eyebrow),.awsv-information p:not(.awsv-eyebrow) { color:var(--text-mid); font-size:.94rem; line-height:1.8; }
.awsv-information-grid { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; }
.awsv-information h2 { margin-bottom:22px; }
.awsv-info-panel { padding:32px; border-left:2px solid var(--copper); background:#efede8; }
.awsv-info-panel p+p { margin-top:18px; }
.awsv-text-link { display:inline-block; color:var(--copper-dark); font-size:.84rem; font-weight:650; margin-top:24px; text-decoration:underline; text-underline-offset:5px; }
.awsv-faq { background:white; }
.awsv-faq .awsv-content-inner { max-width:850px; }
.awsv-faq-list { margin-top:32px; border-top:1px solid var(--rule); }
.awsv-faq details { border-bottom:1px solid var(--rule); }
.awsv-faq summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0; font-size:.94rem; font-weight:600; color:var(--navy); }
.awsv-faq summary::-webkit-details-marker { display:none; }
.awsv-faq summary span { font-size:1.5rem; color:var(--copper-dark); font-weight:400; }
.awsv-faq details[open] summary span { transform:rotate(45deg); }
.awsv-faq details>p { font-size:.91rem; color:var(--text-mid); padding:0 30px 24px 0; line-height:1.8; }
.awsv-source { font-size:.69rem; color:var(--text-mid); margin-top:25px; }
.awsv-source a { color:inherit; }
.awsv-final { background:var(--navy); text-align:center; }
.awsv-final .awsv-eyebrow { justify-content:center; color:#e9cbb7; }
.awsv-final h2 { color:#fff; }
.awsv-final p:not(.awsv-eyebrow) { color:#e3e9ee; margin:20px auto 25px; font-size:.95rem; }
.awsv-final .awsv-button { display:inline-flex; background:#fff; color:var(--navy); }
.awsv-thanks { min-height:75vh; padding:160px 32px 90px; }
.awsv-thanks .awsv-content-inner { max-width:750px; }
.awsv-thanks p:not(.awsv-eyebrow) { margin-top:25px; }
.awsv-thanks .awsv-button { display:inline-flex; margin-top:30px; }
.awsv-page :is(a,button,summary):focus-visible,.awsv-thanks a:focus-visible { outline:3px solid var(--navy); outline-offset:4px; }
.awsv-final a:focus-visible { outline-color:#fff; }
.awsv-form-card .ms-field input.ms-field-error { border:2px solid #b42318; }
@media(max-width:1100px) { .awsv-hero-inner { gap:35px; } .awsv-hero h1 { font-size:3.55rem; } .awsv-information-grid { gap:40px; } }
@media(max-width:899px) {
  .awsv-hero { padding:110px 22px 45px; }
  .awsv-hero-inner { grid-template-columns:1fr; gap:32px; max-width:580px; }
  .awsv-hero-copy { padding-top:0; }
  .awsv-hero h1 { font-size:clamp(2.85rem,7vw,3.8rem); margin-bottom:20px; }
  .awsv-eyebrow { font-size:.61rem; margin-bottom:18px; letter-spacing:.1em; }
  .awsv-subline { font-size:.96rem; line-height:1.7; margin-bottom:22px; }
  .awsv-benefits { font-size:.82rem; gap:10px; }
  .awsv-signature { display:none; }
  .awsv-mobile-cta { display:inline-flex; color:var(--copper-dark); font-size:.85rem; font-weight:650; gap:20px; margin-top:22px; text-underline-offset:5px; }
  .awsv-process,.awsv-information,.awsv-faq,.awsv-final { padding:48px 22px; }
  .awsv-process-grid,.awsv-information-grid { grid-template-columns:1fr; gap:30px; }
  .awsv-process-grid article { padding-left:52px; position:relative; }
  .awsv-number { position:absolute; left:0; top:4px; font-size:1.8rem; }
  .awsv-info-panel { padding:24px; }
}
@media(max-width:420px) {
  .awsv-hero { padding-left:18px; padding-right:18px; }
  .awsv-form-heading { padding:22px 19px; }
  .awsv-form-card .ms-slide { padding:16px 18px 20px; }
  .awsv-form-card .ms-step-info { padding-left:18px; padding-right:18px; }
  .awsv-form-card .ms-submit { font-size:.81rem; padding-left:10px; padding-right:10px; gap:7px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .awsv-page *, .awsv-page *::before, .awsv-page *::after { animation:none!important; transition:none!important; }
}
