.d-inribbon{--bg:#fffaf3;--bg2:#f7eee1;--ink:#2a1215;--mut:#7b6b68;--ac:#b3202a;--card:#fff;--line:rgba(160,30,40,.16);--on-ac:#fff;--hero-ink:#fff8ea;--gd:#c9a24b;
 --hero-bg:radial-gradient(ellipse 70% 38% at 50% 34%,rgba(255,196,120,.2),transparent 70%),linear-gradient(170deg,#8f1424,#5f0b16 58%,#3d060d);--hero-sh:transparent;--cover-bg:#fffaf3;--cover-ink:#2a1215;--foot-bg:#3d060d;
 --fd:'Bodoni Moda','Playfair Display',serif;--fh:'Bodoni Moda','Playfair Display','Mukta',serif;--fb:'Jost','Inter','Mukta',sans-serif;font-family:var(--fb);background:var(--bg)}
.d-inribbon .fx{z-index:3}.d-inribbon .rs{position:absolute;background:#e8c35c;opacity:0;clip-path:polygon(50% 0,59% 41%,100% 50%,59% 59%,50% 100%,41% 59%,0 50%,41% 41%);animation:rsw ease-in-out infinite}
@keyframes rsw{0%,100%{opacity:0;transform:scale(.3) rotate(0)}50%{opacity:.7;transform:scale(1) rotate(45deg)}}
.d-inribbon .tw{opacity:0;transform-box:fill-box;transform-origin:center;animation:rsw 3s ease-in-out infinite}
.d-inribbon .cn{position:absolute;width:26px;height:26px;border:2px solid var(--gd);pointer-events:none}.d-inribbon .cn.tl{left:0;top:0;border-right:0;border-bottom:0}.d-inribbon .cn.tr{right:0;top:0;border-left:0;border-bottom:0}.d-inribbon .cn.bl{left:0;bottom:0;border-right:0;border-top:0}.d-inribbon .cn.br{right:0;bottom:0;border-left:0;border-top:0}
/* cover */
.d-inribbon .cover{background:radial-gradient(ellipse 80% 50% at 50% 100%,rgba(179,32,42,.1),transparent 70%),radial-gradient(ellipse 60% 30% at 50% 0,rgba(201,162,75,.18),transparent 70%),#fffaf3;transition:opacity 1s 1.45s ease}
.d-inribbon .cover.go{opacity:0;transform:none}
.d-inribbon .cover>.orn{z-index:1}
.d-inribbon .rbc{position:absolute;inset:0}
.d-inribbon .rbc::before{content:'';position:absolute;inset:12px;border:1px solid rgba(201,162,75,.55)}
.d-inribbon .rbc>.cn{margin:0}.d-inribbon .rbc>.tl{left:12px;top:12px}.d-inribbon .rbc>.tr{right:12px;top:12px}.d-inribbon .rbc>.bl{left:12px;bottom:12px}.d-inribbon .rbc>.br{right:12px;bottom:12px}
.d-inribbon .rbn{position:absolute;left:0;right:0;top:59%;height:62px;margin-top:-31px}
.d-inribbon .rbn::before{content:'';position:absolute;left:0;right:0;top:100%;height:20px;background:linear-gradient(rgba(70,8,16,.26),transparent);transition:opacity .5s .6s}
.d-inribbon .rb-h{position:absolute;top:0;bottom:0;width:50.3%;background:linear-gradient(180deg,#c9a24b 0 2px,transparent 2px calc(100% - 2px),#c9a24b calc(100% - 2px)),repeating-linear-gradient(90deg,rgba(255,255,255,.07) 0 2px,transparent 2px 7px),linear-gradient(180deg,#e5444f 0,#b3202a 38%,#8c1520 70%,#a31b26 100%);will-change:transform;
 clip-path:polygon(0 0,100% 0,100% 50%,100% 100%,0 100%);transition:transform 1.15s .78s cubic-bezier(.35,.1,.3,1),opacity .8s 1.05s,clip-path .1s .7s}
.d-inribbon .rb-h::after{content:'';position:absolute;left:0;right:0;top:12%;height:22%;background:linear-gradient(180deg,rgba(255,255,255,.28),transparent)}
.d-inribbon .rb-l{left:0;transform-origin:0 50%}.d-inribbon .rb-r{right:0;transform-origin:100% 50%;clip-path:polygon(0 0,100% 0,100% 50%,100% 100%,0 100%)}
.d-inribbon .rb-r{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 50%)}
.d-inribbon .cover.go .rb-l{transform:translate(-14%,46px) rotate(9deg);opacity:0;clip-path:polygon(0 0,100% 0,calc(100% - 20px) 50%,100% 100%,0 100%)}
.d-inribbon .cover.go .rb-r{transform:translate(14%,46px) rotate(-9deg);opacity:0;clip-path:polygon(20px 0,100% 0,100% 100%,20px 100%,0 50%)}
.d-inribbon .cover.go .rbn::before{opacity:0}
.d-inribbon .cover>.orn .rb-sc{position:absolute;left:50%;top:50%;width:70px;height:131px;margin:-61px 0 0 -35px;z-index:3;overflow:visible;filter:drop-shadow(0 6px 5px rgba(60,8,14,.35));transition:transform .6s 1.35s ease-in,opacity .5s 1.4s}
.d-inribbon .rb-sc .bA,.d-inribbon .rb-sc .bB{transform-box:view-box;transform-origin:40px 70px}
.d-inribbon .rb-sc .bA{transform:rotate(-13deg);animation:snA 3.6s ease-in-out 1.2s infinite}.d-inribbon .rb-sc .bB{transform:rotate(13deg);animation:snB 3.6s ease-in-out 1.2s infinite}
@keyframes snA{0%,18%,100%{transform:rotate(-13deg)}8%{transform:rotate(3deg)}}@keyframes snB{0%,18%,100%{transform:rotate(13deg)}8%{transform:rotate(-3deg)}}
.d-inribbon .cover.go .rb-sc .bA{animation:gA .8s ease-in-out forwards}.d-inribbon .cover.go .rb-sc .bB{animation:gB .8s ease-in-out forwards}
@keyframes gA{0%{transform:rotate(-13deg)}25%{transform:rotate(3deg)}45%{transform:rotate(-12deg)}78%,100%{transform:rotate(3deg)}}@keyframes gB{0%{transform:rotate(13deg)}25%{transform:rotate(-3deg)}45%{transform:rotate(12deg)}78%,100%{transform:rotate(-3deg)}}
.d-inribbon .cover.go .rb-sc{transform:translateY(-50px) scale(.7);opacity:0}
.d-inribbon .cover>.orn .rb-st{position:absolute;left:50%;top:50%;width:min(92vw,440px);height:auto;margin:-60px 0 0 calc(min(92vw,440px)/-2);pointer-events:none}
.d-inribbon .cfx{position:absolute;left:50%;top:59%;z-index:4;pointer-events:none}.d-inribbon .cfx i{position:absolute;left:0;top:0;opacity:0;animation:cf 1.5s cubic-bezier(.2,.7,.4,1) forwards}
@keyframes cf{0%{opacity:1;transform:translate(0,0) rotate(0)}70%{opacity:1}100%{opacity:0;transform:translate(var(--dx),calc(var(--dy) + 150px)) rotate(var(--r))}}
.d-inribbon .cv-in{position:absolute;inset:0;max-width:none;padding:max(10vh,58px) 30px max(7.5vh,42px);display:flex;flex-direction:column;align-items:center}
.d-inribbon .cv-kick{font-size:11px;letter-spacing:.5em;color:#8f6f27;font-weight:400}.d-inribbon .cv-bl{display:none}.d-inribbon .cv-g{font-family:var(--fh);color:var(--ac)}
.d-inribbon .cv-names{font-family:var(--fd);font-weight:700;font-size:clamp(34px,10.8vw,58px);line-height:1.06;margin:16px 0 12px;max-width:100%;color:var(--ac)}
.d-inribbon .cv-names span{display:inline-block;max-width:100%;text-wrap:balance;background:linear-gradient(180deg,#d6303b,#8c1520);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding:.04em .06em}
.d-inribbon .cv-names i{font-family:var(--fd);font-style:italic;color:#8f6f27;margin:.1em 0}
.d-inribbon .cv-date{font-family:var(--fb);font-size:12px;font-weight:400;letter-spacing:.28em;text-transform:uppercase;color:#6a4a4e;margin:0}
.d-inribbon .cv-btn{margin-top:auto;border-radius:0;background:var(--ac);border:1px solid #8c1520;color:#fff;font-family:var(--fb);font-weight:500;letter-spacing:.3em;font-size:11px;padding:16px 34px;box-shadow:0 0 0 3px #fffaf3,0 0 0 4px var(--gd);animation:none}.d-inribbon .cv-btn:hover{background:#8c1520;color:#fff}
.d-inribbon .cover.go .cv-btn{opacity:0;transition:opacity .3s;animation:none}
@media(max-height:700px){.d-inribbon .cv-in{padding-top:52px}.d-inribbon .cv-names{font-size:clamp(30px,9.6vw,48px);margin:10px 0 8px}.d-inribbon .rbn{top:60%}}
/* hero */
.d-inribbon .hero-txt{padding:88px 22px 110px}
.d-inribbon .rbf{position:absolute;inset:16px}.d-inribbon .rbf::before{content:'';position:absolute;inset:0;border:1px solid rgba(240,214,138,.4)}.d-inribbon .hero .orn-frame{inset:0}
.d-inribbon .rbf .cn{border-color:#f0d68a;width:34px;height:34px}.d-inribbon .rbf .tl{left:-5px;top:-5px}.d-inribbon .rbf .tr{right:-5px;top:-5px}.d-inribbon .rbf .bl{left:-5px;bottom:-5px}.d-inribbon .rbf .br{right:-5px;bottom:-5px}
.d-inribbon .hero .orn-crest svg{width:min(78vw,300px);height:auto;margin:0 auto 6px}
.d-inribbon .rbcr g[fill="none"]{opacity:1}
.d-inribbon .hero .rbcr path:not(.tw){}
.d-inribbon .kick{font-family:var(--fb);font-weight:400;font-size:11px;letter-spacing:.5em;color:#f0d68a}
.d-inribbon .names{font-family:var(--fd);font-weight:700;font-size:clamp(40px,12.2vw,100px);line-height:1.05;margin:14px 0 22px}
.d-inribbon .names span{display:inline-block;max-width:100%;text-wrap:balance;background:linear-gradient(180deg,#fffaf0 0%,#f7e2a2 48%,#c9a24b 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding:.04em .06em}
.d-inribbon .names .amp{font-style:italic;font-weight:400;font-size:.4em}
.d-inribbon .when{font-family:var(--fb);font-weight:400;font-size:clamp(12px,3.3vw,15px);letter-spacing:.24em;text-transform:uppercase;color:#fff4dc}.d-inribbon .when b{color:#f0d68a}
.d-inribbon .time{color:#f0d68a;font-weight:400;letter-spacing:.3em}
.d-inribbon .scrollcue{color:#f0d68a}
/* sections */
.d-inribbon .sh h2{font-family:var(--fh);font-weight:700;font-size:clamp(24px,6.4vw,38px);color:var(--ac);letter-spacing:.01em}
.d-inribbon .intro{font-family:var(--fh);font-style:italic;font-weight:400;color:#4a2a2e;font-size:clamp(19px,4.8vw,26px)}
.d-inribbon .fam-h{color:#8f6f27;font-weight:500}.d-inribbon .fam b{font-family:var(--fh);color:var(--ink);font-weight:600}
.d-inribbon .sec-ev,.d-inribbon .sec-rs{background:linear-gradient(var(--bg2),var(--bg2));max-width:none}.d-inribbon .sec-ev>*,.d-inribbon .sec-rs>*{max-width:960px;margin-left:auto;margin-right:auto}
.d-inribbon .ev{padding:44px 22px 28px;border:1px solid rgba(201,162,75,.5);border-radius:3px;box-shadow:0 22px 40px -28px rgba(90,10,20,.45);overflow:visible}
.d-inribbon .ev::before{content:'';position:absolute;left:24px;right:24px;top:-1px;height:9px;background:linear-gradient(180deg,#e5444f,#a31b26);border-radius:0 0 4px 4px;box-shadow:0 0 0 1px rgba(201,162,75,.6)}
.d-inribbon .ev .orn-evmark{position:absolute;left:50%;top:-14px;transform:translateX(-50%)}.d-inribbon .ev .orn-evmark svg{width:34px;height:23px}
.d-inribbon .ev-d b{font-family:var(--fh);font-weight:700;color:var(--ac);font-size:56px}.d-inribbon .ev-d span{color:var(--ink);font-weight:500}
.d-inribbon .ev h3{font-family:var(--fh);font-weight:700;font-size:26px;color:var(--ink)}.d-inribbon .ev-t{color:#8f6f27;font-weight:500}
.d-inribbon .btn{border-radius:0;font-weight:500;letter-spacing:.2em;font-size:12px;background:var(--ac);border-color:#8c1520;color:#fff}.d-inribbon .btn.ghost{background:transparent;color:var(--ac);border-color:var(--ac)}
.d-inribbon .cd-c{background:#fff;border:1px solid rgba(201,162,75,.55);border-bottom:3px solid var(--ac);border-radius:2px;min-width:0;width:clamp(66px,19.5vw,96px);padding:16px 4px 12px}
.d-inribbon .cd-c b{font-family:var(--fh);font-weight:700;color:var(--ac)}.d-inribbon .cd-c span{font-size:10px;letter-spacing:.2em;color:#6a4a4e}.d-inribbon .cd-date{font-family:var(--fh);font-style:italic;color:#4a2a2e}
.d-inribbon .st-ph img{border-radius:4px;border:6px solid #fff;box-shadow:0 0 0 1px var(--gd)}.d-inribbon .st-tx p{color:#3a2024}
.d-inribbon .gi{border-radius:2px;background:#fff;padding:5px;border:1px solid rgba(201,162,75,.5)}.d-inribbon .gi img{border-radius:0}
.d-inribbon .rs-box{border-radius:3px;border:1px solid rgba(201,162,75,.5);border-top:5px solid var(--ac);box-shadow:0 22px 40px -28px rgba(90,10,20,.45)}.d-inribbon .rs-f input,.d-inribbon .rs-f textarea{border-radius:2px;background:#fffdf9}.d-inribbon .chip{border-radius:2px}.d-inribbon .chipl{border-radius:2px}
.d-inribbon .end-t{color:#4a2a2e}.d-inribbon .end-n{font-family:var(--fh);font-weight:700;font-style:italic;color:var(--ac);font-size:clamp(32px,8.5vw,52px)}.d-inribbon .orn-closing{margin-bottom:4px}.d-inribbon .orn-closing svg{width:74px;height:auto}
.d-inribbon .foot{color:#fff4dc;border-top:3px solid var(--gd)}.d-inribbon .foot small,.d-inribbon .foot-t,.d-inribbon .pw{color:#d9bfa8}.d-inribbon .foot-b{font-family:var(--fh);color:#f0d68a}.d-inribbon .chipl{border-color:rgba(240,214,138,.4)}.d-inribbon .mbtn{border-color:rgba(201,162,75,.6)}
@media(prefers-reduced-motion:reduce){.d-inribbon .rb-sc .bA,.d-inribbon .rb-sc .bB,.d-inribbon .tw{animation:none!important}}
