/* amelieunddaniel.com — statischer Nachbau der Wix-Seite (Design-Token aus dem Original) */
:root{
  --gold:#B09259;
  --gold-dark:#544528;
  --gold-mid:#856F45;
  --beige:#EBDFC7;
  --footer:#D1BA8E;
  --ink:#2F2E2E;
  --grey:#605E5E;
  --serif:"EB Garamond", Garamond, "Times New Roman", serif;
  --sans:"Jost", "Brandon Grotesque", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --sans2:"Nunito Sans", "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
  --script:"Fredericka the Great", cursive;
  --content:980px;
  --card:710px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--gold);font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.4}
/* Seitenhintergrund wie auf Wix: fixiertes Bild, Sektionen schieben sich darüber (Parallax) */
body.home{background:var(--beige)}
.pagebg{position:fixed;inset:0;z-index:0;background:var(--beige) url(../images/hero-schlosshof.jpg) center/cover no-repeat;pointer-events:none}
body.home main,body.home .site-header,body.home .site-footer{position:relative;z-index:1}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{margin:0}
h1,h2,h3{margin:0;font-weight:400}
.hidden{display:none !important}

/* --- Typografie --- */
.h-serif{font-family:var(--serif);font-size:44px;line-height:1.2;letter-spacing:6.6px;text-align:center;color:var(--gold)}
.h-serif-sm{font-family:var(--serif);font-size:28px;line-height:1.3;color:var(--gold);text-align:center}
.h-serif-xs{font-family:var(--serif);font-size:22px;line-height:1.3;color:var(--gold);text-align:center}
.eyebrow{font-weight:300;font-size:20px;letter-spacing:3px;line-height:1.3;text-align:center}
.caps{font-size:18px;letter-spacing:1.8px;line-height:1.4;text-align:center;font-weight:300}
.txt{font-size:16px;line-height:1.4;text-align:center;font-weight:300}
.txt18{font-size:18px;letter-spacing:1.8px;line-height:1.4;text-align:center;font-weight:300}
.vline{width:0;height:71px;border-left:1px solid var(--gold);margin:0 auto}
.u{text-decoration:underline}

/* --- Header --- */
.site-header{position:absolute;top:0;left:0;right:0;height:89px;z-index:5}
.site-header nav{max-width:1140px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.site-header a{font-weight:500;font-size:20px;color:#fff;line-height:27px;white-space:nowrap}
.site-header a.active{color:var(--gold)}
.site-header.solid{position:static;background:var(--beige)}
.site-header.solid a{color:var(--gold)}
.menu-btn{display:none}

/* --- Stepped white card (Wix-Rahmen) --- */
.card{position:relative;background:#fff;
  clip-path:polygon(8.3% 0,91.7% 0,91.7% 8%,100% 8%,100% 92.5%,91.7% 92.5%,91.7% 100%,8.3% 100%,8.3% 92.5%,0 92.5%,0 8%,8.3% 8%);
}
.card-inner{padding:0 50px}

/* --- Sektionen --- */
.section{position:relative;overflow:hidden}
.section .bg{position:absolute;inset:-1px 0;background-size:cover;background-position:center;z-index:0}
.section+.section{margin-top:-1px}
@media (min-width:861px) and (hover:hover){.section .bg{background-attachment:fixed}}
.section .wrap{position:relative;z-index:1;max-width:var(--content);margin:0 auto;padding:0 20px}

/* Hero */
#start{min-height:1146px;background:transparent}
#start .card{width:var(--card);margin:200px auto 0;min-height:693px;padding:78px 40px 60px;text-align:center}
#start .card .eyebrow{color:var(--gold)}
#start .name{font-family:var(--serif);font-size:60px;line-height:72px;letter-spacing:9px;margin:22px 0 22px}
#start .intro{max-width:320px;margin:0 auto}
#start .vline{margin:50px auto 30px}
#start .date{font-family:var(--serif);font-size:38px;line-height:1.2;letter-spacing:5.7px;margin-bottom:60px}
#start .places{max-width:320px;margin:0 auto 40px}
.btn-outline{display:inline-block;border:1px solid var(--gold);color:var(--gold);font-weight:500;font-size:19px;line-height:38px;padding:0 22px;height:40px}
.btn-outline:hover{background:var(--gold);color:#fff}

/* Wir */
#wir{background:#fff;padding:45px 0 100px}
#wir .h-serif{margin-bottom:32px}
#wir .portraits{display:flex;justify-content:center;gap:218px;margin:55px 0 40px}
.frame{position:relative;width:251px;height:236px}
.frame .beige{position:absolute;left:0;top:0;width:251px;height:219px;background:var(--beige)}
.frame img{position:absolute;left:15px;top:16px;width:220px;height:220px;object-fit:cover}
#wir .milestones{margin-bottom:34px}
#wir .milestones p{font-weight:300;font-size:18px;letter-spacing:1.8px;line-height:1.4;text-align:center}
.gallery{background:var(--beige);width:var(--card);margin:0 auto;padding:17px 18px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery a{display:block;aspect-ratio:1/1;overflow:hidden}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery a:hover img{transform:scale(1.04)}

/* Unser Hochzeitstag */
#hochzeitstag{min-height:1315px;background:#DFEFF2;padding:110px 0 110px}
#hochzeitstag .bg{background-image:url(../images/bg-musensaal.jpg)}
#hochzeitstag .card{width:var(--card);margin:0 auto;padding:37px 20px 20px}
#hochzeitstag .h-serif{margin-bottom:60px}
.event{display:flex;background:#fff;border:1px solid rgba(204,204,204,.4);margin-bottom:24px;min-height:476px}
.event .info{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 30px;color:var(--ink)}
.event .info h3{font-family:var(--sans);font-weight:300;font-size:22px;line-height:1.4;color:var(--ink);max-width:250px;margin-bottom:6px}
.event .info h3 a:hover{text-decoration:underline}
.event .info p{font-size:16px;line-height:1.4;max-width:250px}
.event .info .desc{margin:20px 0 32px}
.event .info .loc{display:inline-flex;align-items:center;gap:4px}
.event .pic{width:302px;flex:0 0 302px;background:var(--gold);overflow:hidden}
.event .pic img{width:100%;height:100%;object-fit:cover}
.btn-solid{display:inline-block;background:var(--gold);color:#fff;font-size:16px;line-height:42px;height:42px;padding:0 20px;min-width:162px;text-align:center}
.btn-solid:hover{background:#9c8150}

/* Gästeinformation */
#gaesteinformation{background:#fff;padding:60px 0 60px}
#gaesteinformation .h-serif{margin-bottom:22px}
#gaesteinformation .vline{margin-bottom:22px}
.hotels{font-family:var(--sans2);font-weight:400;color:var(--ink);text-align:center;font-size:16px;line-height:1.35}
.hotels .h-serif-xs{margin:20px 0 6px}
.hotels p{margin:0 0 9px}
.hotels a{text-decoration:underline}
.hotels .more{margin-top:36px}

/* Anreise */
#anreise{background:#fff;padding:30px 0 80px}
#anreise .h-serif{margin-bottom:94px}
.anreise-grid{display:grid;grid-template-columns:540px 250px;column-gap:18px;justify-content:center}
.anreise-grid .col-text{text-align:center}
.anreise-grid .col-maps{display:flex;flex-direction:column;gap:40px}
.anreise-grid h3{font-family:var(--sans);font-weight:300;font-size:26px;line-height:1.4;color:var(--ink);text-align:center}
.anreise-grid .caps{margin-top:30px}
.anreise-grid p{text-align:center}
.anreise-grid .lh{line-height:25.2px}
.anreise-grid a{text-decoration:underline}
.mapbox{width:250px;height:250px;background:var(--beige);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px}
.mapbox a{display:block;color:var(--gold);letter-spacing:1.8px;font-size:15px;line-height:1.5;text-decoration:none}
.mapbox a span{display:block;font-family:var(--serif);font-size:22px;letter-spacing:2px;margin-bottom:10px;color:var(--ink)}
.mapbox a:hover{text-decoration:underline}
.mapbox img{width:215px;height:215px;object-fit:cover}
.haltestellen{width:241px;margin:20px auto 0}

/* Schloss Hof + Wien (Karten mit Bild-Hintergrund) */
#aktivitaeten{min-height:0;padding:85px 0 80px;background:#fff}
#aktivitaeten .bg{background-image:url(../images/bg-schlosshof.jpg)}
#wien{min-height:0;padding:85px 0 80px;background:#fff}
#wien .bg{background-image:url(../images/bg-wien.png)}
.card.tall{width:var(--card);margin:0 auto;padding:9px 62px 110px}
.card.tall .h-serif{margin-bottom:40px}
.readmore{color:#000;font-weight:300;font-size:16px;line-height:1.4;text-align:center;max-width:607px;margin:0 auto}
.readmore p{margin:0 0 25px}
.readmore.collapsed .extra{display:none}
.readmore-btn{display:block;margin:0 auto 60px;background:none;border:0;padding:0;font-family:var(--sans);font-weight:500;font-size:20px;color:var(--gold);cursor:pointer;letter-spacing:1px}
.readmore-btn:hover{text-decoration:underline}
.tiles{display:flex;flex-direction:column;gap:26px}
.tile{display:grid;grid-template-columns:1fr 175px;column-gap:60px;align-items:start}
.tile .t{padding-left:20px}
.tile .t .caps{margin-bottom:4px}
.tile .t p{font-size:16px;letter-spacing:1.4px;line-height:23px;text-align:center;font-weight:300}
.tile .t a.more{display:inline-block;margin-top:2px}
.tile .t a{text-decoration:underline}
.tile .t a.more{text-decoration:none}
.tile .t a.more:hover{text-decoration:underline}
.tile .zoomwrap{width:175px;height:175px;overflow:hidden}
.tile img{width:175px;height:175px;object-fit:cover}
#wien .card.tall{padding-top:9px}
#wien .h-serif{margin-bottom:60px}

/* Eat drink */
#kontakt{background:transparent;padding:90px 0 130px}
#kontakt .card{width:var(--card);margin:0 auto;min-height:0;padding:90px 40px 100px;text-align:center}
#kontakt .script{font-family:var(--script);font-size:44px;line-height:52.8px;letter-spacing:6.6px;color:var(--gold);margin-bottom:34px}
#kontakt .txt18{max-width:340px;margin:0 auto}

/* Footer */
.site-footer{background:var(--footer);min-height:183px;padding:44px 20px 40px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}
.site-footer .up{display:block;width:18px;height:42px;margin-bottom:26px}
.site-footer .up svg{width:18px;height:42px;fill:#fff;stroke:#fff}
.site-footer .top{color:#fff;font-size:18px;letter-spacing:3.6px;line-height:1.3;text-align:center}
.site-footer .legal{margin-top:24px;color:var(--gold-dark);font-size:16px;letter-spacing:1.6px;display:flex;gap:26px}
.site-footer a:hover{text-decoration:underline}

/* Lightbox */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.9);display:none;align-items:center;justify-content:center;z-index:50}
.lb.open{display:flex}
.lb img{max-width:92vw;max-height:92vh;object-fit:contain;box-shadow:0 0 40px rgba(0,0,0,.6)}
.lb button{position:absolute;background:none;border:0;color:#fff;font-size:40px;cursor:pointer;line-height:1;padding:10px;font-family:var(--serif)}
.lb .close{top:14px;right:22px}
.lb .prev{left:14px;top:50%;transform:translateY(-50%)}
.lb .next{right:14px;top:50%;transform:translateY(-50%)}

/* --- Event-Detailseiten --- */
body.event-page{background:var(--beige);color:var(--ink)}
.event-page .site-header{position:static;height:89px;background:var(--beige)}
.event-page .site-header a{color:var(--gold)}
.event-page .site-header a.active{color:var(--gold-dark)}
.event-detail{max-width:var(--content);margin:0 auto;background:#fff;padding-bottom:70px}
.event-detail .head{background:rgba(209,186,142,.2);padding:65px 68px 0;text-align:center;min-height:490px}
.event-detail .head h1{font-family:var(--serif);font-size:44px;line-height:1.2;color:var(--ink);margin-bottom:22px}
.event-detail .head .meta{font-size:18px;line-height:1.3}
.event-detail .head .short{margin-top:18px;font-size:16px}
.event-detail .head .closed{margin-top:85px;font-size:16px}
.event-detail .head .back{display:inline-block;margin-top:0;font-size:16px;text-decoration:underline}
.event-detail .hero-img{width:100%;height:552px;object-fit:cover;margin-top:0;background:var(--footer)}
.event-detail .body{padding:50px 68px 0}
.event-detail h2{font-family:var(--serif);font-size:30px;line-height:1.3;color:var(--ink);margin:0 0 15px}
.event-detail .block{margin-bottom:60px}
.event-detail .block p{font-size:16px;line-height:1.5}
.event-detail .about{display:grid;grid-template-columns:1fr 377px;column-gap:40px;align-items:start}
.event-detail .about img{width:377px;height:206px;object-fit:contain}
.schedule .row{display:grid;grid-template-columns:234px 1fr;padding:22px 0 24px;border-bottom:1px solid rgba(47,46,46,.15)}
.schedule .row:first-of-type{border-top:1px solid rgba(47,46,46,.15)}
.schedule time{font-size:16px;display:block}
.schedule .dur{font-size:14px;color:var(--grey);display:block;margin-top:4px}
.schedule h3{font-family:var(--sans);font-weight:400;font-size:16px;color:var(--ink);line-height:1.5}
.schedule .place{font-size:14px;display:inline-flex;align-items:center;gap:4px;margin-top:2px}
.schedule .place svg{width:20px;height:20px;fill:currentColor}

/* --- Rechtsseiten --- */
body.legal-page .site-header{position:static;background:#fff}
body.legal-page .site-header a{color:var(--gold)}
.legal{max-width:var(--content);margin:0 auto;padding:60px 20px 120px;text-align:center}
.legal h1{margin-bottom:45px}
.legal h2{font-family:var(--serif);font-size:38px;color:var(--gold-mid);margin:40px 0 25px}
.legal h3{font-family:var(--sans);font-weight:500;font-size:20px;color:var(--gold);margin:28px 0 8px}
.legal p{font-weight:300;font-size:18px;letter-spacing:1.8px;line-height:1.5;max-width:800px;margin:0 auto 14px}
.legal a{text-decoration:underline}

/* --- Responsive --- */
@media (max-width:1040px){
  .anreise-grid{grid-template-columns:minmax(0,540px) 250px;padding:0 10px}
}
@media (max-width:860px){
  :root{--card:100%}
  .site-header nav{justify-content:center;gap:0}
  .site-header{height:auto;min-height:60px}
  .site-header nav{flex-wrap:wrap;gap:6px 22px;padding:16px 16px 0}
  .site-header a{font-size:15px}
  .site-header{position:static;background:var(--beige)}
  .site-header nav{padding:14px 16px}
  .site-header a{color:var(--gold)}
  .site-header a.active{color:var(--gold-dark)}
  .h-serif{font-size:28px;letter-spacing:3px;padding:0 8px}
  .card{clip-path:polygon(6% 0,94% 0,94% 4%,100% 4%,100% 96%,94% 96%,94% 100%,6% 100%,6% 96%,0 96%,0 4%,6% 4%)}
  #start{min-height:0;padding:50px 0 60px}
  #start .card{margin:0 auto;min-height:0;padding:60px 28px 50px}
  #start .name{font-size:56px;line-height:1.25;letter-spacing:7px;margin:26px 0 30px}
  #start .date{font-size:30px}
  #wir .portraits{gap:40px;flex-wrap:wrap}
  #wir{padding:45px 0 70px}
  .section .bg.px{top:0;bottom:auto;height:100vh;height:100lvh;will-change:transform}
  .gallery{width:100%;grid-template-columns:repeat(3,1fr)}
  #hochzeitstag{min-height:0;padding:60px 0}
  #hochzeitstag .card{padding:30px 12px 12px}
  .event{flex-direction:column}
  .event .pic{width:100%;flex:none;height:320px}
  .anreise-grid{grid-template-columns:1fr;row-gap:30px}
  .anreise-grid .col-maps{flex-direction:row;flex-wrap:wrap;justify-content:center}
  #aktivitaeten,#wien{min-height:0;padding:50px 0}
  .card.tall{padding:20px 22px 30px}
  .tile{grid-template-columns:1fr;row-gap:14px}
  .tile img{margin:0 auto}
  .tile .zoomwrap{margin:0 auto}
  .tile .t{padding-left:0;text-align:center}
  #wir .h-serif{margin-bottom:8px}
  #wir .vline{height:52px}
  #wir .portraits{margin:34px 0 30px}
  #start .name .amp{display:block}
  #kontakt{padding:60px 0 90px}
  #kontakt .card{min-height:0;padding:70px 28px 50px}
  #kontakt .script{font-size:34px;line-height:1.3}
  .h-serif{font-size:32px;letter-spacing:4px}
  .event-detail .head{padding:40px 24px 0;min-height:0;padding-bottom:40px}
  .event-detail .head h1{font-size:36px}
  .event-detail .hero-img{height:auto}
  .event-detail .body{padding:40px 24px 0}
  .event-detail .about{grid-template-columns:1fr}
  .event-detail .about img{width:100%;height:auto;margin-top:20px}
  .schedule .row{grid-template-columns:120px 1fr}
  .site-footer{height:auto;padding:40px 20px}
  .site-footer .legal{flex-wrap:wrap;justify-content:center;gap:12px 26px}
}
@media (max-width:480px){
  .gallery{grid-template-columns:repeat(2,1fr)}
  .site-header a{font-size:14px}
}

/* --- Fotos & Videos (geschützter Bereich) --- */
body.fotos-page,body.gate-page{background:#fff}
.fotos-page .site-header,.gate-page .site-header{position:static;background:var(--beige)}
.fotos-page .site-header a,.gate-page .site-header a{color:var(--gold)}
.fotos-page .site-header a.active,.gate-page .site-header a.active{color:var(--gold-dark)}
.fotos-hero{padding:70px 0 30px}
.fotos-hero .vline{margin:24px auto}
.fotos-intro{max-width:560px;margin:0 auto}
.fotos-h{margin:40px 0 28px}
.fotogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-auto-flow:dense;gap:12px;background:var(--beige);padding:16px}
.fotogrid a{display:block;aspect-ratio:3/2;overflow:hidden;background:#e6d9bf}
.fotogrid a.portrait{aspect-ratio:3/4;grid-row:span 2}
.fotogrid img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.fotogrid a:hover img{transform:scale(1.04)}
.fotos-empty{text-align:center;padding:60px 20px;font-size:18px;letter-spacing:1.8px;grid-column:1/-1}
.videogrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:28px;margin-bottom:60px}
.frame16{position:relative;aspect-ratio:16/9;background:#000}
.frame16 iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .caps{margin-top:10px}
#videos{padding-bottom:60px}
.gate-wrap{min-height:calc(100vh - 89px - 183px);display:flex;align-items:center;justify-content:center;padding:60px 16px;background:#fff url(../images/hero-schlosshof.jpg) center/cover no-repeat}
.card.gate{width:min(560px,100%);padding:70px 40px 60px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:18px}
.card.gate .h-serif{font-size:36px}
.gate-label{font-size:13px;letter-spacing:2px;text-transform:uppercase;margin-top:10px}
.card.gate input{width:min(280px,100%);border:1px solid var(--gold);padding:10px 12px;font:inherit;font-size:18px;text-align:center;color:var(--ink);letter-spacing:2px}
.card.gate input:focus{outline:2px solid var(--gold);outline-offset:2px}
.card.gate .btn-solid{cursor:pointer;border:0;font-family:var(--sans)}
.gate-error{color:#8a3b2f;font-size:15px}
@media (max-width:860px){.videogrid{grid-template-columns:1fr}.fotogrid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}

/* --- Bild-Bewegung: sanfter Zoom beim Einblenden, leichter Zoom bei Hover --- */
.zoomwrap{overflow:hidden}
.zoom{transform:scale(1.12);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.zoom.in{transform:scale(1)}
.zoomwrap:hover .zoom.in{transform:scale(1.06);transition-duration:.9s}
@media (prefers-reduced-motion:reduce){.zoom,.zoom.in,.zoomwrap:hover .zoom.in{transform:none;transition:none}}

/* Download */
.fotos-dl{text-align:center;margin:-10px 0 24px}
.fotos-dl .btn-outline{font-size:16px;margin-bottom:10px}
.lb .dl{position:absolute;top:22px;left:22px;color:#fff;padding:10px;display:flex}
.lb .dl:hover{color:var(--beige)}

/* --- Foto-Badge auf der Startseite --- */
.badge{position:absolute;top:-30px;right:calc(50% - 355px - 30px);width:160px;height:160px;border-radius:50%;background:var(--gold);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:16px;transform:rotate(9deg);box-shadow:0 8px 24px rgba(84,69,40,.28);text-decoration:none;z-index:3;animation:badge-in 1.2s cubic-bezier(.2,.9,.3,1.2) .6s both}
.badge:hover{transform:rotate(3deg) scale(1.05);background:#9c8150}
.badge b{font-family:var(--serif);font-size:17px;letter-spacing:1px;line-height:1.15;font-weight:500;display:block;margin:2px 0 4px}
.badge small{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500;line-height:1.3;max-width:100%}
.badge #badge-days{padding:0 4px}
.badge .arrow{font-size:14px;letter-spacing:1px;margin-top:5px}
.badge::before{content:"";position:absolute;inset:6px;border:1px dashed rgba(255,255,255,.7);border-radius:50%}
@keyframes badge-in{from{opacity:0;transform:rotate(-20deg) scale(.5)}to{opacity:1;transform:rotate(9deg) scale(1)}}
/* Funkeln: vierzackige Sterne rund um das Badge */
.badge .sp{position:absolute;left:var(--x);top:var(--y);width:var(--s);height:var(--s);pointer-events:none;opacity:0;
  filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 5px rgba(133,111,69,.9));
  animation:sparkle 3.6s ease-in-out var(--d) infinite}
.badge .sp::before{content:"";position:absolute;inset:0;background:#fff;clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%)}
@keyframes sparkle{0%,50%,100%{opacity:0;transform:scale(.2) rotate(0deg)}12%{opacity:1;transform:scale(1.05) rotate(25deg)}30%{opacity:.85;transform:scale(.75) rotate(45deg)}45%{opacity:0;transform:scale(.2) rotate(70deg)}}
/* Glanz-Streifen, der alle paar Sekunden über das Badge läuft */
.badge::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.9) 50%,rgba(255,255,255,.55) 52%,transparent 70%);
  background-size:260% 100%;background-position:120% 0;animation:shine 5s ease-in-out 2.4s infinite}
@keyframes shine{0%{background-position:120% 0}30%,100%{background-position:-60% 0}}
/* Zahlenticker */
.badge .tick{display:inline-block;font-family:var(--serif);font-size:16px;font-weight:500;letter-spacing:.5px;min-width:1.6em;text-transform:none;position:relative;top:1px}
.badge #badge-days.done .tick{animation:tickpop .7s cubic-bezier(.2,.9,.3,1.4)}
.badge #badge-days.done .tick::before,.badge #badge-days.done .tick::after{content:"";position:absolute;width:9px;height:9px;background:#fff;clip-path:polygon(50% 0,58% 42%,100% 50%,58% 58%,50% 100%,42% 58%,0 50%,42% 42%);animation:sparkle 2.6s ease-in-out infinite}
.badge #badge-days.done .tick::before{left:-6px;top:-9px;animation-delay:.1s}
.badge #badge-days.done .tick::after{right:-4px;top:-8px;animation-delay:1.2s;width:7px;height:7px}
@keyframes tickpop{0%{transform:scale(1)}40%{transform:scale(1.35);text-shadow:0 0 10px #fff}100%{transform:scale(1)}}
@media (max-width:860px){.badge{width:128px;height:128px;top:-52px;right:6px;padding:14px 10px}.badge b{font-size:12.5px;letter-spacing:.5px;margin:1px 0 3px}.badge small{font-size:8.5px;letter-spacing:1px}.badge .tick{font-size:11px;min-width:0}.badge .arrow{font-size:11px;margin-top:3px}.badge::before{inset:5px}.badge .sp{transform-origin:center;--s:10px}.badge .sp:nth-child(3),.badge .sp:nth-child(5){--x:108px}.badge .sp:nth-child(5){--y:112px}}
@media (prefers-reduced-motion:reduce){.badge,.badge .sp,.badge::after,.badge .tick{animation:none}.badge .sp{opacity:.9}}
