.sub{padding:110px 0 80px}
.sub-head h1{font-size:clamp(56px,9vw,110px);color:var(--forest);margin-bottom:22px}
.notice{background:#FFE7BD;border-radius:14px;padding:12px 18px;margin-bottom:18px}
.sub-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:22px;align-items:start}
.sub-main{display:grid;gap:18px}
.step h2{display:flex;align-items:center;gap:12px;font-size:36px;color:var(--forest);margin-bottom:12px}
.step h2 i{font-style:normal}
.step h2 span{width:40px;height:40px;border-radius:50%;background:var(--saffron);color:var(--ink);display:grid;place-items:center;font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:24px;flex:none}
.legend{margin:16px 0 8px}
.step .legend:first-of-type{margin-top:6px}
.top{margin-top:14px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.sum{position:sticky;top:84px}
.sum-card h2{font-size:34px;color:var(--forest);margin-bottom:8px}
.sum-card dl{margin:0;display:grid;gap:8px}
.sum-card dl div{display:flex;justify-content:space-between;gap:12px}
.sum-card dt{color:var(--muted);font-size:15px}
.sum-card dd{margin:0;text-align:end;font-size:15.5px;font-weight:450}
.total{display:flex;justify-content:space-between;align-items:baseline;border-top:1.5px solid var(--line);margin-top:14px;padding-top:12px}
.total b{font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:44px;line-height:1;color:var(--forest)}
.full{width:100%;margin-top:14px}
.sum-card .hint{margin-top:8px}
.sum-card .err{margin-top:10px}
@media(max-width:900px){.sub-grid{grid-template-columns:1fr}.sum{position:static}}
@media(max-width:560px){.two{grid-template-columns:1fr}.step h2{font-size:31px}}
.narrow{width:min(720px,100% - 32px);padding:110px 0 80px}
.done h1{font-size:clamp(52px,9vw,96px);color:var(--forest);margin-bottom:8px}
.done p{margin-bottom:10px}
.codes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}
.codes div{background:var(--sage-soft);border-radius:18px;padding:14px 18px}
.codes span{display:block;font-size:14.5px;color:var(--muted)}
.codes b{font-family:"Big Shoulders Display",sans-serif;font-weight:800;font-size:32px;letter-spacing:.04em;color:var(--forest);direction:ltr;display:block;text-align:start;line-height:1.1}
.acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.acts .btn{color:var(--ink)}
.acts .btn.dark{color:var(--cream)}
.my-head h1{font-size:clamp(46px,8vw,84px);color:var(--forest)}
.my-head{margin-bottom:18px}
.badge{display:inline-block;padding:4px 14px;border-radius:999px;font-size:14.5px;font-weight:500}
.b-active{background:#CFE8D5;color:#0E5A33}.b-paused{background:#FFE7BD;color:#7A4D00}.b-not_started{background:#E4E7DA;color:#3E4F3F}.b-expired,.b-cancelled{background:#F6D6CE;color:#8B2510}
.bal{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,4vw,34px);align-items:center;margin-bottom:16px}
.ring{position:relative;width:138px;height:138px}
.ring svg{transform:rotate(-90deg);width:100%;height:100%}
.ring div{position:absolute;inset:0;display:grid;place-content:center;text-align:center;line-height:1.1}
.ring b{font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:50px;color:var(--forest);line-height:1}
.ring span{font-size:13.5px;color:var(--muted)}
.rows{margin:0;display:grid;gap:7px}
.rows div{display:flex;justify-content:space-between;gap:14px}
.rows dt{color:var(--muted);font-size:15px}.rows dd{margin:0;font-weight:450;text-align:end}
.panel{margin-top:16px}
.panel h2{font-size:32px;color:var(--forest);margin-bottom:8px}
.ok{color:#0E5A33;font-weight:500;margin-top:10px}
.loading{padding:60px 0;color:var(--muted)}
.rc-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:16px}
.rc-head img{width:64px;height:64px;border-radius:50%}
.rc-head h1{font-size:clamp(38px,7vw,58px);color:var(--forest)}
.rc .rows{margin-top:14px}
.rc-total{display:flex;justify-content:space-between;align-items:baseline;border-top:1.5px solid var(--line);margin-top:14px;padding-top:12px}
.rc-total b{font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:44px;line-height:1;color:var(--forest)}
@media print{#nav,#foot,.no-print{display:none!important}body{background:#fff}.narrow{padding:0;width:100%}.rc{box-shadow:none}}
.ref{margin-top:14px;display:grid;gap:6px}
.ref label{font-weight:500;font-size:15px}
.ref-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.ref .ok,.ref .err{margin:0;font-size:14.5px}
.gift{margin-top:8px;padding:8px 14px;border-radius:12px;background:#FFE7BD;color:#5C3A00;font-size:14.5px;font-weight:500}
.done .gift{font-size:16px;padding:12px 16px}
.who{display:flex;align-items:center;gap:16px;margin-bottom:18px}
.who i{width:68px;height:68px;border-radius:50%;background:var(--forest);color:var(--saffron);display:grid;place-items:center;font-family:var(--display);font-style:normal;font-size:38px;line-height:1;flex:none}
.who h1{font-size:clamp(40px,7vw,70px);color:var(--forest)}
.who span{font-size:15px;color:var(--muted)}
.stepper{display:grid;grid-template-columns:58px minmax(0,1fr) 58px;gap:10px;align-items:center;margin:6px 0 12px}
.stepper button{height:58px;border:0;border-radius:16px;background:var(--sage-soft);color:var(--forest);font-size:30px;line-height:1;cursor:pointer}
.stepper button:disabled{opacity:.4;cursor:not-allowed}
.stepper input{text-align:center;font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:44px;height:74px;padding:0;-moz-appearance:textfield;appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.day-chips{display:flex;flex-wrap:wrap;gap:8px}
.day-chips button{min-height:44px;min-width:56px;padding:4px 16px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}
.day-chips button[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:var(--cream)}
.back-on{margin:14px 0;padding:14px 18px;border-radius:16px;background:var(--sage-soft)}
.back-on span{display:block;font-size:14.5px;color:var(--muted)}
.back-on b{display:block;font-family:var(--display);font-weight:400;font-size:clamp(26px,4.4vw,36px);line-height:1.2;color:var(--forest)}
.back-on small{font-size:14px;color:var(--muted)}
.dots{display:flex;gap:8px;margin:10px 0}
.dots i{width:38px;height:38px;border-radius:50%;background:var(--sage-soft);display:grid;place-items:center;font-style:normal;font-weight:600;color:var(--muted)}
.dots i.on{background:var(--forest);color:var(--cream)}
.dots i.gifted{background:var(--saffron);color:var(--ink)}
.share-code{font-family:"Big Shoulders Display",sans-serif;font-weight:900;font-size:44px;letter-spacing:.04em;color:var(--forest);direction:ltr;text-align:start;line-height:1.1;margin:6px 0 12px}
.plog{list-style:none;margin:0;padding:0;font-size:15.5px}
.plog li{padding:7px 0;border-bottom:1px solid var(--line)}
.plog li:last-child{border:0}
