:root{--brown-900: #2f2217;--brown-700: #4a3726;--brown-500: #7a5c3f;--brown-300: #b08d6a;--sand-200: #e8d9c2;--sand-100: #f3eadb;--paper: #faf6ee;--white: #fffdf9;--smile: #d98b3a;--moss: #6e7f4c;--sky: #8fb3c9;--danger: #b0413e;--ink: var(--brown-900);--ink-soft: var(--brown-500);--line: rgba(74, 55, 38, .16);--shadow: 0 6px 24px rgba(74, 55, 38, .12);--radius: 18px;--radius-sm: 10px;--font-head: "Fraunces", Georgia, "Times New Roman", serif;--font-ui: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{font-family:var(--font-ui);font-size:16px;line-height:1.5;color:var(--ink);background:var(--paper) radial-gradient(1200px 500px at 10% -10%,rgba(232,217,194,.7),transparent 60%)}a{color:var(--brown-700)}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3{font-family:var(--font-head);font-weight:600;line-height:1.15;margin:0;color:var(--brown-700)}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(16px,4vw,40px);background:#faf6eed9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.hero{display:flex;align-items:center;gap:14px;text-decoration:none;color:inherit}.hero__mark{width:44px;height:44px;flex:none}.hero__title{font-family:var(--font-head);font-size:clamp(20px,2.4vw,28px);font-weight:700;color:var(--brown-700);letter-spacing:-.01em}.hero__title em{font-style:italic;font-weight:400;color:var(--brown-500)}.hero__sub{display:block;font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brown-300)}.photographer{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--brown-500)}.photographer__label{text-align:right;font-size:12px;line-height:1.25}.photographer__label strong{display:block;font-family:var(--font-head);font-size:16px;color:var(--brown-700)}.photographer__logo{height:56px;width:auto}@media(max-width:560px){.photographer__label{display:none}}.page{max-width:1200px;margin:0 auto;padding:clamp(20px,4vw,48px) clamp(16px,4vw,40px) 80px}.quote{font-family:var(--font-head);font-style:italic;font-size:clamp(18px,2.2vw,24px);color:var(--brown-500);max-width:44ch;margin:0 0 36px}.quote small{display:block;font-family:var(--font-ui);font-style:normal;font-size:13px;margin-top:6px;color:var(--brown-300)}.products{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.card{position:relative;display:flex;flex-direction:column;gap:12px;padding:26px 26px 22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-3px);box-shadow:0 12px 32px #4a37262e}.card--soon{opacity:.72;pointer-events:none}.card__num{font-family:var(--font-head);font-size:48px;line-height:1;color:var(--sand-200);font-weight:700}.card h2{font-size:24px}.card p{margin:0;color:var(--ink-soft)}.card__cta{margin-top:auto;font-weight:800;color:var(--smile)}.badge{position:absolute;top:18px;right:18px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;padding:4px 10px;border-radius:999px;background:var(--sand-100);color:var(--brown-500)}.badge--live{background:#6e7f4c26;color:var(--moss)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;border:1px solid var(--brown-700);background:var(--brown-700);color:var(--white);font-weight:700;cursor:pointer;text-decoration:none;transition:background .15s ease}.btn:hover{background:var(--brown-900)}.btn--ghost{background:transparent;color:var(--brown-700)}.btn--ghost:hover{background:var(--sand-100)}.btn--small{padding:6px 12px;font-size:14px}.btn:disabled{opacity:.5;cursor:not-allowed}.field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:var(--brown-500)}.field input,.field select{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--white);font-weight:400}.muted{color:var(--brown-300);font-size:14px}.footer{text-align:center;padding:40px 16px;font-size:13px;color:var(--brown-300)}.cal-sheet{position:relative;background:#fff;overflow:hidden;font-family:var(--font-ui);color:var(--brown-900);-webkit-print-color-adjust:exact;print-color-adjust:exact}.cal-page{position:absolute;overflow:hidden;background:#fff;display:flex;flex-direction:column}.cal-trim{position:absolute;inset:var(--bleed);border:.3mm dashed rgba(217,139,58,.6);pointer-events:none}.cal-marks i{position:absolute;background:#000;display:block}.cal-photo{position:relative;flex:0 0 auto;overflow:hidden;background:var(--sand-100)}.cal-page--month .cal-photo{height:64%}.cal-page--cover .cal-photo{position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.cal-photo img{display:block;width:100%;height:100%;object-fit:cover}.cal-photo--empty{display:grid;place-items:center;text-align:center;font-family:var(--font-head);font-size:14mm;color:var(--brown-300)}.cal-photo--empty small{font-family:var(--font-ui);font-size:5mm}.cal-cover{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(var(--bleed) + 18mm);background:linear-gradient(to top,rgba(47,34,23,.72) 0%,rgba(47,34,23,.25) 35%,transparent 60%);color:#fff}.cal-cover__title{font-family:var(--font-head);font-weight:700;font-size:30mm;line-height:1;color:#fff;letter-spacing:-.01em}.cal-cover__subtitle{font-family:var(--font-head);font-style:italic;font-size:9mm;margin:4mm 0 0;color:#ffffffe6}.cal-cover__brand{display:flex;align-items:flex-end;justify-content:space-between;margin-top:12mm;font-size:5mm;letter-spacing:.1em;color:#ffffffd9}.cal-cover__brand img{height:30mm}.cal-body{flex:1 1 auto;display:flex;flex-direction:column;padding:8mm calc(var(--bleed) + 14mm) calc(var(--bleed) + 8mm);gap:4mm}.cal-head{display:flex;align-items:baseline;gap:6mm}.cal-month{font-family:var(--font-head);font-weight:700;font-size:26mm;line-height:1;color:var(--brown-700);letter-spacing:-.02em}.cal-year{font-family:var(--font-head);font-weight:400;font-size:14mm;color:var(--brown-300)}.cal-caption{margin-left:auto;font-family:var(--font-head);font-style:italic;font-size:6mm;color:var(--brown-500);text-align:right;max-width:45%}.cal-grid{flex:1 1 auto;width:100%;border-collapse:collapse;table-layout:fixed;font-size:7.5mm}.cal-grid th{font-weight:800;font-size:4.2mm;letter-spacing:.12em;text-transform:uppercase;color:var(--brown-300);padding:0 0 1.5mm;border-bottom:.4mm solid var(--brown-700);text-align:center}.cal-grid td{text-align:center;vertical-align:middle;font-weight:600;border-bottom:.2mm solid rgba(74,55,38,.15)}.cal-grid td.is-out span{color:#4a372638;font-weight:400}.cal-grid .is-sun{color:var(--danger)}.cal-grid .is-sat{color:var(--brown-500)}.cal-grid td.is-holiday span{color:var(--danger);position:relative}.cal-grid td.is-holiday span:after{content:"";position:absolute;left:50%;bottom:-2mm;width:1.4mm;height:1.4mm;border-radius:50%;background:var(--danger);transform:translate(-50%)}.cal-grid .cal-wk{width:9%;font-size:3.8mm;font-weight:700;color:var(--brown-300);border-right:.2mm solid rgba(74,55,38,.15)}.cal-grid th.cal-wk{border-bottom-color:var(--brown-700)}.cal-holidays{display:flex;flex-wrap:wrap;gap:1mm 6mm;font-size:3.6mm;color:var(--brown-500)}.cal-holidays b{color:var(--danger);font-weight:800}.cal-foot{display:flex;justify-content:space-between;font-size:3.4mm;letter-spacing:.08em;text-transform:uppercase;color:var(--brown-300)}.cal-sheet--landscape .cal-page--month .cal-photo{height:60%}.cal-sheet--landscape .cal-month{font-size:20mm}.cal-sheet--landscape .cal-year{font-size:11mm}.cal-sheet--landscape .cal-grid{font-size:6mm}.cal-sheet--landscape .cal-body{padding-top:5mm;gap:2.5mm}.cal-sheet--landscape .cal-cover__title{font-size:26mm}.cal-editor{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}@media(max-width:900px){.cal-editor{grid-template-columns:1fr}}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:20px;display:flex;flex-direction:column;gap:14px;box-shadow:var(--shadow)}.panel h2{font-size:20px}.panel h3{font-size:13px;font-family:var(--font-ui);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--brown-300);margin-top:6px}.field--row{flex-direction:row;align-items:center;justify-content:space-between;gap:10px}.field--row input[type=checkbox]{width:18px;height:18px;accent-color:var(--brown-700)}.field input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--smile)}.actions{display:flex;flex-wrap:wrap;gap:8px}.slots{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:6px}@media(max-width:900px){.slots{grid-template-columns:repeat(7,minmax(0,1fr))}}.slot{position:relative;aspect-ratio:297 / 420;border-radius:8px;border:2px solid transparent;background:var(--sand-100);overflow:hidden;cursor:pointer;padding:0}.slot--landscape{aspect-ratio:420 / 297}.slot img{width:100%;height:100%;object-fit:cover;display:block}.slot.is-active{border-color:var(--smile);box-shadow:0 0 0 3px #d98b3a40}.slot.is-dragover{border-color:var(--moss)}.slot__label{position:absolute;left:0;right:0;bottom:0;font-size:10px;font-weight:800;text-align:center;padding:2px;background:#faf6eed9;color:var(--brown-700)}.slot__warn{position:absolute;top:3px;right:3px;width:10px;height:10px;border-radius:50%;background:var(--danger)}.preview{position:relative;width:100%;overflow:hidden;border-radius:var(--radius);box-shadow:var(--shadow);background:var(--sand-200)}.preview .cal-sheet{position:absolute;left:0;top:0;transform-origin:0 0}.preview.is-dragover{outline:3px dashed var(--moss);outline-offset:-6px}.dropzone{border:2px dashed var(--brown-300);border-radius:var(--radius-sm);padding:14px;text-align:center;color:var(--brown-500);font-size:14px;cursor:pointer}.dropzone:hover,.dropzone.is-dragover{background:var(--sand-100);border-color:var(--moss)}.dropzone input{display:none}.hint{font-size:13px;color:var(--brown-300);margin:0}.warn{font-size:13px;color:var(--danger);margin:0}.print-root{background:#777;padding:10mm;display:flex;flex-direction:column;align-items:center;gap:10mm}.print-toolbar{position:fixed;top:12px;right:12px;z-index:10;display:flex;gap:8px;background:#faf6eef2;padding:10px;border-radius:999px;box-shadow:var(--shadow)}@media print{body{background:#fff!important}.print-toolbar,.topbar{display:none!important}.print-root{background:none;padding:0;gap:0;display:block}.print-root .cal-sheet{page-break-after:always;break-after:page;margin:0}.print-root .cal-sheet:last-child{page-break-after:auto;break-after:auto}}
