:root {
      --navy:#0a1f3d;
      --navy-2:#132f56;
      --gold:#c9a96a;
      --gold-dark:#8a6d3b;
      --ink:#172231;
      --muted:#5e6a78;
      --line:#dde4ea;
      --paper:#ffffff;
      --warm:#f7f3ec;
      --soft:#f3f7f9;
      --ok:#1d6b55;
      --warn:#8d5a10;
      --shadow:0 18px 55px rgba(10,31,61,.12);
      --radius:18px;
    }
    * { box-sizing:border-box; }
    html { scroll-behavior:smooth; }
    body {
      margin:0;
      color:var(--ink);
      background:#fff;
      font-family:Arial,Helvetica,sans-serif;
      line-height:1.6;
    }
    a { color:var(--navy); text-underline-offset:3px; }
    a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible {
      outline:3px solid var(--gold);
      outline-offset:3px;
    }
    .skip { position:absolute; left:-9999px; top:8px; z-index:100; background:#fff; padding:10px 14px; }
    .skip:focus { left:8px; }
    .testbar {
      background:#7a4100;
      color:#fff;
      text-align:center;
      padding:8px 16px;
      font-size:.87rem;
      letter-spacing:.02em;
    }
    .testbar strong { color:#fff3ce; }
    header { background:var(--navy); color:#fff; position:sticky; top:0; z-index:20; }
    .navwrap {
      width:min(1180px, calc(100% - 32px));
      margin:auto;
      min-height:76px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }
    .brand { color:#fff; text-decoration:none; display:flex; align-items:center; gap:12px; font-weight:800; letter-spacing:.04em; }
    .brandmark { width:40px; height:40px; border:2px solid var(--gold); border-radius:50%; display:grid; place-items:center; color:var(--gold); font-family:Georgia,serif; }
    .brand small { display:block; color:#d7deea; font-weight:400; letter-spacing:.01em; }
    nav { display:flex; align-items:center; gap:4px; }
    nav > a, nav summary { color:#fff; text-decoration:none; padding:12px 13px; border-radius:8px; cursor:pointer; font-weight:700; list-style:none; }
    nav > a:hover, nav summary:hover, nav details[open] summary { background:rgba(255,255,255,.1); }
    nav summary::-webkit-details-marker { display:none; }
    .tariffs { position:relative; }
    .tariffmenu {
      position:absolute;
      right:0;
      top:50px;
      min-width:270px;
      padding:8px;
      border:1px solid rgba(201,169,106,.55);
      border-radius:12px;
      background:#fff;
      box-shadow:var(--shadow);
    }
    .tariffmenu a { display:block; padding:10px 12px; color:var(--ink); text-decoration:none; border-radius:8px; }
    .tariffmenu a:hover { background:var(--soft); }
    .tariffmenu a.active { background:var(--warm); border-left:4px solid var(--gold); font-weight:800; }
    .navcta { background:var(--gold); color:var(--navy) !important; }
    .mobilelabel { display:none; }
    main { overflow:hidden; }
    .hero {
      position:relative;
      color:#fff;
      background:
        radial-gradient(circle at 82% 28%, rgba(201,169,106,.25), transparent 23%),
        linear-gradient(132deg, #07182d 0%, #0a1f3d 55%, #183b67 100%);
    }
    .hero:after {
      content:"";
      position:absolute;
      width:420px;
      height:420px;
      right:-120px;
      bottom:-230px;
      border:1px solid rgba(201,169,106,.35);
      border-radius:50%;
      box-shadow:0 0 0 42px rgba(201,169,106,.05), 0 0 0 92px rgba(201,169,106,.035);
    }
    .hero .inner {
      position:relative;
      z-index:1;
      width:min(1100px, calc(100% - 32px));
      margin:auto;
      padding:76px 0 64px;
      display:grid;
      grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);
      gap:48px;
      align-items:center;
    }
    .eyebrow { color:#826432; font-size:.82rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; margin:0 0 12px; }
    .hero .eyebrow { color:#f0cf8d; }
    h1,h2,h3 { font-family:Georgia,"Times New Roman",serif; color:var(--navy); line-height:1.2; }
    h1 { color:#fff; font-size:clamp(2.15rem,5vw,4.25rem); margin:0 0 20px; max-width:830px; }
    h2 { font-size:clamp(1.65rem,3.4vw,2.55rem); margin:0 0 16px; }
    h3 { font-size:1.22rem; margin:0 0 8px; }
    .lead { font-size:clamp(1.05rem,1.7vw,1.25rem); color:#edf2f8; max-width:760px; margin:0 0 28px; }
    .actions { display:flex; flex-wrap:wrap; gap:12px; }
    .button { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:12px 20px; border-radius:999px; font-weight:800; text-decoration:none; border:2px solid transparent; cursor:pointer; }
    .button.primary { background:var(--gold); color:var(--navy); }
    .button.secondary { color:#fff; border-color:rgba(255,255,255,.65); }
    .button.dark { background:var(--navy); color:#fff; border:none; }
    .button.ghost { color:var(--navy); border-color:var(--navy); }
    .hero-card { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(8px); border-radius:var(--radius); padding:24px; }
    .hero-card h2 { color:#fff; font-size:1.35rem; }
    .hero-card ul { list-style:none; padding:0; margin:16px 0 0; }
    .hero-card li { position:relative; padding:10px 0 10px 28px; border-top:1px solid rgba(255,255,255,.14); }
    .hero-card li:before { content:"✓"; position:absolute; left:0; color:var(--gold); font-weight:900; }
    .section { width:min(1100px, calc(100% - 32px)); margin:auto; padding:72px 0; }
    .section.narrow { width:min(900px, calc(100% - 32px)); }
    .softband { background:var(--soft); }
    .warmband { background:var(--warm); }
    .direct-answer { margin-top:-28px; position:relative; z-index:3; background:#fff; border:1px solid var(--line); border-top:5px solid var(--gold); border-radius:var(--radius); padding:28px; box-shadow:var(--shadow); }
    .direct-answer .question { color:var(--gold-dark); font-weight:800; text-transform:uppercase; letter-spacing:.06em; font-size:.78rem; }
    .direct-answer p { font-size:1.08rem; margin:8px 0 0; }
    .facts { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:32px; }
    .fact { background:#fff; border:1px solid var(--line); border-radius:14px; padding:20px; }
    .fact .num { color:var(--gold-dark); font-weight:900; font-size:.8rem; letter-spacing:.08em; }
    .fact p { margin:8px 0 0; color:var(--muted); font-size:.94rem; }
    .two { display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:start; }
    .prose p { margin:0 0 14px; }
    .notice { background:#fff; border-left:5px solid var(--gold); border-radius:12px; padding:18px 20px; }
    .notice.warning { border-left-color:#b77419; background:#fffaf1; }
    .notice strong { color:var(--navy); }
    .costlist { margin:18px 0 0; padding:0; list-style:none; display:grid; gap:10px; }
    .costlist li { padding:12px 14px 12px 44px; border:1px solid var(--line); border-radius:12px; position:relative; background:#fff; }
    .costlist li:before { content:""; position:absolute; left:15px; top:17px; width:14px; height:14px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 5px #f5ecdb; }
    .steps { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; counter-reset:step; margin-top:28px; }
    .step { counter-increment:step; border:1px solid var(--line); border-radius:14px; padding:20px; background:#fff; }
    .step:before { content:counter(step); display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:var(--gold); background:var(--navy); font-weight:900; margin-bottom:12px; }
    .step p { color:var(--muted); margin:0; font-size:.94rem; }
    .premium-media {
      margin:34px 0 0;
      overflow:hidden;
      background:#fff;
      border:1px solid var(--line);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
    }
    .premium-media.compact { margin:0; }
    .premium-media picture { display:block; background:#e9edf1; }
    .premium-media img { display:block; width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; }
    .premium-media figcaption { padding:16px 18px 18px; color:var(--muted); font-size:.92rem; }
    .premium-media figcaption strong { display:block; margin-bottom:3px; color:var(--navy); font-family:Georgia,"Times New Roman",serif; font-size:1.08rem; }
    .premium-media .media-tag { color:var(--gold-dark); font-family:Arial,Helvetica,sans-serif; font-size:.72rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
    .form-card { background:#fff; border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; }
    .form-head { padding:24px 28px; background:var(--navy); color:#fff; }
    .form-head h2 { color:#fff; font-size:1.5rem; }
    .form-head p { margin:6px 0 0; color:#dae3ef; }
    form { padding:28px; }
    .inquiry-intro { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr); gap:30px; align-items:start; margin-bottom:26px; }
    .offer-form-card { max-width:1000px; margin:0 auto; }
    .form-progress { display:grid; grid-template-columns:repeat(6,1fr); gap:1px; background:#294362; border-bottom:1px solid #294362; }
    .progress-step { min-width:0; padding:12px 8px; background:#102b4c; color:#c8d3e0; text-align:center; font-size:.72rem; line-height:1.25; }
    .progress-step b { display:grid; place-items:center; width:28px; height:28px; margin:0 auto 5px; border:1px solid #6f8298; border-radius:50%; color:#fff; }
    .progress-step.active { background:#fff; color:var(--navy); font-weight:800; }
    .progress-step.active b { background:var(--gold); border-color:var(--gold); color:var(--navy); }
    .progress-step.done b { background:var(--ok); border-color:var(--ok); }
    .form-step[hidden], .conditional[hidden] { display:none !important; }
    .offer-fieldset { margin:0; padding:0; border:0; }
    .offer-fieldset, .formgrid, .field, .docgrid, .urn-extra { min-width:0; min-inline-size:0; }
    .offer-fieldset > legend { width:100%; margin:0 0 5px; font-family:Georgia,"Times New Roman",serif; font-size:1.55rem; line-height:1.25; }
    .step-intro { margin:0 0 22px; color:var(--muted); }
    .subhead { grid-column:1/-1; margin:8px 0 -2px; padding-top:12px; border-top:1px solid var(--line); color:var(--gold-dark); font-size:.78rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
    .formgrid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
    .field.full { grid-column:1/-1; }
    label, legend { display:block; font-weight:800; color:var(--navy); margin-bottom:6px; }
    input, select, textarea { width:100%; min-width:0; max-width:100%; min-height:48px; border:1px solid #aab7c4; border-radius:9px; padding:10px 12px; background:#fff; color:var(--ink); font:inherit; }
    textarea { min-height:118px; resize:vertical; }
    input:disabled, select:disabled, input[readonly] { background:#eef2f5; color:#536170; cursor:not-allowed; }
    .req { color:#9a3b28; }
    .optional { color:var(--muted); font-size:.78rem; font-weight:400; }
    .field-note { display:block; margin-top:5px; color:var(--muted); font-size:.78rem; font-weight:400; }
    .checkline { display:flex; align-items:flex-start; gap:10px; grid-column:1/-1; padding:13px 14px; border:1px solid var(--line); border-radius:11px; background:var(--soft); font-weight:400; }
    .checkline input { width:19px; min-height:19px; flex:0 0 19px; margin:3px 0 0; }
    .checkline strong { color:var(--navy); }
    .docgrid { display:grid; grid-template-columns:minmax(190px,1fr) minmax(220px,.85fr); gap:10px 16px; align-items:center; }
    .docgrid .doclabel { margin:0; font-weight:700; color:var(--ink); }
    .docgrid select { min-height:44px; }
    #additional_packages_grid, #additional_urn_shipment_grid, #additional_urn_case_grid { display:grid; gap:12px; }
    .package-extra, .urn-extra { margin:0; padding:15px; border-color:#c8d3df; background:#f8fafc; }
    .package-extra legend, .urn-extra legend { padding:0 6px; color:var(--gold-dark); font-size:.88rem; }
    .package-dimensions { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
    .package-dimensions .field { min-width:0; }
    .form-actions { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:26px; padding-top:20px; border-top:1px solid var(--line); }
    .form-actions .button { min-width:160px; }
    .button.muted { background:#fff; color:var(--navy); border-color:#aab7c4; }
    .step-counter { color:var(--muted); font-size:.85rem; }
    fieldset { border:1px solid var(--line); border-radius:12px; padding:14px 16px; }
    .checks { display:grid; grid-template-columns:1fr 1fr; gap:8px 18px; }
    .checks label { display:flex; align-items:flex-start; gap:8px; font-weight:400; margin:0; }
    .checks input { width:18px; min-height:18px; margin-top:4px; }
    .privacy { color:var(--muted); font-size:.86rem; margin:14px 0; }
    .result { display:none; min-width:0; margin-top:18px; padding:18px; background:#edf7f3; border:1px solid #abd8ca; border-radius:12px; overflow-wrap:anywhere; word-break:break-word; }
    .result p, .result li { min-width:0; max-width:100%; overflow-wrap:anywhere; word-break:break-word; }
    .result.show { display:block; }
    .result h3 { color:var(--ok); }
    .result h4 { margin:18px 0 5px; color:var(--navy); font-family:Georgia,"Times New Roman",serif; }
    .result ul { margin:5px 0 0; padding-left:20px; }
    .result .missing { color:#8d2d1f; }
    table { width:100%; border-collapse:collapse; margin-top:22px; background:#fff; border:1px solid var(--line); }
    th,td { padding:14px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); }
    th { background:var(--navy); color:#fff; }
    td:first-child { font-weight:800; color:var(--navy); width:31%; }
    .sourcebox { font-size:.9rem; color:var(--muted); border:1px solid var(--line); border-radius:12px; padding:16px 18px; margin-top:20px; }
    .sourcebox a { overflow-wrap:anywhere; }
    .faq { display:grid; gap:10px; margin-top:22px; }
    .faq details { border:1px solid var(--line); border-radius:12px; background:#fff; padding:0 18px; }
    .faq summary { cursor:pointer; font-weight:800; color:var(--navy); padding:16px 30px 16px 0; position:relative; }
    .faq summary:after { content:"+"; position:absolute; right:0; font-size:1.5rem; color:var(--gold-dark); top:8px; }
    .faq details[open] summary:after { content:"–"; }
    .faq p { margin:0 0 18px; }
    .finalcta { background:linear-gradient(135deg,var(--navy),var(--navy-2)); border-radius:var(--radius); color:#fff; padding:38px; display:flex; gap:26px; align-items:center; justify-content:space-between; }
    .finalcta h2 { color:#fff; }
    .finalcta p { margin:0; color:#dde6f1; max-width:700px; }
    footer { background:#061528; color:#cdd6e1; padding:42px 0; }
    footer .inner { width:min(1100px, calc(100% - 32px)); margin:auto; display:grid; grid-template-columns:1.5fr 1fr 1fr; gap:28px; }
    footer h2 { color:#fff; font-size:1.1rem; }
    footer a { color:#e8edf3; }
    footer ul { list-style:none; margin:0; padding:0; }
    footer li { margin:7px 0; }
    .legal { grid-column:1/-1; padding-top:22px; border-top:1px solid rgba(255,255,255,.14); font-size:.85rem; }
    @media (max-width:900px) {
      .hero .inner, .two, .inquiry-intro { grid-template-columns:1fr; }
      .facts { grid-template-columns:1fr 1fr; }
      .steps { grid-template-columns:1fr 1fr; }
      .navwrap { align-items:flex-start; padding:14px 0; }
      .mobilelabel { display:block; color:#fff; background:none; border:1px solid rgba(255,255,255,.5); padding:9px 12px; border-radius:8px; }
      nav { display:none; position:absolute; top:68px; left:16px; right:16px; background:var(--navy); padding:12px; border:1px solid rgba(201,169,106,.55); flex-direction:column; align-items:stretch; box-shadow:var(--shadow); }
      nav.open { display:flex; }
      nav > a, nav summary { display:block; width:100%; }
      .tariffmenu { position:static; margin-top:4px; box-shadow:none; }
      .form-progress { grid-template-columns:repeat(3,1fr); }
      .package-dimensions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    }
    @media (max-width:640px) {
      .testbar { font-size:.78rem; }
      .navwrap { width:calc(100% - 20px); gap:8px; }
      .brand { font-size:.82rem; letter-spacing:.01em; gap:7px; min-width:0; }
      .brandmark { width:34px; height:34px; flex:0 0 34px; }
      .brand small { display:none; }
      .mobilelabel { flex:0 0 auto; padding:8px 9px; }
      .hero .inner { padding:54px 0 48px; gap:26px; }
      .section { padding:52px 0; }
      .facts, .steps, .formgrid, .checks, footer .inner { grid-template-columns:1fr; }
      .docgrid { grid-template-columns:minmax(0,1fr); }
      .field.full { grid-column:auto; }
      .direct-answer { padding:22px; }
      .form-head, form { padding:22px; }
      table, thead, tbody, tr, th, td { display:block; }
      thead { position:absolute; left:-9999px; }
      tr { border-bottom:1px solid var(--line); padding:10px 0; }
      td { border:0; padding:8px 14px; }
      td:first-child { width:auto; }
      .finalcta { padding:28px 22px; align-items:stretch; flex-direction:column; }
      .button { width:100%; }
      .premium-media figcaption { padding:14px 15px 16px; }
      .form-progress { grid-template-columns:repeat(2,1fr); }
      .progress-step { padding:9px 6px; }
      .progress-step b { width:25px; height:25px; }
      .subhead, .checkline { grid-column:auto; }
      .package-dimensions { grid-template-columns:1fr; }
      .form-actions { flex-direction:column; align-items:stretch; }
      .step-counter { text-align:center; }
    }


/* Produktionsformular */
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.submit-panel{margin:0 28px 28px;padding:22px;border:1px solid #c9a96a;border-radius:12px;background:#fffaf0}
.submit-panel[hidden]{display:none}
.submit-panel p{margin:0 0 14px}
.submit-note{font-size:.88rem;color:var(--muted)}
.source-date{display:block;margin-top:8px;color:var(--muted);font-size:.9rem}
.brand-logo{display:block;width:min(330px,42vw);height:auto}
.form-subhead{margin-bottom:12px}
.notice-top{margin-top:22px}
.full-grid{grid-column:1/-1}
form[aria-busy="true"]{opacity:.75;pointer-events:none}
@media (max-width:700px){.submit-panel{margin:0 16px 20px;padding:18px}.brand-logo{width:min(245px,68vw)}}
