@font-face{font-family:Bricolage;src:url('/fonts/bricolage-latin.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--ink:#34223c;--muted:#63596a;--paper:#f9ffcf;--field:#eeeaf0;--accent:#565023;--line:#bfb5c5;--font:Bricolage,'Arial',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--field);font-family:var(--font);font-optical-sizing:auto;line-height:1.5;-webkit-text-size-adjust:100%}button,input,textarea{font:inherit;color:inherit}a{color:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #745085;outline-offset:5px}.skip{position:fixed;top:8px;left:8px;background:white;padding:12px;z-index:10;transform:translateY(-160%)}.skip:focus{transform:none}header{max-width:1440px;margin:auto;padding:30px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:15px}.wordmark{font-weight:750;text-decoration:none;letter-spacing:-.035em}.home{font-size:14px;text-decoration-thickness:1px;text-underline-offset:4px;color:var(--muted)}main{max-width:1280px;margin:auto;padding:40px 4% 0}.workbench{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(40px,7vw,110px);align-items:start}.making{min-width:0}h1{font-size:clamp(80px,10vw,144px);line-height:.79;letter-spacing:-.075em;font-weight:750;margin:0 0 34px}h1 span{color:#756189}.intro{font-size:23px;line-height:1.32;letter-spacing:-.025em;margin:0 0 38px}form{max-width:410px}label{display:block;font-size:17px;font-weight:650;margin:24px 0 7px;letter-spacing:-.015em}.optional{font-weight:400;color:var(--muted);margin-left:6px;font-size:14px}input,textarea{width:100%;border:0;border-bottom:1.5px solid var(--line);background:rgba(255,255,255,.47);border-radius:5px 5px 0 0;padding:12px 13px;line-height:1.45;font-size:18px;min-height:50px;transition:border-color .2s,background .2s}textarea{resize:vertical;min-height:80px;max-height:300px}input:focus,textarea:focus{background:#fff;border-color:var(--ink)}::placeholder{color:#766d7b;opacity:1}.help{font-size:14px;color:var(--muted);margin:8px 0 0}.make-button{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;border:1.5px solid var(--ink);border-radius:9px;background:var(--ink);color:var(--paper);font-weight:650;padding:15px 20px;font-size:18px;box-shadow:0 3px 0 #19101d;transition:transform .12s,box-shadow .12s,background .16s}.make-button:hover{background:#493152}.make-button:active{transform:translateY(2px);box-shadow:0 1px 0 #19101d}.make-button span{font-size:23px;line-height:1}.private{font-size:13px;color:var(--muted);margin-top:12px}.paper-space{min-width:0;padding:24px 0 0}.warranty{background:var(--paper);padding:clamp(28px,4vw,52px);box-shadow:0 2px 3px #34223c12,0 28px 44px -25px #34223c45;transform:rotate(2deg);transform-origin:50% 25%;transition:transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .65s;overflow-wrap:anywhere;position:relative;isolation:isolate}.warranty::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 48%,#34223c03 49.8%,#fff5 50%,transparent 50.3%);z-index:-1}.paper-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.paper-heading h2{margin:0;font-size:clamp(36px,4.7vw,63px);line-height:.94;font-weight:750;letter-spacing:-.058em}.repair-mark{width:52px;flex:none;margin-top:5px;fill:none;stroke:currentColor;stroke-width:5;stroke-linejoin:round;stroke-linecap:round}.for{font-size:16px;margin:43px 0 7px}.object{font-size:clamp(30px,4vw,48px);font-weight:700;line-height:1.07;letter-spacing:-.045em;margin:0 0 29px;min-height:2.14em;white-space:pre-wrap}.promise{font-size:17px;line-height:1.6;letter-spacing:-.015em}.promise p{margin:0}.first-care{margin:28px 0 0;padding-top:20px;border-top:1px solid #34223c30;font-size:16px}.first-care p{margin:0}.first-care p+p{font-size:20px;font-weight:650;margin-top:5px;line-height:1.35;white-space:pre-wrap;min-height:2.7em}.signed{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:10px 20px;margin-top:35px;font-size:17px;font-weight:650;line-height:1.3}.signed time{font-size:13px;font-weight:400}.paper-fine{font-size:11px;line-height:1.4;max-width:28em;margin:22px 0 0;color:#655e47}.result[hidden]{display:none}.result{padding-top:34px}.result h2{font-weight:650;letter-spacing:-.04em;font-size:clamp(27px,3.3vw,41px);line-height:1.1;margin:0;outline:none;overflow-wrap:anywhere}.next{font-size:17px;line-height:1.55;margin:17px 0 24px;overflow-wrap:anywhere}.result-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.result-actions button{min-height:48px;font-size:16px}.result-actions #print{border:1px solid var(--ink);background:var(--paper);padding:10px 17px;border-radius:6px;font-weight:650;box-shadow:0 2px 0 #34223c30}.result-actions #print:hover{background:#edfab3}.result-actions #edit{padding:8px 0;background:none;border:0;text-decoration:underline;text-underline-offset:4px}.print-help{font-size:14px;line-height:1.5;color:var(--muted);max-width:29em;margin:17px 0 0}.status{font-size:14px;min-height:1.5em}.issued .warranty{transform:rotate(0);box-shadow:0 1px 3px #34223c16,0 14px 28px -18px #34223c40}.afterword{padding:130px 0 75px;max-width:620px}.afterword p:first-child{font-size:clamp(33px,5vw,58px);line-height:1.03;letter-spacing:-.05em;font-weight:650;margin:0 0 22px}.afterword em{font-style:normal;color:#756189}.afterword p+p{font-size:18px;color:var(--muted);line-height:1.6;margin:0}footer{max-width:1280px;margin:auto;padding:30px 4% 42px;display:flex;align-items:center;justify-content:space-between;gap:22px;font-size:14px;color:var(--muted)}footer a{text-decoration:none;font-weight:700;color:var(--ink)}footer a:hover{text-decoration:underline;text-underline-offset:4px}footer p{margin:0}.noscript{padding:20px;text-align:center}
@media(min-width:1000px){.paper-space{position:sticky;top:32px}}
@media(max-width:760px){header{padding:22px 6%}.home{font-size:12px}main{padding:27px 6% 0}.workbench{grid-template-columns:1fr;gap:28px}.making{display:grid;grid-template-columns:1fr;min-width:0}h1{font-size:clamp(90px,25vw,140px);margin-bottom:26px}.intro{font-size:22px;margin-bottom:9px}form{max-width:none}label{margin-top:22px}.make-button{width:100%;justify-content:center;min-height:54px}.paper-space{padding:18px 4px 0}.warranty{padding:29px 25px;transform:rotate(1.4deg)}.paper-heading h2{font-size:clamp(38px,10.7vw,65px)}.repair-mark{width:43px}.for{margin-top:30px}.object{font-size:clamp(30px,8.5vw,47px)}.promise{font-size:16px}.wide-only{display:none}.first-care p+p{font-size:19px}.result{padding:31px 0 0}.result h2{font-size:32px}.afterword{padding:75px 0 50px}.afterword p+p{font-size:16px}footer{padding:20px 6% 32px;align-items:start;flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.warranty{transform:none}}
@media(forced-colors:active){.warranty{border:1px solid CanvasText}.make-button,.result-actions #print{border:2px solid ButtonText}.repair-mark{stroke:CanvasText}}
/* Let the letter shapes breathe; the font supplies its own character. */
h1{letter-spacing:-.04em}.paper-heading h2{letter-spacing:-.03em}.object{letter-spacing:-.025em}.result h2{letter-spacing:-.02em}
.skip:not(:focus){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
@page{size:A4 portrait;margin:18mm}
@media print{.warranty .first-care p+p{white-space:normal}}
@media print{body{background:#fff;color:#000}header,.making,.afterword,footer,.result,.skip,.noscript{display:none!important}main{padding:0;max-width:none}.workbench{display:block}.paper-space{position:static;padding:0}.warranty{transform:none!important;box-shadow:none!important;padding:5mm;background:#fff;border:1px solid #000;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}.warranty::after{display:none}.paper-heading h2{font-size:38pt}.repair-mark{width:35pt}.for{margin-top:9mm}.object{font-size:27pt;min-height:0;margin-bottom:7mm}.promise{font-size:10pt}.first-care{margin-top:7mm;padding-top:5mm;font-size:10pt}.first-care p+p{font-size:13pt;min-height:0}.signed{margin-top:9mm;font-size:11pt}.signed time{font-size:8pt}.paper-fine{font-size:7pt;margin-top:6mm;color:#000}.wide-only{display:none}}
