@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--accent:#c8ff31;--background:#f5f5f2;--ink:#151715;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--background);color:var(--ink);font:16px/1.55 Arial,sans-serif}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button,.button{border:0;border-radius:50px;background:var(--ink);color:var(--background);padding:14px 24px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:25px;transition:transform .2s}button:hover,.button:hover{transform:translateY(-2px)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #487800;outline-offset:4px}.announcement{text-align:center;background:var(--ink);color:var(--background);font-size:14px;padding:9px}header{max-width:1440px;margin:auto;padding:25px 5%;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d8d9d2}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.6px}.brand img{max-width:160px;max-height:54px}.brandmark{display:grid;place-items:center;width:36px;height:36px;background:var(--accent);border-radius:10px;font-size:28px}nav{display:flex;gap:30px;font-size:14px;font-weight:600}.bag{background:transparent;color:var(--ink);border:1px solid #ccc;padding:9px 15px}.bag span{background:var(--accent);color:#151715;border-radius:100%;min-width:25px;font-size:14px}.demo-notice{text-align:center;padding:7px;font-size:13px;background:#e9eadf}main{max-width:1440px;margin:auto}.hero{display:grid;grid-template-columns:1fr 1fr;margin:35px 5% 65px;min-height:570px;border-radius:var(--radius);overflow:hidden}.hero-copy{padding:50px 25px 45px 0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.eyebrow{font-size:12px;letter-spacing:1.6px;font-weight:700;text-transform:uppercase}h1{font-size:clamp(48px,6.3vw,90px);letter-spacing:-5px;line-height:1.02;margin:27px 0}h2{font-size:clamp(30px,3.2vw,46px);letter-spacing:-1.8px;line-height:1.15;margin:12px 0 25px}h3{font-size:18px;margin:0;letter-spacing:-.5px}.hero-copy p{max-width:380px;color:#5b5d58;font-size:18px;margin-bottom:28px}.hero-copy .button{background:var(--accent);color:#151715}.hero-note{font-size:11px;letter-spacing:2px;margin-top:48px}.hero-visual{background:#fff;position:relative;overflow:hidden;border-radius:var(--radius);min-width:0}.hero-art{width:100%;height:100%;object-fit:cover;min-height:460px}.vertical-note{position:absolute;right:18px;top:35px;writing-mode:vertical-rl;font-size:11px;letter-spacing:3px}.hero-caption{position:absolute;left:28px;bottom:24px;font-size:17px;line-height:1.3;letter-spacing:-.5px}.product-art{aspect-ratio:1;background-image:url('demo.png');background-size:300% 100%;background-repeat:no-repeat;background-color:white}.hero-visual .product-art{height:100%;aspect-ratio:auto;background-size:300% auto;background-repeat:no-repeat}.catalog,.faq{padding:15px 5% 65px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:30px}.section-title input{max-width:290px;border-radius:40px;background:transparent}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:5px 0 25px}.filters button,.tabs button{background:transparent;color:var(--ink);border:1px solid #d2d3cd;padding:9px 20px;font-weight:400}.filters .selected,.tabs .selected{background:var(--ink);color:var(--background);border-color:var(--ink)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.image-button{padding:0;display:block;width:100%;border-radius:var(--radius);overflow:hidden;position:relative;background:white}.image-button img{width:100%;aspect-ratio:1;object-fit:cover;display:block}.category{position:absolute;top:15px;left:15px;border-radius:30px;background:#f1f2ef;color:#151715;padding:5px 12px;font-size:12px}.product-meta{display:flex;justify-content:space-between;align-items:flex-start;margin-top:18px;gap:12px}.product-meta strong{font-size:15px;white-space:nowrap}.product>p{font-size:14px;color:#686b62;min-height:43px}.add{padding:10px 0;border-bottom:1px solid #c6c7be;border-radius:0;background:transparent;color:var(--ink);width:100%;justify-content:space-between}.about{margin:20px 5% 65px;background:var(--accent);color:#151715;border-radius:var(--radius);padding:55px 7%;position:relative}.about p{max-width:550px}.about a{border-bottom:1px solid;font-weight:600}.faq{max-width:900px;margin:auto}.faq details,dialog details{border-bottom:1px solid #d2d3cd;padding:18px 0}summary{cursor:pointer;font-weight:600}footer{background:var(--ink);color:var(--background);padding:35px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px;font-size:14px}footer strong{font-size:20px}.toast:not(:empty){position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--background);border-radius:30px;padding:12px 25px;box-shadow:0 5px 30px #0003}dialog{border:0;border-radius:var(--radius);padding:38px;max-width:600px;width:calc(100% - 30px);max-height:90vh;background:var(--background);color:var(--ink)}dialog::backdrop{background:#15171588;backdrop-filter:blur(4px)}dialog .product-art,dialog>img{width:100%;max-height:300px;object-fit:contain}dialog .close{float:right;padding:0;width:32px;height:32px;font-size:24px;background:transparent;color:var(--ink)}dialog>button:not(.close){margin-top:15px}.cart-line{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ccc;gap:20px;padding:15px 0}.cart-line input{width:80px}.totals p{display:flex;justify-content:space-between}.upsell{background:#e7e9df;border-radius:15px;padding:20px;margin:20px 0}.secondary{background:transparent;color:var(--ink);border:1px solid #b8bcb1}.text-button{background:none;color:var(--ink);padding-left:0;font-size:14px}label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}input,textarea,select{background:white;color:#151715;border:1px solid #ccd0c3;padding:11px 13px;border-radius:10px;max-width:100%;width:100%}input[type=color]{padding:3px;min-height:45px}form{display:grid;gap:18px}form button{justify-self:start}.check{display:flex;flex-direction:row;align-items:center;gap:10px}.check input{width:auto}.setup{max-width:560px;margin:8vh auto;padding:30px}.setup h1{font-size:55px;letter-spacing:-3px}.setup [role=alert],#error{color:#a82121}.admin{padding:35px 5%;max-width:1440px}.admin h1{font-size:42px;letter-spacing:-2px}.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.tabs{margin:30px 0;gap:10px;flex-wrap:wrap}.editor{background:white;border:1px solid #ddd;border-radius:var(--radius);padding:30px;margin-top:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stats article{padding:30px;background:white;border:1px solid #ddd;border-radius:var(--radius)}.stats h2{font-size:32px;margin-top:20px}.table-wrap{overflow:auto;margin:20px 0}table{border-collapse:collapse;width:100%;background:white;font-size:14px}th,td{padding:16px;text-align:left;border-bottom:1px solid #ddd;vertical-align:top}th{background:#e8eadf}td select{min-width:130px}#message:not(:empty){padding:15px;background:#e5edcc;border-radius:10px}li{margin:12px 0}@media(max-width:760px){header{padding:18px 5%}header nav{display:none}.brand{font-size:17px}.bag{font-size:13px;padding:8px 10px}.hero{grid-template-columns:1fr;margin-top:12px;min-height:0;gap:22px}.hero-copy{padding:25px 0 0}.hero h1{font-size:65px;letter-spacing:-4px}.hero-note{margin-top:30px}.hero-visual{height:370px}.hero-art{min-height:0}.hero-visual .product-art{background-size:300% 100%}.hero-caption{font-size:15px}.grid{grid-template-columns:1fr 1fr;gap:16px}.product-meta{flex-direction:column;gap:4px}.section-title{align-items:flex-start;flex-direction:column;gap:0}.section-title input{margin-bottom:20px;max-width:100%}.category{font-size:11px;top:8px;left:8px}.about{padding:35px 25px}footer{flex-direction:column;align-items:flex-start}.form-grid,.stats{grid-template-columns:1fr}.admin-heading{align-items:flex-start;flex-direction:column}.admin h1{font-size:36px}.tabs button{padding:9px 13px;font-size:13px}dialog{padding:25px}.editor{padding:20px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
