:root{--bg: #f5efe5;--text: #1f1b17;--muted: #5b5349;--copy: #4f473e;--line: rgba(31, 27, 23, .1);--panel: rgba(255, 251, 246, .74);--accent: #355847;--accent-soft: #d5c2aa;--shadow: 0 18px 48px rgba(52, 37, 20, .08);--shadow-strong: 0 22px 58px rgba(52, 37, 20, .12);--container: 1180px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:clip}body{margin:0;overflow-x:clip;color:var(--text);font-family:Manrope,Arial,Helvetica,sans-serif;background:radial-gradient(circle at top left,rgba(213,194,170,.18),transparent 26%),linear-gradient(180deg,#f8f3eb,#f2eadf);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}svg{display:block}.container{width:min(var(--container),calc(100% - 32px));margin:0 auto}.skip-link{position:absolute;top:-100%;left:16px;z-index:9999;padding:8px 16px;background:var(--accent);color:#fff;font-size:.88rem;font-weight:700;border-radius:0 0 8px 8px;transition:top .2s}.skip-link:focus{top:0}.site-header{position:fixed;inset:0 0 auto;z-index:1000;pointer-events:none}body.has-promo-banner .site-header{top:42px}@media(max-width:720px){body.has-promo-banner .site-header{top:40px}}.header-shell{padding:16px 0;transition:padding .38s cubic-bezier(.22,1,.36,1)}.header-inner{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0;border:1px solid transparent;transition:width .38s cubic-bezier(.22,1,.36,1),max-width .38s cubic-bezier(.22,1,.36,1),padding .38s cubic-bezier(.22,1,.36,1),border-radius .38s cubic-bezier(.22,1,.36,1),background-color .38s cubic-bezier(.22,1,.36,1),border-color .38s cubic-bezier(.22,1,.36,1),box-shadow .38s cubic-bezier(.22,1,.36,1),backdrop-filter .38s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .38s cubic-bezier(.22,1,.36,1)}.site-header:not(.is-scrolled) .header-inner{background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.site-header.is-scrolled .header-shell{padding-top:12px}.site-header.is-scrolled .header-inner{width:min(920px,calc(100% - 32px));max-width:920px;margin:0 auto;padding:12px 18px;border-radius:18px;border-color:#1f1b1714;background:#fffaf49e;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-shadow:0 14px 34px #3425141a,inset 0 1px #ffffff57}.brand{display:inline-flex;align-items:center;gap:12px;min-width:0}.brand-logo{width:42px;height:42px;color:var(--accent);flex-shrink:0}.brand-text{font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--accent);white-space:nowrap}.main-nav{display:inline-flex;align-items:center;gap:22px}.nav-link{position:relative;display:inline-block;color:var(--muted);font-size:.96rem;font-weight:700;padding:4px 0;transition:color .2s ease}.nav-link:after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .26s ease}.nav-link:hover,.nav-link.is-active{color:var(--text)}.nav-link:hover:after,.nav-link.is-active:after{transform:scaleX(1)}.nav-link.is-active:after{transition:none}.nav-hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;pointer-events:auto}.hamburger-bar{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .3s ease,opacity .3s ease}.nav-hamburger[aria-expanded=true] .hamburger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-hamburger[aria-expanded=true] .hamburger-bar:nth-child(2){opacity:0}.nav-hamburger[aria-expanded=true] .hamburger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav{display:none;overflow:hidden;max-height:0;transition:max-height .36s cubic-bezier(.22,1,.36,1);pointer-events:auto;background:#f5efe5f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav.is-open{max-height:480px;border-bottom:1px solid var(--line)}.mobile-nav-links{display:flex;flex-direction:column;padding:12px 0 20px}.mobile-nav-link{padding:12px 24px;font-size:1rem;font-weight:700;color:var(--muted);transition:color .18s}.mobile-nav-link:hover,.mobile-nav-link.is-active{color:var(--accent)}.site-footer{position:relative;padding:34px 0 38px;background:linear-gradient(180deg,#f2eadf,#eee5d8);border-top:1px solid rgba(31,27,23,.08)}.site-footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:min(1120px,calc(100% - 32px));height:1px;background:linear-gradient(90deg,#1f1b1700,#1f1b171f,#1f1b1700)}.footer-inner{display:grid;grid-template-columns:1.2fr 1fr auto;gap:28px;align-items:center}.footer-brand{min-width:0}.footer-logo-wrap{display:inline-flex;align-items:center;gap:12px;color:var(--accent);font-weight:700;letter-spacing:-.02em}.footer-logo{width:36px;height:36px;color:var(--accent);flex-shrink:0}.footer-copy{margin:12px 0 0;color:var(--copy);font-size:.95rem;line-height:1.7}.footer-links a{position:relative;color:var(--muted);font-size:.95rem;font-weight:700;transition:color .22s ease}.footer-links a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.footer-links a:hover{color:var(--text)}.footer-links a:hover:after{transform:scaleX(1)}.footer-socials{display:flex;align-items:center;gap:12px}.footer-social{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#fffbf6d9;border:1px solid rgba(31,27,23,.1);box-shadow:0 10px 24px #3425140f;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background .22s ease}.footer-social:hover{transform:translateY(-2px);background:#fff;border-color:#1f1b1729;box-shadow:0 16px 30px #3425141a}.footer-social svg{width:18px;height:18px;fill:var(--accent)}.section-kicker{margin:0 0 10px;color:var(--accent);font-size:.84rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.section-title{margin:0;font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3rem);line-height:1.04;letter-spacing:-.03em;font-weight:600}.reveal-on-scroll{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border-radius:999px;font-size:.97rem;font-weight:700;overflow:hidden;transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease,border-color .22s ease}.btn:before{content:"";position:absolute;top:0;left:-130%;width:60%;height:100%;transform:skew(-24deg);opacity:0;transition:opacity .2s ease}.btn:hover{transform:translateY(-2px)}.btn:hover:before{opacity:1;animation:btnShine .9s ease forwards}.btn-primary{background:#fff;color:#111;border:1px solid rgba(17,17,17,.08);box-shadow:var(--shadow)}.btn-primary:before{background:linear-gradient(110deg,#0000,#0000000d 30%,#00000038,#0000000d 70%,#0000)}.btn-primary:hover{background:#f7f7f7;color:#000;border-color:#0000001f;box-shadow:var(--shadow-strong)}.btn-secondary{background:#f5efe5;color:var(--text);border:1.5px solid rgba(31,27,23,.38);box-shadow:none}.btn-secondary:before{background:linear-gradient(110deg,#0000,#00000005 30%,#0000000f,#00000005 70%,#0000)}.btn-secondary:hover{background:#fff;color:var(--text);border-color:#1f1b1785;box-shadow:none}.qr-hero-ctas .btn-secondary{background:transparent}.qr-hero-ctas .btn-secondary:hover{background:#ffffff8c;border-color:#1f1b1785}.qr-cta-actions .btn-secondary{background:transparent;color:#ffffffe6;border-color:#fff9}.qr-cta-actions .btn-secondary:hover{background:#0000002e;color:#fff;border-color:#ffffffe6}@keyframes btnShine{0%{left:-130%}to{left:150%}}.qr-hero{position:relative;min-height:82vh;display:flex;align-items:center;padding:160px 0;overflow:hidden;text-align:center}.qr-hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}.hero-light{position:absolute;border-radius:50%;filter:blur(90px);opacity:.4}.hero-light-1{width:500px;height:500px;left:-140px;top:-100px;background:radial-gradient(circle,rgba(213,194,170,.6) 0%,transparent 72%)}.hero-light-2{width:380px;height:380px;right:-100px;bottom:0;background:radial-gradient(circle,rgba(53,88,71,.1) 0%,transparent 72%)}.qr-hero-inner{position:relative;z-index:2;max-width:980px;margin:0 auto;width:100%;padding-top:48px}.qr-balls{position:absolute;inset:0;pointer-events:none}.qr-ball{position:absolute;border-radius:50%;pointer-events:none;opacity:.32;transition:opacity 2s ease,transform 2s ease,border-color 2s ease,box-shadow 2s ease}.qr-ball:before{content:"";position:absolute;inset:-2px;border-radius:inherit;opacity:.08;transition:opacity 2s ease}.qr-ball.is-active{opacity:.95;transform:scale(1.03)}.qr-ball.is-active:before{opacity:1}.qr-ball-1{width:420px;height:420px;top:6%;left:5%;border:1.5px solid rgba(31,27,23,.12)}.qr-ball-1:before{border:1.5px solid rgba(31,27,23,.38);box-shadow:0 0 18px #ffffff0d,0 0 42px #d5c2aa29,0 0 78px #1f1b171a,inset 0 0 0 1px #ffffff08}.qr-ball-2{width:300px;height:300px;bottom:8%;right:6%;border:1.5px solid rgba(183,134,83,.12)}.qr-ball-2:before{border:1.5px solid rgba(183,134,83,.26);box-shadow:0 0 16px #ffffff0b,0 0 30px #b7865321,0 0 56px #b7865316,inset 0 0 0 1px #ffffff06}.qr-ball-3{width:520px;height:520px;top:30%;left:20%;border:1.5px solid rgba(53,88,71,.1)}.qr-ball-3:before{border:1.5px solid rgba(53,88,71,.23);box-shadow:0 0 14px #ffffff0a,0 0 24px #3558471c,0 0 42px #35584712,inset 0 0 0 1px #ffffff05}.qr-hero-title{margin:0;font-family:Fraunces,serif;font-size:clamp(2.8rem,6vw,5.2rem);line-height:.98;letter-spacing:-.04em;font-weight:600}.qr-hero-copy{margin:22px auto 0;max-width:700px;color:var(--copy);font-size:1.04rem;line-height:1.75}.qr-hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:44px}.qr-tool-section{position:relative;overflow:clip;padding:80px 0 120px;background:radial-gradient(ellipse at 16% 38%,rgba(53,88,71,.06) 0%,transparent 52%),radial-gradient(ellipse at 84% 72%,rgba(196,138,52,.045) 0%,transparent 48%)}.qr-tool-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0}.qr-tool-orb-1{width:580px;height:580px;top:-140px;right:-160px;background:radial-gradient(circle,rgba(53,88,71,.09) 0%,transparent 70%)}.qr-tool-orb-2{width:440px;height:440px;bottom:40px;left:-140px;background:radial-gradient(circle,rgba(196,138,52,.07) 0%,transparent 70%)}.qr-tool-inner{position:relative;z-index:1}.qr-tool-header{margin-bottom:56px;text-align:center}.qr-tool-title{font-family:Fraunces,serif;font-size:clamp(1.9rem,3vw,2.8rem);font-weight:800;color:var(--text);margin:8px 0 0;line-height:1.15}.qr-app{max-width:820px;margin:0 auto;background:var(--panel);border:1px solid rgba(31,27,23,.08);border-radius:24px;overflow:hidden;box-shadow:0 24px 72px #3425141c,0 4px 12px #3425140f;position:relative}.qr-app:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent) 0%,rgba(90,148,112,.4) 100%);z-index:1}.qr-app-top{display:flex;flex-direction:column;align-items:center;gap:20px;padding:40px 32px 28px;border-bottom:1px solid var(--line);background:#fffbf659}.qr-canvas-wrap{width:260px;height:auto;border-radius:0;overflow:hidden;box-shadow:0 12px 36px #34251421,0 2px 8px #3425140f;flex-shrink:0}.qr-canvas-wrap canvas{width:100%;height:auto;display:block}.qr-app-actions{display:flex;flex-direction:column;align-items:center;gap:8px}.qr-app-bottom{display:flex;flex-direction:column;overflow:hidden}.qr-tabs{display:flex;border-bottom:1px solid var(--line);overflow:hidden}.qr-tab{flex:1;padding:14px 10px;font-family:Manrope,Arial,sans-serif;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .18s,border-color .18s,background .18s;white-space:nowrap;margin-bottom:-1px}.qr-tab:hover{color:var(--text);background:#3558470a}.qr-tab.is-active{color:var(--accent);border-bottom-color:var(--accent)}.qr-tab-panel{display:none;padding:24px 28px 28px;min-height:220px;overflow:hidden}.qr-tab-panel.is-active{display:block}.qr-field-label{display:block;margin-bottom:6px;font-size:.82rem;font-weight:600;color:var(--muted)}.qr-field-hint{margin:6px 0 0;font-size:.78rem;color:var(--muted);line-height:1.55}.qr-textarea,.qr-input,.qr-select{width:100%;padding:10px 14px;background:#fffbf6e6;border:1px solid var(--line);border-radius:10px;font-family:Manrope,Arial,sans-serif;font-size:.9rem;color:var(--text);outline:none;resize:none;transition:border-color .2s;appearance:none}.qr-textarea:focus,.qr-input:focus,.qr-select:focus{border-color:#355847b3;box-shadow:0 0 0 3px #3558472e}.qr-style-grid{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.qr-style-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;background:#fffbf6e6;border:1px solid var(--line);border-radius:99px;font-family:Manrope,Arial,sans-serif;font-size:.82rem;font-weight:600;color:var(--muted);cursor:pointer;transition:all .18s}.qr-style-btn:hover{border-color:var(--accent);color:var(--accent)}.qr-style-btn.is-active{background:var(--accent);border-color:var(--accent);color:#fff}.qr-style-icon{font-size:.9em;line-height:1}.qr-icon-rounded{border-radius:2px;display:inline-block}.qr-color-row{display:flex;gap:16px;flex-wrap:wrap}.qr-color-field{flex:1;min-width:120px}.qr-color-wrap{display:flex;align-items:center;gap:10px;padding:8px 12px;background:#fffbf6e6;border:1px solid var(--line);border-radius:10px}.qr-color-input{width:30px;height:30px;padding:0;border:none;border-radius:6px;cursor:pointer;background:none;outline:none}.qr-color-hex{font-size:.82rem;font-weight:600;color:var(--muted);font-family:monospace}.qr-toggle-row{display:inline-flex;align-items:center;gap:10px;margin-top:14px;cursor:pointer;-webkit-user-select:none;user-select:none}.qr-toggle-input{position:absolute;opacity:0;width:0;height:0}.qr-toggle-track{display:block;width:36px;height:20px;background:var(--accent-soft);border-radius:99px;position:relative;transition:background .22s;flex-shrink:0}.qr-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;background:#fff;border-radius:50%;transition:transform .22s}.qr-toggle-input:checked+.qr-toggle-track{background:var(--accent)}.qr-toggle-input:checked+.qr-toggle-track:after{transform:translate(16px)}.qr-toggle-label{font-size:.86rem;font-weight:600;color:var(--muted)}.qr-drop-zone{display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 16px;background:#fffbf6b3;border:1.5px dashed var(--accent-soft);border-radius:12px;cursor:pointer;text-align:center;font-size:.86rem;color:var(--muted);font-weight:500;transition:border-color .2s,background .2s}.qr-drop-zone:hover,.qr-drop-zone.is-drag-over{border-color:var(--accent);background:#3558470a}.qr-drop-icon{width:28px;height:28px;color:var(--accent-soft)}.qr-drop-link{color:var(--accent);font-weight:700}.qr-img-preview-wrap:not([hidden]){display:flex;align-items:center;gap:14px;margin-top:12px;padding:10px 14px;background:#fffbf6e6;border:1px solid var(--line);border-radius:10px}.qr-img-preview{width:52px;height:52px;object-fit:contain;border-radius:6px;border:1px solid var(--line);background:#fff}.qr-remove-btn{padding:5px 12px;background:none;border:1px solid var(--line);border-radius:99px;font-family:Manrope,Arial,sans-serif;font-size:.78rem;font-weight:700;color:var(--muted);cursor:pointer;transition:border-color .18s,color .18s}.qr-remove-btn:hover{border-color:#c0392b;color:#c0392b}.qr-scan-note{margin:0;font-size:.78rem;color:var(--muted);text-align:center}.qr-download-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-family:Manrope,Arial,sans-serif;font-size:.96rem;font-weight:700;cursor:pointer;transition:background .2s,transform .1s;box-shadow:0 8px 22px #35584740}.qr-download-btn:hover{background:#2a4638}.qr-download-btn:active{transform:scale(.97)}.qr-download-btn svg{width:18px;height:18px;fill:currentColor}.qr-size-note{margin:0;font-size:.74rem;color:var(--muted);opacity:.7}.qr-cta-section{position:relative;overflow:hidden;padding:94px 0 110px;background:radial-gradient(circle at top left,rgba(255,255,255,.08),transparent 24%),radial-gradient(circle at bottom right,rgba(213,194,170,.12),transparent 28%),linear-gradient(180deg,#5a635a,#464e47)}.qr-cta-section:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:min(1120px,calc(100% - 32px));height:1px;background:linear-gradient(90deg,#fff0,#ffffff24,#fff0)}.qr-cta-glow{position:absolute;width:460px;height:460px;right:-120px;top:50%;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle,#f6e7b82e,#f6e7b800 72%);filter:blur(90px);pointer-events:none}.qr-cta-inner{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center}.qr-cta-kicker{color:#f3e3b0;margin-bottom:10px}.qr-cta-title{margin:0;font-family:Fraunces,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04;letter-spacing:-.035em;font-weight:600;color:#fffdf7}.qr-cta-text{margin:16px 0 0;max-width:620px;color:#fff7ece6;font-size:1rem;line-height:1.8}.qr-cta-actions{display:flex;gap:14px;flex-wrap:wrap}.qr-toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%) translateY(12px);z-index:9999;padding:11px 22px;background:var(--accent);color:#fff;border-radius:999px;font-size:.86rem;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 28px #35584759;opacity:0;transition:opacity .3s ease,transform .3s ease;pointer-events:none;white-space:nowrap}.qr-toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}@media(max-width:900px){.qr-app{border-radius:18px}.qr-app-top{padding:28px 20px 20px}.qr-canvas-wrap{width:220px;height:auto}.qr-canvas-wrap canvas{width:100%;height:auto}.qr-tab-panel{padding:20px 20px 24px;min-height:180px}.main-nav{display:none}.nav-hamburger{display:flex}.mobile-nav{display:block}.footer-inner{grid-template-columns:1fr;text-align:center}.footer-logo-wrap,.footer-links,.footer-socials{justify-content:center}.qr-cta-inner{grid-template-columns:1fr}.qr-cta-actions{flex-direction:column}.qr-cta-section{padding:72px 0 82px}}@media(max-width:600px){.qr-hero{min-height:auto;padding:150px 0 70px}.qr-hero-inner{padding-top:24px}.qr-tool-section{padding:40px 0 60px}.qr-tool-header{margin-bottom:36px}.qr-tool-orb-1,.qr-tool-orb-2{display:none}.site-footer{padding:28px 0 32px}.btn{width:100%}}label[for=error-level]{margin-top:18px}#error-level+.qr-field-hint{margin-top:6px}#corner-style-label{margin-top:20px}label.qr-toggle-row{margin-top:18px}#grad-color-wrap{display:none;margin-top:14px}#img-mode-hint{margin-top:6px}#img-size-wrap{margin-top:16px}#img-size-wrap .qr-style-grid+.qr-field-hint{margin-top:6px}#img-size-error{color:#b91c1c;margin-top:4px;font-weight:600}#img-drop-section,#frame-color-wrap{margin-top:16px}#frame-label-wrap,#frame-label-color-wrap{margin-top:14px}
