*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text,#1f2937);line-height:1.6;background:#f8fafc}a{color:var(--primary,#2563eb);text-decoration:none}a:hover{text-decoration:underline}.sitehead{background:white;border-bottom:1px solid #e5e7eb;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px max(20px,calc((100% - 1120px)/2));flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--secondary,#0f172a);font-size:1.2rem}.brand img{max-height:52px;max-width:150px;object-fit:contain}.sitehead nav,footer nav{display:flex;gap:20px;flex-wrap:wrap}.sitehead nav a{color:var(--secondary,#0f172a);font-weight:600}.content{max-width:1120px;margin:auto;padding:28px 20px;min-height:60vh}.hero{background:linear-gradient(135deg,var(--primary,#2563eb),var(--secondary,#0f172a));color:white;padding:60px 36px;border-radius:18px;margin-bottom:32px}.hero h1{font-size:clamp(2rem,5vw,3.4rem);margin:0 0 8px}.hero p{max-width:760px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin:20px 0 36px}.postcard{background:white;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden;padding:0 0 16px;box-shadow:0 3px 14px #0f172a08}.postcard>a h2,.postcard>p{margin:12px 16px}.postcard img{width:100%;height:200px;object-fit:cover;background:#e5e7eb}.postcard h2{font-size:1.12rem;line-height:1.35;color:var(--secondary,#0f172a)}.postcard p{color:#64748b;font-size:.95rem}.price{font-size:1.25rem;font-weight:800;color:var(--primary,#2563eb)}.postcard .price{margin:8px 16px}.single{max-width:850px;margin:auto;background:white;padding:clamp(18px,4vw,42px);border:1px solid #e5e7eb;border-radius:16px}.single h1{line-height:1.2;font-size:clamp(2rem,4vw,3rem)}.feature{width:100%;max-height:520px;object-fit:contain;border-radius:12px;background:#f1f5f9}.richtext{overflow-wrap:anywhere}.richtext img{max-width:100%;height:auto}.button,button{display:inline-block;background:var(--primary,#2563eb);color:white;padding:11px 18px;border:0;border-radius:8px;font-weight:700;cursor:pointer}.button:hover{color:white;text-decoration:none}footer{padding:32px max(20px,calc((100% - 1120px)/2));background:var(--secondary,#0f172a);color:white}footer a{color:white}footer p{color:#cbd5e1}.muted{color:#64748b}.admin{background:#f1f5f9;color:#0f172a}.adminbar{background:#0f172a;color:white;padding:14px max(20px,calc((100% - 1180px)/2));display:flex;align-items:center;gap:22px;flex-wrap:wrap}.adminbar>a{font-weight:800;color:white}.adminbar nav{display:flex;gap:16px;flex-wrap:wrap;margin-left:auto}.adminbar nav a,.adminbar span{color:#e2e8f0}.adminmain{max-width:1180px;margin:auto;padding:28px 20px}.adminmain h1{margin-top:0}.panel{background:white;padding:22px;border:1px solid #e2e8f0;border-radius:12px;margin:20px 0;max-width:850px}.panel label{display:block;font-weight:650;margin:14px 0}.panel input:not([type=file]):not([type=color]),.panel textarea,.panel select,.login input{display:block;width:100%;margin-top:6px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:7px;font:inherit;background:white}.panel input[type=file]{display:block;margin-top:8px}.panel input[type=color]{display:block;width:70px;height:42px;margin-top:8px;border:0}.panel textarea{resize:vertical}.panel button{margin-top:10px}.preview{max-width:180px;max-height:100px;object-fit:contain;display:block;background:#e2e8f0;padding:5px;border-radius:6px}.preview.tiny{max-width:50px;max-height:50px}.notice{background:#fef3c7;border:1px solid #fcd34d;padding:12px;border-radius:8px}.cards{display:flex;gap:16px;flex-wrap:wrap}.card{background:white;padding:20px 26px;border-radius:12px;min-width:160px;border:1px solid #e2e8f0}.card h2{font-size:2rem;margin:0}.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:24px 0}.links a{padding:18px;background:white;border:1px solid #e2e8f0;border-radius:10px;font-weight:700}table{border-collapse:collapse;width:100%;background:white;margin:20px 0}th,td{text-align:left;padding:12px;border-bottom:1px solid #e2e8f0}th{background:#e2e8f0}.split{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1.4fr);gap:24px}.login{min-height:100vh;display:grid;place-items:center;background:#e2e8f0}.login .panel{width:min(420px,calc(100% - 32px));padding:28px}.login h1{margin-top:0}.login label{display:block;margin:16px 0}.login button{width:100%;margin-top:12px}@media(max-width:700px){.split{grid-template-columns:1fr}.adminbar nav{margin-left:0}.sitehead{align-items:flex-start}.hero{padding:36px 22px}th,td{padding:8px;font-size:.9rem}}