.inv-keychain{--kc-ink:#173452;--kc-muted:#718398;--kc-line:#dbe5eb;--kc-pink:#ef78aa;--kc-peach:#ff987d;--kc-teal:#2da99d;--kc-purple:#9d83e7;width:min(100%,1160px)!important;max-width:1160px!important;margin:18px auto 60px!important;padding:0 16px;color:var(--kc-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.inv-keychain,.inv-keychain *{box-sizing:border-box}
.inv-keychain button,.inv-keychain input,.inv-keychain select{font:inherit}
.inv-keychain button{margin:0}
.kc-hero{position:relative;display:grid;min-height:455px;grid-template-columns:minmax(0,1fr) minmax(420px,.92fr);overflow:hidden;border:1px solid #cfe3df;border-radius:34px;background:linear-gradient(125deg,#eefbf8 0%,#fffdf3 49%,#fff0f6 100%);box-shadow:0 18px 55px rgba(31,75,104,.09)}
.kc-hero:before{position:absolute;right:-36px;top:-52px;width:190px;height:150px;border-radius:45% 0 50% 60%;background:#ffe7bd;content:"";opacity:.75}
.kc-hero:after{position:absolute;left:-55px;bottom:-65px;width:175px;height:150px;border-radius:50%;background:#caeee8;content:"";opacity:.75}
.kc-hero-copy{position:relative;z-index:2;display:flex;padding:58px 28px 52px 45px;flex-direction:column;align-items:flex-start;justify-content:center}
.kc-kicker{display:inline-flex;min-height:29px;padding:0 12px;gap:8px;align-items:center;border:1px solid #bee3dc;border-radius:99px;background:rgba(255,255,255,.78);color:#33897f;font-size:9px;font-weight:900;letter-spacing:.12em;white-space:nowrap}
.kc-kicker i{width:9px;height:9px;border:3px solid #ffd6e8;border-radius:50%;background:#ee6da6;box-shadow:0 0 0 4px rgba(238,109,166,.08)}
.kc-hero h1{margin:18px 0 13px!important;color:#173752;font-size:48px!important;font-weight:780!important;letter-spacing:-.045em;line-height:1.03!important}
.kc-hero h1 em{background:linear-gradient(90deg,#329d94,#e46fa5,#f48b6e);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}
.kc-hero-copy>p{max-width:520px;margin:0!important;color:#657e91;font-size:13px;line-height:1.65}
.kc-hero-pills{display:flex;gap:7px;flex-wrap:wrap;margin-top:20px}
.kc-hero-pills span{display:inline-flex;min-height:29px;padding:0 10px;align-items:center;border:1px solid rgba(46,120,139,.14);border-radius:9px;background:rgba(255,255,255,.72);color:#49677d;font-size:9px;font-weight:800}
.kc-hero-cta{display:inline-flex;min-height:48px;margin-top:20px;padding:0 17px;gap:18px;align-items:center;border-radius:13px;background:linear-gradient(115deg,#25a79c,#9189df,#ef809c);color:#fff!important;font-size:10px;font-weight:900;letter-spacing:.08em;text-decoration:none!important;box-shadow:0 12px 23px rgba(81,138,153,.22);transition:.2s ease}
.kc-hero-cta:hover{transform:translateY(-2px);box-shadow:0 15px 29px rgba(81,138,153,.3)}
.kc-hero-cta b{display:grid;width:25px;height:25px;place-items:center;border:1px solid rgba(255,255,255,.4);border-radius:50%;font-size:14px}
.kc-hero-visual{position:relative;z-index:1;min-height:455px;overflow:hidden;background:radial-gradient(circle at 47% 44%,rgba(255,255,255,.98) 0 27%,rgba(252,242,255,.58) 60%,transparent 70%)}
.kc-hero-visual:before{position:absolute;left:6%;right:5%;bottom:47px;height:36px;border-radius:50%;background:rgba(37,65,85,.14);content:"";filter:blur(13px)}
.kc-hero-item{position:absolute;width:160px;height:260px;filter:drop-shadow(0 18px 15px rgba(36,55,72,.17));transform-origin:50% 8%}
.kc-hero-item.is-main{z-index:3;left:50%;top:56px;width:190px;height:310px;transform:translateX(-50%) rotate(3deg)}
.kc-hero-item.is-left{z-index:2;left:7%;top:101px;transform:rotate(-13deg)}
.kc-hero-item.is-right{z-index:1;right:3%;top:110px;transform:rotate(13deg)}
.kc-hero-label{position:absolute;z-index:4;right:20px;bottom:18px;display:flex;padding:9px 12px;flex-direction:column;border:1px solid rgba(32,99,112,.22);border-radius:12px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(41,64,82,.08);backdrop-filter:blur(10px)}
.kc-hero-label small{color:#de6497;font-size:7px;font-weight:900;letter-spacing:.14em}.kc-hero-label strong{margin-top:2px;color:#234a63;font-size:11px}
.kc-spark{position:absolute;z-index:4;color:#f7ad46;text-shadow:0 3px 8px rgba(247,173,70,.25);animation:kcTwinkle 1.8s ease-in-out infinite}.kc-spark-a{left:10%;top:62px;font-size:19px}.kc-spark-b{right:11%;top:64px;font-size:25px;animation-delay:.7s}.kc-spark-c{right:6%;bottom:95px;color:#ee83ac;font-size:13px;animation-delay:1.1s}
@keyframes kcTwinkle{0%,100%{opacity:.45;transform:scale(.85) rotate(0)}50%{opacity:1;transform:scale(1.15) rotate(14deg)}}
.kc-feature-strip{display:grid;grid-template-columns:repeat(4,1fr);margin:16px 0;padding:14px;border:1px solid var(--kc-line);border-radius:20px;background:#fff;box-shadow:0 10px 30px rgba(31,75,104,.055)}
.kc-feature-strip>div{display:flex;min-width:0;padding:8px 15px;gap:11px;align-items:center;border-right:1px solid #e8eef2}.kc-feature-strip>div:last-child{border-right:0}
.kc-feature-strip>div>span{display:grid;width:29px;height:29px;flex:0 0 29px;place-items:center;border-radius:9px;background:#eff8f7;color:#27958b;font-size:8px;font-weight:900}
.kc-feature-strip p{margin:0!important}.kc-feature-strip b,.kc-feature-strip small{display:block}.kc-feature-strip b{font-size:10px}.kc-feature-strip small{margin-top:2px;color:#8090a0;font-size:8px;line-height:1.35}
.kc-memory-banner{display:grid;grid-template-columns:60px minmax(0,1fr) auto;gap:17px;align-items:center;margin:16px 0 22px;padding:20px 24px;border:1px solid #f3d9e4;border-radius:21px;background:linear-gradient(110deg,#fff7fa,#fffbee 55%,#f1fbfa)}
.kc-memory-icon{display:grid;width:56px;height:56px;place-items:center;border-radius:18px;background:#fff;font-size:27px;box-shadow:0 8px 20px rgba(94,69,89,.1);transform:rotate(-4deg)}
.kc-memory-banner span{color:#dc6298;font-size:8px;font-weight:950;letter-spacing:.14em}.kc-memory-banner h2{margin:3px 0!important;color:#203e5a;font-size:19px!important;letter-spacing:-.02em}.kc-memory-banner p{margin:0!important;color:#758596;font-size:9px;line-height:1.55}
.kc-friend-chips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.kc-friend-chips span{padding:7px 9px;border:1px solid #ead9e5;border-radius:99px;background:#fff;color:#566d82;font-size:7px;letter-spacing:.08em}
.kc-order-form{scroll-margin-top:18px;border:1px solid #d7e4e9;border-radius:28px;background:linear-gradient(150deg,#fff 0%,#fff 69%,#fff7f2 100%);box-shadow:0 18px 52px rgba(31,75,104,.08)}
.kc-builder-head{display:flex;padding:29px 31px 22px;gap:20px;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #e5ecef}.kc-builder-head>div>span{color:#7990a5;font-size:8px;font-weight:900;letter-spacing:.15em}.kc-builder-head h2{margin:6px 0 4px!important;color:#203f5b;font-size:25px!important;letter-spacing:-.03em}.kc-builder-head p{margin:0!important;color:#7a8c9d;font-size:10px}.kc-design-included{display:inline-flex;min-height:28px;padding:0 11px;align-items:center;border-radius:99px;background:#e9f8f3;color:#258d75;font-size:8px;font-weight:900;white-space:nowrap}
.kc-material-tabs{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:18px 30px}.kc-material-tabs button{position:relative;display:grid;min-height:78px;grid-template-columns:48px minmax(0,1fr) 24px;gap:12px;align-items:center;padding:12px 15px;border:1px solid #dce5ea;border-radius:16px;background:#fff;color:#38536c;text-align:left;cursor:pointer;transition:.2s ease}.kc-material-tabs button:hover{border-color:#b9d7d4;transform:translateY(-1px)}.kc-material-tabs button.is-selected{border-color:#67c4b9;background:linear-gradient(115deg,#edfbf7,#fff9ef);box-shadow:0 7px 20px rgba(46,157,146,.11)}
.kc-material-icon{display:grid;width:45px;height:45px;place-items:center;border-radius:14px;font-size:20px;font-weight:900}.kc-material-icon.is-wood{background:linear-gradient(145deg,#f4e2bd,#dfb77d);color:#87592d}.kc-material-icon.is-acrylic{background:linear-gradient(145deg,#d8f5ff,#eadcff,#ffd9eb);color:#8060c2}.kc-material-tabs p{margin:0!important}.kc-material-tabs small,.kc-material-tabs b,.kc-material-tabs em{display:block}.kc-material-tabs small{color:#8a9bad;font-size:7px;font-weight:900;letter-spacing:.1em}.kc-material-tabs b{margin:3px 0 2px;font-size:12px}.kc-material-tabs em{color:#8a98a5;font-size:8px;font-style:normal}.kc-material-tabs button>i{display:grid;width:21px;height:21px;place-items:center;border-radius:50%;background:#e8edf1;color:transparent;font-size:9px;font-style:normal}.kc-material-tabs button.is-selected>i{background:#39aa9e;color:#fff}
.kc-builder-grid{display:grid;grid-template-columns:370px minmax(0,1fr);gap:23px;padding:2px 30px 30px;align-items:start}
.kc-preview-card{position:sticky;top:18px;padding:17px;border:1px solid #d9e5ea;border-radius:22px;background:linear-gradient(155deg,#f0fbfa,#fff 55%,#fff4f8);box-shadow:0 12px 34px rgba(27,60,83,.08)}
.kc-card-eyebrow{display:flex;gap:7px;align-items:center;color:#537185;font-size:8px;font-weight:900;letter-spacing:.11em}.kc-card-eyebrow span{color:#41ad91;font-size:12px}
.kc-stage{position:relative;display:grid;height:415px;margin-top:12px;place-items:center;overflow:hidden;border:1px solid rgba(120,157,170,.2);border-radius:17px;background:radial-gradient(circle at 50% 43%,#fff 0 34%,#f4f9f8 69%,#eaf4f2 100%)}
.kc-stage:before{position:absolute;left:13%;right:13%;bottom:39px;height:25px;border-radius:50%;background:rgba(21,56,73,.13);content:"";filter:blur(10px)}.kc-stage:after{position:absolute;inset:14px;border:1px dashed rgba(66,144,150,.12);border-radius:12px;content:""}
.kc-stage-glow{position:absolute;left:50%;top:43%;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.9);filter:blur(1px);transform:translate(-50%,-50%)}
.kc-live-product{position:relative;z-index:2;width:86%;height:88%}.kc-live-art,.kc-modal-art{width:100%;height:100%}
.kc-render{position:relative;width:100%;height:100%}.kc-render svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 14px 10px rgba(32,52,67,.18))}
.kc-preview-zoom{position:absolute;z-index:5;right:12px;bottom:12px;display:inline-flex;min-height:31px;padding:0 10px;gap:6px;align-items:center;border:1px solid rgba(47,109,128,.2);border-radius:99px;background:rgba(255,255,255,.9);color:#37647a;font-size:9px;font-weight:900;cursor:pointer;box-shadow:0 6px 16px rgba(31,70,88,.08);backdrop-filter:blur(8px)}
.kc-active-person{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin-top:10px;padding:11px 12px;border-radius:12px;background:#fff}.kc-active-person>span{grid-column:1/-1;color:#91a0ad;font-size:7px;font-weight:900;letter-spacing:.12em}.kc-active-person strong{overflow:hidden;color:#294b64;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.kc-active-person small{align-self:center;color:#dd679a;font-size:8px;font-weight:900}.kc-preview-note{margin:9px 2px 0!important;color:#8997a4;font-size:7px;line-height:1.5}
.kc-controls{display:grid;gap:14px}.kc-step,.kc-checkout-card{padding:18px;border:1px solid #e0e7eb;border-radius:18px;background:#fff}.kc-step>header{display:grid;grid-template-columns:29px minmax(0,1fr) auto;gap:10px;align-items:center;margin-bottom:13px}.kc-step>header>span{display:grid;width:27px;height:27px;place-items:center;border-radius:9px;background:#edf7ff;color:#3675ca;font-size:9px;font-weight:900}.kc-step>header small{display:block;color:#8094a7;font-size:7px;font-weight:900;letter-spacing:.13em}.kc-step>header h3{margin:2px 0 0!important;color:#26445f;font-size:15px!important}.kc-step>header>b{color:#8b9ba8;font-size:8px;letter-spacing:.07em}.kc-step-help{margin:-4px 0 12px!important;color:#8695a2;font-size:8px;line-height:1.5}
.kc-design-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.kc-design-card{position:relative;min-width:0;padding:7px;border:1px solid #e2e8ec;border-radius:12px;background:#fbfcfd;color:#294860;cursor:pointer;transition:.17s ease}.kc-design-card[hidden]{display:none!important}.kc-design-card:hover{border-color:#b6d4d1;transform:translateY(-2px)}.kc-design-card.is-selected{border-color:#e56fa1;background:linear-gradient(145deg,#fff1f7,#fff9eb);box-shadow:0 0 0 2px rgba(229,111,161,.09)}.kc-design-thumb{display:block;width:100%;height:96px;overflow:hidden;border-radius:8px;background:radial-gradient(circle,#fff,#f1f6f7)}.kc-design-copy{display:block;min-width:0;margin-top:5px;text-align:center}.kc-design-copy b,.kc-design-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kc-design-copy b{font-size:8px}.kc-design-copy small{margin-top:2px;color:#95a1ab;font-size:6px}.kc-design-card>i{position:absolute;right:5px;top:5px;display:grid;width:16px;height:16px;place-items:center;border-radius:50%;background:#e7ecef;color:transparent;font-size:7px;font-style:normal}.kc-design-card.is-selected>i{background:#ee78a8;color:#fff}
.kc-name-list{display:grid;gap:8px}.kc-name-row{display:grid;grid-template-columns:33px minmax(0,1fr) 150px 47px 30px;gap:8px;align-items:end;padding:9px;border:1px solid #e2e8eb;border-radius:13px;background:#fbfcfd;transition:.16s ease}.kc-name-row.is-active{border-color:#71c8bd;background:#f2fbf8;box-shadow:0 0 0 2px rgba(80,183,170,.07)}.kc-name-index{display:grid;width:31px;height:39px;padding:0;place-items:center;border:0;border-radius:9px;background:#eaf3f8;color:#426b85;font-size:8px;font-weight:900;cursor:pointer}.kc-name-row.is-active .kc-name-index{background:#33aa9d;color:#fff}.kc-name-row label,.kc-gender{display:flex;min-width:0;flex-direction:column;gap:5px}.kc-name-row label>span,.kc-gender>span{color:#8697a5;font-size:6px;font-weight:900;letter-spacing:.1em}.kc-person-name{width:100%;height:39px!important;margin:0!important;padding:0 10px!important;border:1px solid #d4dee4!important;border-radius:9px!important;background:#fff!important;color:#223f58!important;font-size:11px!important;font-weight:750!important;outline:none!important;box-shadow:none!important}.kc-person-name:focus{border-color:#4ab3a7!important;box-shadow:0 0 0 3px rgba(74,179,167,.1)!important}.kc-gender>div{display:grid;grid-template-columns:1fr 1fr;gap:4px}.kc-gender button{display:flex;height:39px;padding:0 6px;gap:4px;align-items:center;justify-content:center;border:1px solid #d9e1e5;border-radius:9px;background:#fff;color:#708495;font-size:11px;cursor:pointer}.kc-gender button em{font-size:6px;font-style:normal;font-weight:900}.kc-gender button.is-selected{border-color:#c981d6;background:#f8effc;color:#9b4eae}.kc-person-share{display:flex;height:39px;align-items:center;justify-content:center;border-radius:9px;background:#fff0f6;color:#c15485;font-size:7px;font-weight:900}.kc-remove-name{display:grid;width:29px;height:39px;padding:0;place-items:center;border:1px solid #ead7df;border-radius:9px;background:#fff;color:#d05d87;font-size:15px;cursor:pointer}.kc-remove-name:hover{background:#fff0f5}.inv-keychain[data-material="wood"] .kc-gender{display:none}.inv-keychain[data-material="wood"] .kc-name-row{grid-template-columns:33px minmax(0,1fr) 47px 30px}
.kc-add-name{display:inline-flex;min-height:38px;margin-top:9px;padding:0 12px;align-items:center;border:1px dashed #d37eaa;border-radius:10px;background:#fff7fb;color:#b24b80;font-size:8px;font-weight:900;letter-spacing:.04em;cursor:pointer}.kc-add-name:hover{border-style:solid;background:#ffeef7}
.kc-dedication{display:grid;grid-template-columns:245px minmax(0,1fr);gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed #dfe5e8}.kc-switch-row{display:flex;min-height:54px;padding:9px 11px;gap:10px;align-items:center;justify-content:space-between;border:1px solid #dfe6e9;border-radius:12px;background:#fcfcfc;cursor:pointer}.kc-switch-row>span b,.kc-switch-row>span small{display:block}.kc-switch-row>span b{font-size:9px}.kc-switch-row>span small{margin-top:2px;color:#8998a4;font-size:7px}.kc-switch-row input{position:absolute;opacity:0;pointer-events:none}.kc-switch-row>i{position:relative;width:39px;height:22px;flex:0 0 39px;border-radius:99px;background:#ced8dd;transition:.2s ease}.kc-switch-row>i:after{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;content:"";box-shadow:0 2px 5px rgba(0,0,0,.14);transition:.2s ease}.kc-switch-row input:checked+i{background:#35aa9d}.kc-switch-row input:checked+i:after{transform:translateX(17px)}
.kc-dedication-field{display:flex;min-width:0;flex-direction:column;gap:5px}.kc-dedication-field>span{color:#8697a5;font-size:6px;font-weight:900;letter-spacing:.1em}.kc-dedication-field input{width:100%;height:39px!important;margin:0!important;padding:0 10px!important;border:1px solid #d5dee3!important;border-radius:9px!important;background:#fff!important;color:#263f55!important;font-size:10px!important;outline:none!important;box-shadow:none!important}.kc-dedication-field input:focus{border-color:#4ab3a7!important;box-shadow:0 0 0 3px rgba(74,179,167,.1)!important}.kc-dedication.is-off .kc-dedication-field{opacity:.42;pointer-events:none}
.kc-quantity-row{display:grid;grid-template-columns:minmax(0,1fr) 175px;gap:10px}.kc-quantity-row>label,.kc-unit-price{display:flex;min-height:60px;padding:9px 11px;flex-direction:column;justify-content:center;border:1px solid #dfe6ea;border-radius:12px;background:#fbfcfc}.kc-quantity-row>label>span,.kc-unit-price>span{margin-bottom:5px;color:#8798a6;font-size:6px;font-weight:900;letter-spacing:.1em}.kc-quantity-row select{width:100%;height:31px!important;margin:0!important;padding:0 9px!important;border:0!important;border-radius:7px!important;background:#eef8f6!important;color:#2d5c65!important;font-size:11px!important;font-weight:850!important;outline:0!important}.kc-unit-price strong{color:#dd6193;font-size:15px}.kc-distribution{margin-top:8px;padding:8px 10px;border-radius:9px;background:#f4f7f9;color:#738593;font-size:7px;font-weight:750;line-height:1.5}
.kc-checkout-card{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:11px;background:linear-gradient(120deg,#f0fbf8,#fffaf1 52%,#fff0f7)}.kc-order-summary,.kc-total{padding:13px;border:1px solid rgba(141,173,178,.2);border-radius:13px;background:rgba(255,255,255,.82)}.kc-order-summary>span,.kc-order-summary>strong,.kc-order-summary>small{display:block}.kc-order-summary>span{color:#8095a4;font-size:7px;font-weight:900;letter-spacing:.11em}.kc-order-summary>strong{margin-top:4px;color:#284a61;font-size:11px}.kc-order-summary>small{margin-top:3px;color:#81919e;font-size:8px}.kc-total{display:flex;align-items:center;justify-content:space-between}.kc-total>span{color:#657d8f;font-size:7px;font-weight:900;letter-spacing:.08em}.kc-total>span small{display:block;margin-top:3px;color:#95a2ac;font-size:6px;letter-spacing:0}.kc-total>strong{color:#d75f90;font-size:26px;letter-spacing:-.04em}.kc-total sup{margin-right:3px;font-size:9px}.kc-proof{grid-column:1/-1;display:flex;gap:8px;align-items:flex-start;color:#667e8d;font-size:8px;line-height:1.45;cursor:pointer}.kc-proof input{width:16px;height:16px;flex:0 0 16px;margin:0;accent-color:#36a99d}.kc-message{grid-column:1/-1;min-height:0;margin:0!important;color:#be365e;font-size:8px;font-weight:750}.kc-message:empty{display:none}.kc-submit{grid-column:1/-1;display:grid;width:100%;min-height:58px;grid-template-columns:40px minmax(0,1fr) 26px;gap:11px;align-items:center;padding:7px 12px;border:0;border-radius:15px;background:linear-gradient(105deg,#28a99e,#8e8cdf 56%,#f184a0);color:#fff;cursor:pointer;box-shadow:0 12px 24px rgba(94,130,150,.22);transition:.18s ease}.kc-submit:hover{transform:translateY(-2px);box-shadow:0 15px 28px rgba(94,130,150,.29)}.kc-cart-icon{display:grid;width:38px;height:38px;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:11px;background:rgba(255,255,255,.12);font-size:17px}.kc-submit>span:nth-child(2){text-align:left}.kc-submit b,.kc-submit small{display:block}.kc-submit b{font-size:12px;letter-spacing:.08em}.kc-submit small{margin-top:2px;color:rgba(255,255,255,.8);font-size:7px}.kc-submit>i{font-size:17px;font-style:normal}.kc-view-cart{grid-column:1/-1;justify-self:center;color:#597486!important;font-size:7px;font-weight:900;text-decoration:none!important}
.kc-mini-shell{position:relative;width:100%;height:100%}.kc-mini-shell svg{display:block;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 6px 5px rgba(34,51,63,.2))}
.kc-preview-modal{position:fixed;z-index:999999;inset:0;display:grid;padding:20px;place-items:center}.kc-preview-modal[hidden]{display:none!important}.kc-modal-backdrop{position:absolute;inset:0;background:rgba(19,39,55,.72);backdrop-filter:blur(7px)}.kc-modal-dialog{position:relative;z-index:2;width:min(92vw,620px);height:min(88vh,720px);padding:48px 24px 22px;border:1px solid rgba(255,255,255,.55);border-radius:25px;background:radial-gradient(circle,#fff 0 47%,#edf7f6 100%);box-shadow:0 30px 90px rgba(0,0,0,.32)}.kc-modal-dialog>button{position:absolute;right:15px;top:15px;display:grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid #d4e0e5;border-radius:50%;background:#fff;color:#49677a;font-size:19px;cursor:pointer}.kc-modal-art{height:calc(100% - 30px)}.kc-modal-dialog>p{margin:0!important;color:#738796;font-size:9px;text-align:center}
body.kc-modal-open{overflow:hidden}
@media(max-width:980px){.kc-hero{grid-template-columns:1fr 400px}.kc-hero-copy{padding-left:30px}.kc-hero h1{font-size:40px!important}.kc-feature-strip{grid-template-columns:1fr 1fr}.kc-feature-strip>div:nth-child(2){border-right:0}.kc-feature-strip>div:nth-child(-n+2){border-bottom:1px solid #e8eef2}.kc-builder-grid{grid-template-columns:320px minmax(0,1fr)}.kc-design-grid{grid-template-columns:repeat(3,1fr)}.kc-name-row{grid-template-columns:31px minmax(0,1fr) 120px 42px 28px}.kc-dedication{grid-template-columns:215px minmax(0,1fr)}}
@media(max-width:760px){.inv-keychain{width:100%!important;margin:10px auto 40px!important;padding:0 10px}.kc-hero{display:block;min-height:0;border-radius:22px}.kc-hero-copy{padding:28px 19px 18px}.kc-kicker{font-size:7px}.kc-hero h1{margin-top:14px!important;font-size:35px!important}.kc-hero-copy>p{font-size:10px}.kc-hero-pills span{font-size:7px}.kc-hero-cta{width:100%;min-height:45px;justify-content:space-between}.kc-hero-visual{min-height:340px}.kc-hero-item.is-main{top:30px;width:168px;height:275px}.kc-hero-item.is-left{left:0;top:83px;width:130px;height:215px}.kc-hero-item.is-right{right:-4px;top:95px;width:125px;height:205px}.kc-memory-banner{grid-template-columns:48px minmax(0,1fr);padding:15px}.kc-memory-icon{width:46px;height:46px;font-size:22px}.kc-memory-banner h2{font-size:15px!important}.kc-friend-chips{grid-column:1/-1;justify-content:flex-start}.kc-builder-head{display:block;padding:22px 17px 16px}.kc-builder-head h2{font-size:21px!important}.kc-design-included{margin-top:11px}.kc-material-tabs{padding:13px 14px;grid-template-columns:1fr}.kc-material-tabs button{min-height:70px}.kc-builder-grid{display:flex;padding:0 14px 17px;flex-direction:column;gap:13px}.kc-preview-card{position:static;width:100%;padding:13px}.kc-stage{height:390px}.kc-controls{width:100%}.kc-step,.kc-checkout-card{padding:14px}.kc-design-grid{grid-template-columns:repeat(2,1fr)}.kc-design-thumb{height:125px}.kc-name-row,.inv-keychain[data-material="wood"] .kc-name-row{grid-template-columns:31px minmax(0,1fr) 42px 28px}.kc-gender{grid-column:2/5}.kc-person-share{grid-column:3/4;grid-row:1}.kc-remove-name{grid-column:4/5;grid-row:1}.kc-dedication{grid-template-columns:1fr}.kc-quantity-row{grid-template-columns:1fr 125px}.kc-checkout-card{grid-template-columns:1fr}.kc-total{grid-column:1}.kc-proof,.kc-message,.kc-submit,.kc-view-cart{grid-column:1}.kc-feature-strip{padding:8px}.kc-feature-strip>div{padding:8px}.kc-feature-strip b{font-size:9px}.kc-feature-strip small{font-size:7px}}
@media(max-width:430px){.kc-hero h1{font-size:32px!important}.kc-hero-visual{min-height:305px}.kc-hero-item.is-main{width:150px;height:245px}.kc-hero-item.is-left{width:108px;height:185px}.kc-hero-item.is-right{width:105px;height:180px}.kc-feature-strip{grid-template-columns:1fr}.kc-feature-strip>div{border-right:0!important;border-bottom:1px solid #e8eef2}.kc-feature-strip>div:last-child{border-bottom:0}.kc-builder-head p{font-size:9px}.kc-stage{height:350px}.kc-design-thumb{height:112px}.kc-quantity-row{grid-template-columns:1fr}.kc-checkout-card{padding:12px}.kc-modal-dialog{height:min(85vh,610px);padding:42px 12px 15px}}
@media(prefers-reduced-motion:reduce){.kc-spark{animation:none}.inv-keychain *{scroll-behavior:auto!important;transition:none!important}}

/* v2.5.76 — quantity sheet preview, exact AI silhouettes and font selector */
.kc-stage{height:520px;padding:8px;place-items:stretch}
.kc-stage-glow{pointer-events:none}
.kc-live-sheet{position:relative;z-index:2;display:grid;width:100%;height:100%;padding:7px 5px 48px;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-content:start;overflow:auto;scrollbar-width:thin;scrollbar-color:#abcac8 transparent}
.kc-live-sheet::-webkit-scrollbar{width:7px}.kc-live-sheet::-webkit-scrollbar-thumb{border-radius:99px;background:#abcac8}.kc-live-sheet::-webkit-scrollbar-track{background:transparent}
.kc-sheet-piece{position:relative;display:block;min-width:0;height:190px;padding:9px 6px 5px;border:1px solid rgba(89,139,151,.16);border-radius:14px;background:rgba(255,255,255,.8);color:var(--kc-ink);cursor:pointer;transition:.16s ease}
.kc-sheet-piece:hover{border-color:#65bbb0;background:#fff;transform:translateY(-1px)}.kc-sheet-piece.is-active{border-color:#ee78a8;box-shadow:0 0 0 2px rgba(238,120,168,.11);background:#fff9fb}
.kc-piece-number{position:absolute;z-index:4;left:7px;top:7px;display:grid;min-width:23px;height:20px;padding:0 5px;place-items:center;border-radius:7px;background:rgba(27,65,83,.84);color:#fff;font-size:6px;font-weight:900;letter-spacing:.06em;box-shadow:0 4px 9px rgba(22,52,68,.15)}
.kc-sheet-piece .kc-render{width:100%;height:100%}.kc-sheet-piece .kc-render svg{filter:drop-shadow(0 6px 5px rgba(32,52,67,.16))}
.kc-render--landscape svg{padding:15px 0}.kc-render--oval svg{padding:17px 0}
.kc-font-heading{display:flex;margin:15px 0 8px;gap:8px;align-items:baseline;justify-content:space-between;border-top:1px dashed #e0e7eb;padding-top:12px}.kc-font-heading span{color:#526f83;font-size:7px;font-weight:950;letter-spacing:.11em}.kc-font-heading small{color:#8b99a5;font-size:7px;text-align:right}
.kc-font-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.kc-font-picker button{position:relative;display:flex;min-width:0;min-height:55px;padding:7px 23px 7px 9px;flex-direction:column;align-items:flex-start;justify-content:center;border:1px solid #dfe7eb;border-radius:11px;background:#fbfcfd;color:#29485e;cursor:pointer}.kc-font-picker button:hover{border-color:#a7d2ce;background:#f7fcfb}.kc-font-picker button.is-selected{border-color:#e471a3;background:linear-gradient(145deg,#fff0f7,#fffaf0);box-shadow:0 0 0 2px rgba(228,113,163,.08)}.kc-font-picker strong{display:block;max-width:100%;overflow:hidden;font-size:15px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.kc-font-picker small{display:block;margin-top:4px;color:#8b99a5;font-family:Inter,Arial,sans-serif;font-size:6px;font-weight:800}.kc-font-picker i{position:absolute;right:7px;top:7px;display:grid;width:15px;height:15px;place-items:center;border-radius:50%;background:#e6ecef;color:transparent;font-family:Arial,sans-serif;font-size:7px;font-style:normal}.kc-font-picker button.is-selected i{background:#eb76a6;color:#fff}
.kc-font-modern strong{font-family:Arial Black,Arial,sans-serif}.kc-font-classic strong{font-family:Georgia,Times New Roman,serif}.kc-font-script strong{font-family:Brush Script MT,Segoe Script,cursive;font-weight:500}.kc-font-rounded strong{font-family:Arial Rounded MT Bold,Trebuchet MS,sans-serif}.kc-font-elegant strong{font-family:Palatino Linotype,Book Antiqua,serif}.kc-font-playful strong{font-family:Comic Sans MS,Trebuchet MS,cursive}
.kc-modal-dialog{width:min(96vw,1080px);height:min(92vh,850px);padding:48px 20px 20px}.kc-modal-art{height:calc(100% - 30px);overflow:hidden}.kc-live-sheet--modal{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));padding:6px 5px 18px}.kc-live-sheet--modal .kc-sheet-piece{height:210px}
@media(max-width:760px){.kc-stage{height:455px}.kc-live-sheet{gap:7px;padding:5px 3px 46px}.kc-sheet-piece{height:180px}.kc-font-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-font-heading{display:block}.kc-font-heading small{display:block;margin-top:4px;text-align:left}.kc-live-sheet--modal{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-live-sheet--modal .kc-sheet-piece{height:190px}}
@media(max-width:430px){.kc-stage{height:430px}.kc-sheet-piece{height:165px;padding:7px 3px 4px}.kc-piece-number{left:5px;top:5px;min-width:20px;height:18px}.kc-modal-dialog{height:min(90vh,760px)}}

/* v2.5.77 */
.kc-preview-top{padding:0 30px 18px;display:flex;justify-content:flex-start}.kc-preview-top .kc-preview-card{position:static;width:330px;max-width:100%}.kc-preview-top .kc-stage{height:360px}.kc-builder-grid{display:block;padding:0 30px 30px}.kc-controls{max-width:none}.kc-name-row{grid-template-columns:34px minmax(110px,.55fr) minmax(150px,1fr) minmax(145px,.85fr) 46px}.kc-person-title-field input{width:100%;height:38px;border:1px solid #cdddea;border-radius:10px;padding:0 10px;font-weight:800;color:#25425b}.kc-background-zone{margin-top:22px;padding-top:18px;border-top:1px dashed #d7e6ef}.kc-background-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.kc-background-card{border:1px solid #d8e4ec;border-radius:12px;background:#fff;padding:7px;display:flex;gap:7px;align-items:center;cursor:pointer;text-align:left}.kc-background-card i{width:28px;height:28px;border-radius:9px;display:block;box-shadow:inset 0 0 0 1px #fff8}.kc-background-card small{font-size:9px;font-weight:900;color:#31506a;line-height:1.1}.kc-background-card.is-selected{border-color:#f267a2;box-shadow:0 0 0 2px #ffe0ee}.kc-name-mode{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.kc-name-mode button{border:1px solid #d4e2eb;background:#fff;border-radius:12px;padding:10px;text-align:left;cursor:pointer;color:#31506a}.kc-name-mode button b{display:block;font-size:11px}.kc-name-mode button small{font-size:10px;opacity:.72}.kc-name-mode button.is-selected{background:linear-gradient(135deg,#e9f8f4,#fff4f8);border-color:#32b6a6;box-shadow:0 3px 12px #42b7a426}.kc-checkout-card{grid-template-columns:1fr!important;background:transparent!important;border:0!important;padding:10px 0!important}.kc-order-summary{display:none!important}.kc-total{min-height:102px;border:0!important;border-radius:18px!important;background:linear-gradient(120deg,#dff8eb,#fff0c8 52%,#ffd8ea)!important;box-shadow:0 10px 24px rgba(237,121,165,.18)!important;padding:18px 22px!important;align-items:flex-start!important;justify-content:center!important;gap:3px!important}.kc-total span{font-size:11px!important;letter-spacing:.15em!important;color:#345a62!important;font-weight:900!important}.kc-total span small{display:none!important}.kc-total strong{font-size:38px!important;color:#ed5b9a!important;text-shadow:0 2px 0 #fff}.kc-piece-modal[hidden]{display:none!important}.kc-piece-modal{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:18px}.kc-piece-modal-dialog{position:relative;z-index:2;background:#f9fffd;border-radius:25px;max-width:480px;width:min(480px,100%);min-height:520px;padding:32px;display:grid;place-items:center;box-shadow:0 30px 80px #16233488}.kc-piece-modal-dialog>button{position:absolute;right:14px;top:14px;border:0;background:#fff;border-radius:50%;width:36px;height:36px;font-size:26px;color:#496278}.kc-piece-modal-dialog [data-kc-piece-modal-art]{width:min(330px,100%);height:420px;display:grid;place-items:center}.kc-piece-modal-dialog .kc-render{width:100%;height:100%}.kc-piece-modal-dialog p{margin:0;color:#31506a;font-size:12px;font-weight:900;letter-spacing:.05em}.kc-preview-top .kc-live-sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-preview-top .kc-sheet-piece:nth-child(n+5){display:none}
@media(max-width:720px){.kc-preview-top{padding:0 14px 14px}.kc-preview-top .kc-preview-card{width:100%}.kc-preview-top .kc-stage{height:330px}.kc-builder-grid{padding:0 14px 22px}.kc-name-row{grid-template-columns:34px 1fr;gap:8px}.kc-name-row .kc-person-title-field,.kc-name-row>label:not(.kc-person-title-field),.kc-name-row .kc-gender{grid-column:2}.kc-name-row .kc-person-share{grid-column:2}.kc-background-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kc-piece-modal-dialog{min-height:460px;padding:26px}.kc-piece-modal-dialog [data-kc-piece-modal-art]{height:360px}}

/* v3.0.9 — preview penuh dan semakan satu unit */
.kc-preview-top{display:block;padding:0 30px 22px}
.kc-preview-top .kc-preview-card{width:100%;max-width:none}
.kc-preview-top .kc-stage{height:500px}
.kc-preview-top .kc-live-sheet{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;padding:9px 8px 54px}
.kc-preview-top .kc-sheet-piece{height:225px}
.kc-preview-top .kc-sheet-piece:nth-child(n+5){display:block}
.kc-preview-modal{z-index:999999}
.kc-preview-modal .kc-modal-dialog{width:min(96vw,1440px);height:min(92vh,930px);padding:48px 22px 20px}
.kc-preview-modal .kc-modal-art{height:calc(100% - 30px);overflow:hidden}
.kc-preview-modal .kc-live-sheet--modal{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;padding:8px 8px 22px}
.kc-preview-modal .kc-live-sheet--modal .kc-sheet-piece{height:250px}
.kc-piece-modal{z-index:1000000;display:block;padding:0;pointer-events:none}
.kc-piece-modal .kc-modal-backdrop{display:none}
.kc-piece-modal-dialog{position:fixed;right:24px;top:50%;z-index:3;width:min(360px,30vw);min-height:0;height:min(78vh,660px);padding:28px 22px 18px;transform:translateY(-50%);pointer-events:auto;border:1px solid rgba(255,255,255,.8);border-radius:22px;background:linear-gradient(145deg,#ffffff,#edf9f7);box-shadow:0 24px 70px rgba(12,35,48,.34)}
.kc-piece-modal-dialog [data-kc-piece-modal-art]{width:min(280px,100%);height:calc(100% - 34px)}
.kc-piece-modal-dialog p{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}
@media(max-width:1100px){.kc-preview-top .kc-stage{height:450px}.kc-preview-top .kc-live-sheet{grid-template-columns:repeat(auto-fit,minmax(125px,1fr))}.kc-preview-top .kc-sheet-piece{height:205px}.kc-preview-modal .kc-modal-dialog{width:min(95vw,980px)}.kc-piece-modal-dialog{right:14px;width:min(330px,38vw)}}
@media(max-width:720px){.kc-preview-top{padding:0 14px 16px}.kc-preview-top .kc-stage{height:390px}.kc-preview-top .kc-live-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:6px 4px 48px}.kc-preview-top .kc-sheet-piece{height:185px}.kc-preview-modal{padding:10px}.kc-preview-modal .kc-modal-dialog{width:100%;height:min(92vh,820px);padding:44px 10px 14px}.kc-preview-modal .kc-live-sheet--modal{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kc-preview-modal .kc-live-sheet--modal .kc-sheet-piece{height:190px}.kc-piece-modal-dialog{right:50%;top:50%;width:min(330px,calc(100vw - 34px));height:min(72vh,570px);transform:translate(50%,-50%)}}

/* v3.0.10 — Title ringkas, ruang Nama Penerima lebih luas */
.kc-name-row{grid-template-columns:34px 132px minmax(280px,1fr) minmax(145px,.7fr) 46px}
.kc-person-title-field{max-width:132px}
.inv-keychain[data-material="wood"] .kc-name-row{grid-template-columns:34px 132px minmax(280px,1fr) 46px}
@media(max-width:720px){.kc-name-row,.inv-keychain[data-material="wood"] .kc-name-row{grid-template-columns:34px 1fr}.kc-person-title-field{max-width:none}.kc-name-row .kc-person-title-field{grid-column:2;max-width:132px}.kc-name-row>label:not(.kc-person-title-field){grid-column:2;min-width:0}.kc-name-row .kc-person-name{width:100%}}

/* v3.0.12 — semakan satu keychain di tengah skrin */
.kc-piece-modal{display:grid;place-items:center;padding:18px;pointer-events:auto}
.kc-piece-modal .kc-modal-backdrop{display:block;background:rgba(16,34,47,.48)}
.kc-piece-modal-dialog{position:relative;right:auto;top:auto;width:min(460px,calc(100vw - 36px));height:min(78vh,660px);transform:none}
.kc-piece-modal-dialog [data-kc-piece-modal-art]{width:min(320px,100%);height:calc(100% - 34px)}
@media(max-width:720px){.kc-piece-modal-dialog{width:min(350px,calc(100vw - 32px));height:min(74vh,590px);transform:none}}
