/* WordPress integration */
.capvur-wp .wp-site-blocks,.capvur-wp main{margin:0;padding:0}.capvur-wp #wpadminbar{position:fixed}.capvur-wp .cart-link{font-size:11px;font-weight:800;border-bottom:1px solid var(--ink);padding:8px 0}.capvur-live-logo,.capvur-live-text{position:absolute;z-index:8;transform:translate(-50%,-50%);object-fit:contain;max-height:120px;mix-blend-mode:multiply}.capvur-live-logo:not([src]){display:none}.capvur-live-text:empty{display:none}.capvur-qty{width:80px;margin-top:8px;padding:9px;border:1px solid #aab9bd;border-radius:5px}.business-controls h3{font-size:30px}.business-controls .lead{font-size:16px}.capvur-wp .woocommerce{max-width:1180px;margin:0 auto;padding:80px 5vw}.capvur-wp .wc-block-cart,.capvur-wp .wc-block-checkout{max-width:1180px;margin:0 auto;padding:60px 5vw}

@font-face {
  font-family:"Great Vibes";
  src:url("fonts/great-vibes.ttf") format("truetype");
  font-style:normal;
  font-weight:400;
  font-display:swap;
}

:root { --ink:#17324d; --paper:#fbf7f0; --red:#e85d4a; --muted:#667581; --line:#d9e1e2; --peach:#fbe2d6; --blue-soft:#eaf3f5; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, Helvetica, sans-serif; }
button, input { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
.nav { height:84px; display:flex; align-items:center; justify-content:space-between; padding:0 4vw; border-bottom:1px solid var(--line); position:relative; z-index:20; background:#fffdf9; }
.brand { font-weight:900; letter-spacing:.2em; font-size:20px; }.brand span { color:var(--red); }
.nav nav { display:flex; gap:34px; font-size:13px; }.nav nav a:hover { color:var(--red); }
.nav-actions { display:flex; align-items:center; gap:12px; }
.audience-switch { display:flex; align-items:center; padding:3px; border:1px solid #b8c7cc; border-radius:8px; background:#f2f6f6; }
.audience-switch a { padding:9px 11px; border-radius:5px; color:#60717c; font-size:10px; font-weight:800; white-space:nowrap; transition:background .2s,color .2s; }
.audience-switch a:hover { color:var(--ink); }
.audience-switch a.active { background:var(--ink); color:#fff; box-shadow:0 4px 10px #17324d22; }
.nav-cta,.button { border:0; cursor:pointer; font-weight:700; border-radius:6px; transition:transform .2s,box-shadow .2s,background .2s; }.nav-cta { background:var(--ink); color:white; padding:13px 20px; box-shadow:0 8px 20px #17324d1f; }.nav-cta:hover,.button:hover { transform:translateY(-2px); }
.hero { min-height:760px; display:grid; grid-template-columns:1.02fr .98fr; overflow:hidden; border-bottom:1px solid var(--line); background:linear-gradient(135deg,#fffdf9 0%,var(--paper) 100%); }
.hero-copy { padding:105px 5vw 50px; }
.eyebrow,.section-no { font-size:11px; letter-spacing:.18em; font-weight:800; }.eyebrow span { display:inline-block; width:35px; height:2px; background:var(--red); vertical-align:middle; margin-right:10px; }
h1,h2 { margin:0; font-size:clamp(56px,6vw,100px); line-height:.91; letter-spacing:-.065em; font-weight:900; }
h1 em,h2 em { font-family:Georgia,serif; font-weight:400; }.hero h1 em { color:var(--red); }
.lead { max-width:590px; font-size:19px; line-height:1.55; color:#536472; margin:35px 0; }
.hero-actions { display:flex; align-items:center; gap:30px; }.button { padding:17px 22px; }.primary { background:var(--red); color:white; box-shadow:0 12px 28px #e85d4a35; }.primary span { color:white; margin-left:30px; }
.text-link { border-bottom:1px solid var(--ink); padding:10px 0; font-size:14px; font-weight:700; }.text-link span { margin-left:14px; }
.micro-proof { margin-top:75px; display:flex; gap:25px; color:#536472; font-size:11px; }.micro-proof span:first-letter { color:var(--red); }
.hero-visual { background:#f6efe9; min-height:680px; position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.hero-private-visual { background-color:var(--paper); background-image:url("capvur-personal-full.png"); background-repeat:no-repeat; background-size:contain; background-position:center; }
.hero-brand-image { display:block; width:100%; height:100%; object-fit:contain; }
.cap { position:relative; width:440px; height:300px; filter:drop-shadow(0 28px 22px #17324d45); --cap-color:#244a68; }
.cap-top { position:absolute; left:80px; top:15px; width:290px; height:220px; background:var(--cap-color); border-radius:50% 50% 22% 18%/60% 60% 25% 25%; box-shadow:inset 30px 0 45px #ffffff1a,inset -45px -20px 55px #102b4055; z-index:2; }
.cap-panel { position:absolute; top:32px; height:190px; width:145px; z-index:3; border:1px solid #ffffff24; }.cap-panel.left { left:84px; border-radius:100% 0 20% 20%; transform:skewX(-7deg); }.cap-panel.right { left:228px; border-radius:0 100% 20% 20%; transform:skewX(7deg); }
.cap-brim { position:absolute; width:330px; height:100px; left:5px; top:195px; z-index:4; background:var(--cap-color); border-radius:80% 15% 60% 35%; transform:rotate(5deg); box-shadow:inset 0 -18px 35px #102b4055; }
.cap-mark { position:absolute; z-index:5; top:95px; left:180px; font:900 60px/1 Arial; color:#17324d; text-shadow:1px 1px #ffffff22; transform:skew(-8deg); }
.laser { position:absolute; z-index:10; width:130%; height:2px; background:var(--red); box-shadow:0 0 12px var(--red); transform:rotate(-7deg); }
.laser-one { top:48%; left:-10%; }.laser-one:after { content:""; position:absolute; width:9px; height:9px; border-radius:50%; background:#fff; box-shadow:0 0 20px 8px var(--red); left:52%; top:-4px; }
.visual-tag { position:absolute; bottom:40px; left:40px; color:var(--ink); display:flex; gap:13px; align-items:center; font-size:11px; letter-spacing:.12em; background:#fffdf9d9; padding:12px 16px; border-radius:8px; }.visual-tag b { color:var(--red); border-right:1px solid #b8c5c9; padding-right:13px; }
.statement,.process { padding:110px 5vw; }.statement { background:#fff; }.process { background:var(--blue-soft); }.section-no { color:var(--red); margin:0 0 55px; }
.statement h2,.process h2 { font-size:clamp(48px,5.5vw,84px); max-width:1050px; }.statement h2 em,.process h2 em { color:var(--red); }
.feature-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:90px; border-top:1px solid var(--line); }
.feature-grid article { padding:28px 7vw 0 0; border-right:1px solid var(--line); min-height:210px; text-align:center; transition:transform .24s ease,box-shadow .24s ease,background-color .24s ease; }.feature-grid article+article { padding-left:3vw; }.feature-grid article:last-child { border:0; }
.feature-grid b { display:flex; align-items:center; justify-content:center; min-height:42px; color:var(--red); font-family:Georgia,"Times New Roman",serif; font-size:36px; font-weight:400; line-height:1; transition:transform .24s ease; }.feature-grid h3 { font-size:24px; margin:20px 0 12px; }.feature-grid p,.steps p { color:#60717c; line-height:1.6; font-size:14px; }
.config-section { background:linear-gradient(180deg,#fff4ec 0%,var(--peach) 100%); color:var(--ink); padding:100px 5vw; }
.config-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:55px; }.config-head h2 { font-size:clamp(50px,5vw,76px); }.config-head h2 em { color:var(--red); }.config-head>p { color:#60717c; width:390px; line-height:1.6; }
.config-card { display:grid; grid-template-columns:1.15fr .85fr; min-height:700px; background:white; border-radius:20px; overflow:hidden; box-shadow:0 28px 70px #17324d1f; border:1px solid #ffffff; }
.preview-panel { position:relative; padding:25px; overflow:hidden; display:flex; flex-direction:column; background:var(--blue-soft); }.preview-inline { display:none; }.preview-label { display:flex; justify-content:space-between; color:#5d707d; font-size:10px; letter-spacing:.15em; font-weight:700; }
.cap-stage { flex:1; min-height:430px; display:flex; align-items:center; justify-content:center; position:relative; background:#fff; margin-top:20px; overflow:hidden; user-select:none; border-radius:12px; box-shadow:inset 0 0 0 1px #dce6e8; }
.product-cap { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; pointer-events:none; }
.logo-dragger { position:absolute; z-index:6; transform:translate(-50%,-50%); padding:0; border:1px dashed #37261699; background:transparent; cursor:grab; touch-action:none; line-height:0; }
.logo-dragger:focus-visible { outline:3px solid var(--red); outline-offset:3px; }.logo-dragger:active,.is-dragging .logo-dragger { cursor:grabbing; }
.uploaded-logo { display:block; width:100%; max-height:105px; object-fit:contain; pointer-events:none; filter:contrast(1.25) opacity(.86); mix-blend-mode:multiply; }
.engraving-text { display:block; color:#362214; font-weight:800; white-space:nowrap; padding:4px 8px; line-height:1.05; letter-spacing:.01em; opacity:.78; text-shadow:0 1px #fff3; mix-blend-mode:multiply; pointer-events:none; }
.drag-hint { position:absolute; left:50%; top:calc(100% + 8px); transform:translateX(-50%); background:var(--ink); color:#fff; padding:9px 10px; font-size:9px; line-height:1; white-space:nowrap; letter-spacing:.08em; opacity:0; transition:opacity .2s; border-radius:4px; }
.logo-dragger:hover .drag-hint,.logo-dragger:focus .drag-hint,.is-dragging .drag-hint { opacity:1; }
.logo-placeholder { position:absolute; z-index:6; left:50%; top:42%; transform:translate(-50%,-50%); box-sizing:border-box; color:#553b2380; border:1px dashed #553b2366; padding:14px 6px; font-size:14px; font-weight:900; letter-spacing:.08em; text-align:center; pointer-events:none; }
.capvur-motif { cursor:grab; touch-action:none; pointer-events:auto; }
.cap-stage.is-dragging .capvur-motif { cursor:grabbing; }
.capvur-live-logo { max-height:none; height:auto; filter:drop-shadow(0 1px 1px #fff3) contrast(1.12); opacity:.82; }
.drag-instruction { position:absolute; z-index:10; left:50%; bottom:12px; transform:translateX(-50%); padding:7px 10px; border-radius:99px; background:#17324dcc; color:#fff; font-size:8px; font-weight:800; letter-spacing:.05em; pointer-events:none; opacity:.78; white-space:nowrap; }
.cap-stage.is-dragging .drag-instruction { background:var(--red); opacity:1; }
.preview-tools { display:grid; grid-template-columns:auto minmax(180px,1fr); align-items:center; gap:24px; margin-top:10px; padding:12px 14px; border:1px solid #cad8db; border-radius:8px; background:#fff; }
.preview-tools div span,.preview-tools label span { display:block; margin-bottom:6px; color:#60717c; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.preview-tools strong { display:block; color:var(--ink); font-size:11px; white-space:nowrap; }
.preview-tools label { min-width:0; }
.preview-tools input[type=range] { display:block; width:100%; margin:0; }
.scan-line { position:absolute; width:80%; height:1px; background:var(--red); box-shadow:0 0 12px var(--red); top:47%; opacity:.7; }
.view-switcher { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px; }.view-switcher button { border:1px solid #cad8db; background:#fff; color:#5d707d; padding:5px; cursor:pointer; border-radius:7px; }.view-switcher button.active { border:2px solid var(--red); color:var(--ink); padding:4px; box-shadow:0 5px 14px #e85d4a20; }.view-switcher img { display:block; width:100%; aspect-ratio:1.45; object-fit:cover; background:white; border-radius:3px; }.view-switcher span { display:block; padding:5px 0 2px; font-size:9px; letter-spacing:.1em; }
.preview-note { font-size:10px; color:#60717c; margin:17px 0 0; }
.craft-notice { margin-top:15px; padding:14px 16px; background:#fffaf5; border:1px solid #dbcbbd; border-left:3px solid var(--red); border-radius:7px; color:#536472; }
.craft-notice b { display:block; color:var(--ink); font-size:11px; margin-bottom:6px; }
.craft-notice p { margin:0!important; font-size:10px!important; line-height:1.55!important; color:#60717c!important; }
.controls { background:#fffdf9; color:var(--ink); padding:36px 42px; }.controls fieldset { border:0; padding:0 0 25px; margin:0 0 25px; border-bottom:1px solid var(--line); }
.controls legend { font-weight:800; margin-bottom:20px; }.controls legend span { display:inline-grid; place-items:center; background:var(--red); color:white; width:22px; height:22px; border-radius:50%; font-size:11px; margin-right:10px; }
.product-choice { border:2px solid #b9c9cd; background:#fff; padding:8px 12px 8px 8px; display:grid; grid-template-columns:68px 1fr auto; align-items:center; gap:13px; border-radius:8px; }.product-choice small { display:block; color:#6b7a84; margin-top:5px; font-size:10px; }
.product-choice>img { width:68px; height:54px; object-fit:cover; background:white; }
.color-row { display:flex; justify-content:space-between; margin-top:18px; font-size:12px; }.color-row>div { display:flex; gap:10px; }
.swatch { width:24px; height:24px; border-radius:50%; border:3px solid #fffdf9; outline:1px solid transparent; cursor:pointer; }.swatch.active { outline-color:var(--ink); }
.upload { border:1px dashed #9eafb4; background:#fff; min-height:90px; display:grid; grid-template-columns:45px 1fr; align-content:center; padding:13px 18px; cursor:pointer; border-radius:8px; }.upload input { display:none; }.upload-icon { grid-row:1/3; width:34px; height:34px; border-radius:50%; background:var(--red); color:white; display:grid; place-items:center; }.upload b { font-size:13px; overflow:hidden; text-overflow:ellipsis; }.upload small { color:#72818a; font-size:10px; }
.design-tabs { display:grid; grid-template-columns:repeat(3,1fr); margin-bottom:12px; }.design-tabs button { border:1px solid #aab9bd; background:#fff; padding:11px 7px; cursor:pointer; font-size:10px; font-weight:700; }.design-tabs button+button { border-left:0; }.design-tabs button:first-child { border-radius:7px 0 0 7px; }.design-tabs button:last-child { border-radius:0 7px 7px 0; }.design-tabs button.active { background:var(--ink); color:white; border-color:var(--ink); }
.motif-position-note { margin:0 0 12px; padding:10px 12px; border-radius:7px; background:#eef6f7; color:#60717c; font-size:10px; }
.motif-position-note strong { color:var(--ink); }
.motif-status { margin:10px 0 0; color:#a33a30; font-size:9px; font-weight:700; }
.motif-status.complete { color:#2d7a45; }
.motif-editor[hidden] { display:none!important; }
.text-generator { display:grid; grid-template-columns:1.4fr .8fr; gap:10px; }.text-generator label>span { display:block; font-size:9px; color:#777; margin-bottom:6px; text-transform:uppercase; letter-spacing:.08em; }.text-generator input,.text-generator select { width:100%; border:1px solid #aaa; background:white; padding:12px; font-size:12px; min-height:42px; }
.template-library { border:1px solid var(--line); border-radius:9px; background:#fff; padding:12px; }
.template-library-tools { display:grid; grid-template-columns:.85fr 1.15fr; gap:8px; margin-bottom:10px; }.template-library-tools span { display:block; color:#60717c; font-size:8px; font-weight:800; letter-spacing:.08em; margin-bottom:5px; text-transform:uppercase; }.template-library-tools select,.template-library-tools input { width:100%; min-height:38px; border:1px solid #aab9bd; border-radius:6px; background:#fff; padding:8px; font-size:10px; }
.template-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; max-height:350px; overflow:auto; padding:1px 3px 3px 1px; scrollbar-width:thin; }
.template-card { min-width:0; border:1px solid #d3dcde; border-radius:7px; background:#fff; padding:8px 6px; cursor:pointer; text-align:left; transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease; }.template-card img { display:block; width:100%; height:64px; object-fit:contain; margin-bottom:7px; }.template-card span,.template-card small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.template-card span { color:var(--ink); font-size:9px; font-weight:800; }.template-card small { color:#77868e; font-size:7px; margin-top:3px; }.template-card.selected { border:2px solid var(--red); padding:7px 5px; background:#fff7f3; box-shadow:0 5px 14px #e85d4a1f; }
.template-count { margin:9px 1px 0; color:#71808a; font-size:8px; }
@media(hover:hover) and (pointer:fine){.template-card:hover { transform:translateY(-2px); border-color:var(--red); box-shadow:0 7px 16px #17324d14; }}
.placement-options { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.placement-options label { border:1px solid #aab9bd; padding:12px 10px; cursor:pointer; position:relative; border-radius:7px; background:#fff; }.placement-options label.selected { border:2px solid var(--red); padding:11px 9px; background:#fff5f0; }.placement-options input { position:absolute; opacity:0; }.placement-options span { font-size:12px; font-weight:800; display:block; }.placement-options small { font-size:9px; color:#72818a; display:block; margin-top:5px; }.placement-options label.selected small { color:var(--red); }.price-note { color:#6b7a84; font-size:10px; line-height:1.4; margin:12px 0 0; }
.placement-options label.active-position { box-shadow:0 0 0 2px var(--ink); }
.position-perspective,.active-placement-note { color:#60717c; font-size:10px; line-height:1.5; margin:12px 0 0; }
.active-placement-note { margin:0 0 15px; padding:10px 12px; background:#eef6f7; border-radius:6px; }
.position-switcher { grid-template-columns:repeat(5,minmax(0,1fr)); }
.position-switcher button { min-width:0; }
.position-switcher span { overflow-wrap:anywhere; letter-spacing:.04em; }
.mirror-cap { transform:scaleX(-1); }
.seam-guard { position:absolute; z-index:7; left:50%; top:16%; bottom:18%; width:24px; transform:translateX(-50%); border-left:2px dashed #ef5b4caa; border-right:2px dashed #ef5b4caa; background:#ef5b4c18; pointer-events:none; }
.seam-guard span { position:absolute; left:50%; bottom:8px; transform:translateX(-50%); padding:5px 7px; background:#fff8; color:#a33a30; font-size:7px; font-weight:900; line-height:1.25; text-align:center; white-space:nowrap; }
.seam-guard[hidden] { display:none; }
.position-controls label { display:grid; grid-template-columns:85px 1fr; align-items:center; font-size:11px; margin:13px 0; }input[type=range] { accent-color:var(--red); }
.order-line { display:grid; grid-template-columns:1fr 1fr; align-items:end; margin-bottom:20px; }.order-line>label { font-size:11px; }.quantity { display:flex; width:112px; margin-top:8px; border:1px solid #aaa; align-items:center; justify-content:space-between; }.quantity button { border:0; background:transparent; padding:8px 12px; cursor:pointer; }
.total { text-align:right; }.total span { display:block; font-size:10px; color:#777; }.total b { display:block; font-size:16px; margin-top:8px; }
.price-summary { border-top:1px solid #aaa; margin:0 0 20px; padding-top:10px; }.price-summary p { display:flex; justify-content:space-between; margin:8px 0; font-size:11px; }.price-summary em { color:#2d7a45; font-style:normal; margin-left:5px; }.price-summary .grand-total { align-items:end; margin-top:15px; }.price-summary .grand-total strong { font-size:27px; }
.order-preview-note { margin:0 0 15px; color:#60717c; font-size:10px; line-height:1.5; }
.add-cart { width:100%; background:var(--ink); color:#fff; font-size:15px; box-shadow:0 10px 22px #17324d25; }.add-cart span { float:right; }
.paypal { width:100%; background:#ffc439; color:#132f48; font-size:15px; box-shadow:0 10px 22px #d49b0025; }.paypal span { float:right; }.secure { display:block; text-align:center; color:#6b7a84; margin-top:12px; font-size:10px; }.notice { background:#fff3cf; border-left:3px solid #ffc439; padding:10px; font-size:11px; line-height:1.45; }
.cart-section { padding:100px 5vw; background:#fff; }
.cart-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:50px; }.cart-heading h2 { font-size:clamp(50px,5vw,76px); }.cart-heading h2 em { color:var(--red); }.cart-heading>p { width:430px; color:#60717c; line-height:1.6; }
.empty-cart { border:1px dashed #a9b9bd; border-radius:14px; padding:55px; text-align:center; background:var(--paper); }.empty-cart b { font-size:22px; }.empty-cart p { color:#60717c; margin:12px 0 25px; }
.checkout-layout { display:grid; grid-template-columns:1.08fr .92fr; gap:25px; align-items:start; }
.cart-items { display:grid; gap:14px; }
.cart-item { display:grid; grid-template-columns:130px 1fr auto; gap:22px; align-items:center; border:1px solid var(--line); border-radius:13px; padding:18px; background:#fffdf9; }.cart-item>img { width:130px; height:105px; object-fit:cover; border-radius:8px; background:#fff; }.cart-index { color:var(--red); font-size:9px; font-weight:800; letter-spacing:.12em; }.cart-item h3 { margin:7px 0; font-size:17px; }.cart-item p { color:#60717c; line-height:1.5; font-size:11px; margin:0 0 7px; }.cart-item small { color:#71808a; }
.cart-item-price { text-align:right; min-width:105px; }.cart-item-price label { display:flex; align-items:center; justify-content:flex-end; gap:8px; color:#60717c; font-size:10px; }.cart-item-price input { width:54px; border:1px solid #aab9bd; padding:7px; border-radius:5px; }.cart-item-price b { display:block; margin:16px 0 10px; }.cart-item-price button,.add-another { border:0; background:transparent; color:var(--red); cursor:pointer; font-weight:700; font-size:10px; }.add-another { border:1px dashed #9eafb4; border-radius:10px; padding:18px; width:100%; background:#fff; font-size:12px; }
.checkout-card { position:sticky; top:18px; background:#fffdf9; border:1px solid var(--line); border-radius:16px; padding:30px; box-shadow:0 22px 55px #17324d14; }.checkout-card>h3 { font-size:26px; margin:0 0 25px; }.checkout-card fieldset { border:0; padding:0 0 22px; margin:0 0 22px; border-bottom:1px solid var(--line); }.checkout-card legend { font-size:13px; font-weight:800; margin-bottom:15px; }
.checkout-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.checkout-grid .wide { grid-column:1/3; }.checkout-grid label>span { display:block; color:#60717c; font-size:9px; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }.checkout-grid input,.checkout-grid select { width:100%; min-height:42px; padding:10px; border:1px solid #aab9bd; border-radius:6px; background:#fff; }
.billing-toggle { display:flex; gap:9px; align-items:center; font-size:12px; font-weight:700; margin:-4px 0 22px; }.billing-toggle input { accent-color:var(--red); }
.checkout-summary { border-top:1px solid var(--line); padding:14px 0; }.checkout-summary p { display:flex; justify-content:space-between; font-size:12px; }.checkout-summary em { color:#2d7a45; font-style:normal; font-size:9px; }.checkout-summary .checkout-total { border-top:1px solid var(--line); padding-top:15px; align-items:end; }.checkout-total strong { font-size:27px; }
.checkout-legal { color:#60717c; font-size:10px; line-height:1.55; margin:0 0 16px; }.checkout-legal a { text-decoration:underline; text-underline-offset:2px; }
.steps { display:grid; grid-template-columns:repeat(4,1fr); margin-top:90px; }.steps>div { border-top:1px solid #b8c9cd; padding:25px 35px 0 0; text-align:center; }.steps>div+div { padding-left:30px; }.steps span { display:flex; align-items:center; justify-content:center; min-height:42px; color:var(--red); font-family:Georgia,"Times New Roman",serif; font-size:30px; font-weight:400; letter-spacing:.04em; line-height:1; }.steps h3 { font-size:23px; margin:20px 0 10px; }
footer { background:var(--ink); color:white; padding:80px 5vw 35px; display:grid; grid-template-columns:1fr 1fr; gap:25px; align-items:end; }.footer-brand { font-size:clamp(42px,8vw,120px); font-weight:900; letter-spacing:.08em; grid-column:1/3; border-bottom:1px solid #ffffff2e; padding-bottom:45px; }.footer-brand::first-letter { color:white; }footer>p { color:#ff9a86; font:italic 24px Georgia,serif; }.footer-links { display:flex; justify-content:flex-end; gap:25px; font-size:11px; }footer small { color:#afc0cb; grid-column:1/3; }
@media(max-width:850px) {
  .nav nav { display:none; }.nav { height:70px; }.nav-actions>.nav-cta { display:none; }.hero { grid-template-columns:1fr; }.hero-copy { padding:70px 6vw; }.hero-visual { min-height:480px; }.micro-proof { flex-wrap:wrap; margin-top:50px; }
  .statement,.process,.config-section,.cart-section { padding:75px 6vw; }
  .feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin-top:45px; overflow:visible; }
  .feature-grid article,.feature-grid article+article { min-width:0; min-height:185px; padding:22px clamp(10px,2.2vw,22px) 18px 0!important; border-right:1px solid #c9c6bf; border-bottom:0; }
  .feature-grid article+article { padding-left:clamp(10px,2.2vw,22px)!important; }
  .feature-grid article:last-child { border-right:0; }
  .feature-grid b { min-height:36px; font-size:clamp(27px,5vw,34px); }
  .feature-grid h3 { margin:12px 0 8px; font-size:clamp(15px,3.2vw,21px); }
  .feature-grid p { font-size:clamp(10px,2vw,13px); line-height:1.5; overflow-wrap:anywhere; }
  .config-head { display:block; }.config-head>p { width:auto; }.config-card { grid-template-columns:1fr; }.preview-main { display:flex; min-height:520px; }.cap-stage { min-height:380px; }.preview-inline { display:none; }.controls { padding:30px 22px; }.cap { transform:scale(.78); }
  .cart-heading { display:block; }.cart-heading>p { width:auto; }.checkout-layout { grid-template-columns:1fr; }.checkout-card { position:static; }.cart-item { grid-template-columns:105px 1fr; }.cart-item>img { width:105px; }.cart-item-price { grid-column:1/3; display:flex; align-items:center; justify-content:flex-end; gap:18px; }.cart-item-price b { margin:0; }
  .steps { grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:45px; }
  .steps>div,.steps>div+div { min-width:0; padding:20px clamp(10px,2.5vw,22px) 24px; text-align:center; }
  .steps>div:nth-child(even) { border-left:1px solid #b8c9cd; }
  .steps span { min-height:36px; font-size:clamp(23px,4.5vw,29px); }
  .steps h3 { margin:12px 0 8px; font-size:clamp(17px,3.5vw,21px); }
  .steps p { font-size:clamp(11px,2.2vw,13px); line-height:1.5; }
  footer { grid-template-columns:1fr; }.footer-brand,footer small { grid-column:auto; }.footer-links { justify-content:flex-start; flex-wrap:wrap; }
}
@media(max-width:520px) { h1 { font-size:51px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:12px; }.nav { padding:0 3vw; }.brand { font-size:17px; }.audience-switch a { padding:8px 7px; font-size:9px; }.nav-cta { padding:10px; font-size:12px; }.cap-hero { transform:scale(.68); }.config-card { grid-template-columns:1fr; }.controls { padding:24px 16px; }.position-controls label { grid-template-columns:70px 1fr; }.cart-item { grid-template-columns:1fr; }.cart-item>img { width:100%; height:180px; }.cart-item-price { grid-column:auto; justify-content:space-between; }.checkout-card { padding:22px 16px; }.checkout-grid { grid-template-columns:1fr; }.checkout-grid .wide { grid-column:auto; } }
@media(max-width:520px) { .cap-stage { min-height:300px; }.preview-tools { grid-template-columns:1fr; gap:10px; }.preview-tools strong { white-space:normal; } }
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Ladeanzeige */
.site-loading { min-height:100vh; display:grid; place-content:center; justify-items:center; gap:18px; background:var(--paper); color:var(--ink); text-align:center; }
.site-loading>strong { font-size:20px; letter-spacing:.24em; margin-right:-.24em; }.site-loading>strong span { color:var(--red); }
.site-loading>p { margin:0; color:#60717c; font-size:11px; letter-spacing:.08em; }
.hourglass { position:relative; width:46px; height:62px; border-top:3px solid var(--ink); border-bottom:3px solid var(--ink); animation:hourglass-turn 1.8s ease-in-out infinite; }
.hourglass::before,.hourglass::after { content:""; position:absolute; left:4px; right:4px; height:2px; background:var(--ink); transform-origin:center; }
.hourglass::before { top:13px; transform:rotate(43deg); }.hourglass::after { bottom:13px; transform:rotate(-43deg); }
.hourglass-top,.hourglass-bottom { position:absolute; left:50%; transform:translateX(-50%); width:0; height:0; border-left:10px solid transparent; border-right:10px solid transparent; }
.hourglass-top { top:7px; border-top:17px solid var(--red); animation:sand-top 1.8s ease-in-out infinite; }
.hourglass-bottom { bottom:7px; border-bottom:17px solid #b98a5b; animation:sand-bottom 1.8s ease-in-out infinite; }
@keyframes hourglass-turn { 0%,72% { transform:rotate(0deg); } 100% { transform:rotate(180deg); } }
@keyframes sand-top { 0% { opacity:1; transform:translateX(-50%) scale(1); } 70%,100% { opacity:.15; transform:translateX(-50%) scale(.35); } }
@keyframes sand-bottom { 0% { opacity:.15; transform:translateX(-50%) scale(.35); } 70%,100% { opacity:1; transform:translateX(-50%) scale(1); } }
@media(prefers-reduced-motion:reduce){.hourglass,.hourglass-top,.hourglass-bottom{animation:none}}

/* Rechtliches */
.legal-back { font-size:13px; font-weight:700; border-bottom:1px solid var(--ink); padding:8px 0; }
.legal-content { min-height:650px; padding:100px max(6vw,calc((100vw - 1100px)/2)); background:#fffdf9; }
.legal-content>h1 { font-size:clamp(58px,8vw,104px); margin-bottom:70px; }
.legal-content section { max-width:650px; border-top:1px solid var(--line); padding:30px 0; }
.legal-content section h2 { font-family:Arial,Helvetica,sans-serif; font-size:19px; line-height:1.3; letter-spacing:0; margin:0 0 18px; }
.legal-content address,.legal-content section p { color:#536472; font-size:16px; line-height:1.75; font-style:normal; margin:0; }
.legal-content section p+p { margin-top:16px; }
.legal-links { color:#536472; font-size:16px; line-height:1.75; padding-left:22px; margin:18px 0; }
.legal-links li+li { margin-top:7px; }
.legal-content a { color:var(--red); text-decoration:underline; text-underline-offset:3px; }
@media(max-width:850px) {
  .legal-content { padding:75px 6vw; }
  .legal-content>h1 { margin-bottom:50px; }
}

/* Firmenkunden */
.business-page { background:#fffdf9; }
.business-hero { min-height:720px; display:grid; grid-template-columns:1.02fr .98fr; border-bottom:1px solid var(--line); }
.business-hero h1 em { color:var(--red); }
.business-hero>div:first-child { padding:105px 5vw 65px; background:linear-gradient(145deg,#fffdf9,var(--paper)); }
.business-hero-card { background:linear-gradient(145deg,var(--blue-soft),#cfe2e7); display:flex; flex-direction:column; justify-content:space-between; padding:60px 5vw 45px; color:var(--ink); }
.business-hero-image-card { padding:0; background:var(--paper); justify-content:center; overflow:hidden; }
.business-hero-card>p { font-size:12px; font-weight:900; letter-spacing:.2em; line-height:1.6; }
.business-hero-card>small { color:#536b79; font-weight:700; letter-spacing:.08em; }
.business-cap-stack { position:relative; align-self:center; width:min(520px,100%); }
.business-cap-stack img { width:100%; display:block; border-radius:18px; box-shadow:0 30px 55px #17324d30; }
.business-cap-stack span { position:absolute; left:54%; top:44%; transform:translate(-50%,-50%) rotate(-3deg); font-size:clamp(20px,3vw,44px); font-weight:900; text-align:center; line-height:.85; color:#513420; opacity:.8; mix-blend-mode:multiply; }
.business-benefits,.business-tiers { padding:110px 5vw; }
.business-benefits h2,.business-tiers h2 { font-size:clamp(48px,5.5vw,84px); max-width:1050px; }
.business-benefits h2 em,.business-tiers h2 em { color:var(--red); }
.business-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:75px; gap:18px; }
.business-benefit-grid article { background:var(--paper); border:1px solid var(--line); border-radius:14px; padding:28px; min-height:210px; text-align:center; transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease,background-color .24s ease; }
.business-benefit-grid article b { display:flex; align-items:center; justify-content:center; min-height:42px; color:var(--red); font-family:Georgia,"Times New Roman",serif; font-size:36px; font-weight:400; line-height:1; transition:transform .24s ease; }.business-benefit-grid h3 { margin:20px 0 12px; font-size:24px; }.business-benefit-grid p { color:#60717c; line-height:1.6; font-size:14px; }
@media(hover:hover) and (pointer:fine){
  .feature-grid article:hover,.business-benefit-grid article:hover { transform:translateY(-5px); background:#fff; box-shadow:0 18px 38px #17324d16; }
  .business-benefit-grid article:hover { border-color:#ef5b4c66; }
  .feature-grid article:hover b,.business-benefit-grid article:hover b { transform:scale(1.1); }
}
@media(prefers-reduced-motion:reduce){
  .feature-grid article,.feature-grid b,.business-benefit-grid article,.business-benefit-grid article b { transition:none; }
}
.business-config-section { padding:100px 5vw; background:linear-gradient(180deg,#eef6f7,#dcecef); }
.business-config-heading { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:50px; }
.business-config-heading h2 { font-size:clamp(50px,5vw,76px); }.business-config-heading h2 em { color:var(--red); }.business-config-heading>p { width:400px; color:#60717c; line-height:1.6; }
.business-config-card { display:grid; grid-template-columns:1.05fr .95fr; background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 28px 70px #17324d22; }
.business-preview { padding:28px; background:#f8fbfb; display:flex; flex-direction:column; min-height:760px; }
.business-cap-preview { position:relative; flex:1; min-height:480px; background:#fff; border:1px solid var(--line); border-radius:14px; overflow:hidden; margin-top:20px; }
.business-cap-preview>img:first-child { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.business-logo-preview { position:absolute; z-index:2; left:50%; top:43%; transform:translate(-50%,-50%); max-width:25%; max-height:18%; object-fit:contain; filter:grayscale(1) contrast(1.5); opacity:.72; mix-blend-mode:multiply; }
.business-logo-placeholder { position:absolute; z-index:2; left:50%; top:43%; transform:translate(-50%,-50%); color:#553b2380; border:1px dashed #553b2366; padding:12px; font-weight:900; }
.business-preview>p { color:#60717c; font-size:11px; }
.business-controls { padding:38px 42px; color:var(--ink); }.business-controls fieldset { border:0; border-bottom:1px solid var(--line); padding:0 0 26px; margin:0 0 26px; }
.business-controls legend { font-weight:800; margin-bottom:18px; }.business-controls legend>span { display:inline-grid; place-items:center; width:24px; height:24px; border-radius:50%; background:var(--red); color:#fff; font-size:11px; margin-right:10px; }
.business-quantity { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:12px; font-weight:700; margin-bottom:14px; }.business-quantity input { width:120px; padding:11px; border:1px solid #aab9bd; border-radius:7px; background:white; }
.business-position-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }.business-position-grid label { border:1px solid #aab9bd; border-radius:7px; padding:12px 10px; cursor:pointer; background:#fff; }.business-position-grid label.selected { border:2px solid var(--red); background:#fff5f0; padding:11px 9px; }.business-position-grid input { position:absolute; opacity:0; }.business-position-grid b,.business-position-grid small { display:block; }.business-position-grid b { font-size:12px; }.business-position-grid small { color:#71808a; font-size:9px; margin-top:5px; }.business-position-grid .selected small { color:var(--red); }
.business-price-box { background:var(--ink); color:#fff; border-radius:12px; padding:22px; display:grid; grid-template-columns:1fr auto; gap:7px 18px; margin-bottom:28px; }.business-price-box>div span,.business-price-box>div small,.business-price-box strong small { display:block; }.business-price-box>div span { color:#ff9a86; font-size:11px; font-weight:800; letter-spacing:.08em; }.business-price-box>div small,.business-price-box strong small { color:#b9cad4; font-size:9px; margin-top:5px; }.business-price-box strong { font-size:25px; text-align:right; }.business-price-box p { grid-column:1/3; border-top:1px solid #ffffff28; padding-top:14px; margin:10px 0 0; display:flex; justify-content:space-between; font-size:11px; }.business-price-box em { grid-column:1/3; color:#b9cad4; font-size:9px; line-height:1.5; font-style:normal; }
.business-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.business-contact-grid label>span,.business-message>span { display:block; font-size:9px; color:#60717c; text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }.business-contact-grid input,.business-message textarea { width:100%; padding:11px; border:1px solid #aab9bd; border-radius:6px; background:#fff; }.business-message { display:block; margin-top:12px; }
.business-submit { width:100%; background:var(--red); color:#fff; box-shadow:0 12px 28px #e85d4a35; }.business-submit span { float:right; }
.business-notice { background:#edf7ef; color:#285e38; border-left:3px solid #4d9a62; padding:12px; font-size:11px; line-height:1.5; }
.business-tiers { background:#fffdf9; }.tier-table { display:grid; grid-template-columns:repeat(5,1fr); margin-top:70px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }.tier-table>div { padding:25px 20px; border-right:1px solid var(--line); background:#fff; }.tier-table>div:last-child { border:0; background:var(--peach); }.tier-table span,.tier-table b,.tier-table small { display:block; }.tier-table span { color:var(--red); font-size:10px; font-weight:800; }.tier-table b { font-size:19px; margin:22px 0 6px; }.tier-table small { color:#60717c; font-size:9px; line-height:1.4; }
@media(max-width:850px) {
  .business-hero { grid-template-columns:1fr; }.business-hero>div:first-child { padding:70px 6vw; }.business-hero-card { min-height:560px; padding:45px 6vw; }
  .business-benefits,.business-tiers,.business-config-section { padding:75px 6vw; }
  .business-benefit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(7px,1.8vw,14px); margin-top:45px; }
  .business-benefit-grid article { min-width:0; min-height:185px; padding:20px clamp(7px,1.8vw,16px); }
  .business-benefit-grid article b { min-height:36px; font-size:clamp(27px,5vw,34px); }
  .business-benefit-grid h3 { margin:12px 0 8px; font-size:clamp(15px,3.2vw,21px); }
  .business-benefit-grid p { font-size:clamp(10px,2vw,13px); line-height:1.5; overflow-wrap:anywhere; }
  .business-config-heading { display:block; }.business-config-heading>p { width:auto; }
  .business-config-card { grid-template-columns:1fr; }.business-preview { min-height:580px; }.business-cap-preview { min-height:430px; }.tier-table { grid-template-columns:1fr 1fr; }.tier-table>div { border-bottom:1px solid var(--line); }
}
@media(max-width:520px) {
  .business-controls { padding:28px 18px; }.business-position-grid,.business-contact-grid { grid-template-columns:1fr; }.business-preview { padding:18px; min-height:480px; }.business-cap-preview { min-height:330px; }.tier-table { grid-template-columns:1fr; }.tier-table>div { border-right:0; }
}
