.ctf{max-width:1160px;margin:45px auto 70px;padding:0 22px;color:#224f49;font-family:inherit}.ctf h1{font-size:clamp(30px,4vw,46px);line-height:1.12;max-width:800px}.ctf .ctf-kicker{font-size:12px;font-weight:750;letter-spacing:.15em}.ctf .ctf-lead{max-width:690px;line-height:1.65}.ctf-price{font-size:22px;font-weight:750}.ctf-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;margin-top:30px;align-items:start}.ctf-preview,.ctf form{padding:24px;border:1px solid #e3e7e2;border-radius:23px;background:#fff}.ctf-preview{background:#f5f1e8;position:sticky;top:110px}.ctf-preview canvas{width:100%;height:auto;display:block;border-radius:15px}.ctf-preview small{display:block;text-align:center;margin:8px 0 15px}.ctf-preview header{display:flex;justify-content:space-between;align-items:center;gap:10px}.ctf-preview header span{font-size:11px;letter-spacing:.1em;text-transform:uppercase}.ctf label{display:block;font-weight:650;margin:18px 0 8px}.ctf input[type=text],.ctf input[type=number]{display:block;width:100%;padding:14px;border:1px solid #ced8d1;border-radius:10px;background:#fff;color:#254b44;font:inherit;box-sizing:border-box;margin-top:8px}.ctf input[type=range]{width:100%;accent-color:#2f665d;display:block;margin:14px 0}.ctf button{background:#285f55;color:#fff;border:0;border-radius:9px;padding:13px 17px;font:inherit;font-size:14px;font-weight:700;cursor:pointer}.ctf button:disabled{opacity:.45;cursor:not-allowed}.ctf button.ctf-secondary{background:#fff;color:#285f55;border:1px solid #c7d4cb;margin:4px}.ctf details{padding:16px;background:#f0f5ed;border:1px solid #dde7da;border-radius:12px;margin:20px 0}.ctf summary{cursor:pointer;font-weight:700}.ctf .ctf-check{display:flex;gap:10px;align-items:flex-start;font-weight:500;line-height:1.5}.ctf .ctf-check input{flex:0 0 auto;margin-top:5px;width:18px;height:18px;accent-color:#285f55}.ctf [data-status]{line-height:1.5;font-size:14px}.ctf output{font-size:12px}.ctf [data-add]{width:100%;font-size:16px}.ctf-note{font-size:12px;line-height:1.5;color:#6a756d}.ctf form h2{margin-top:0}.ctf [hidden]{display:none!important}.ctf [data-total]{font-weight:750;font-size:20px}.ctf-actions{display:flex;flex-wrap:wrap;justify-content:center}
@media(max-width:760px){.ctf{margin-top:25px;padding:0 14px}.ctf-grid{grid-template-columns:1fr;gap:18px}.ctf-preview{position:static;padding:15px}.ctf form{padding:20px}.ctf:has(.ctf-adjust[open]) .ctf-preview{position:fixed;z-index:10001;top:0;left:0;right:0;height:39dvh;border-radius:0;padding:5px 12px;box-sizing:border-box;box-shadow:0 4px 15px #0002}.ctf:has(.ctf-adjust[open]) .ctf-preview canvas{height:calc(39dvh - 36px);width:auto;max-width:100%;margin:auto}.ctf:has(.ctf-adjust[open]) .ctf-preview header{font-size:12px}.ctf:has(.ctf-adjust[open]) .ctf-preview small,.ctf:has(.ctf-adjust[open]) .ctf-actions{display:none}.ctf-adjust[open]{position:fixed;z-index:10002;left:0;right:0;top:39dvh;bottom:0;margin:0;border-radius:0;overflow:auto;padding:18px 22px calc(22px + env(safe-area-inset-bottom))}.ctf-adjust[open] summary{position:sticky;top:-18px;padding:15px 0;background:#f0f5ed}.ctf-adjust[open] summary:after{content:' · tap to close';font-size:12px;font-weight:400}}

.ctf-views{display:flex;gap:8px;justify-content:center;margin:18px 0 0}.ctf-views button{background:transparent;color:#285f55;border:1px solid #b6c9bd;padding:9px 18px}.ctf-views button[aria-pressed=true]{background:#285f55;color:white}@media(max-width:760px){.ctf:has(.ctf-adjust[open]) .ctf-views,.ctf:has(.ctf-adjust[open]) .ctf-note{display:none}}
