:root{color-scheme:light dark;--bg: #ffffff;--surface: #ffffff;--surface-2: #f6f6f4;--border: #e7e7e3;--border-strong: #d7d7d2;--text: #1b1b19;--text-dim: #5e5e58;--text-faint: #98988f;--accent: #00964a;--accent-ink: #ffffff;--accent-wash: #eef7f1;--maxw: 1080px;--radius: 8px;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}@media (prefers-color-scheme: dark){:root{--bg: #121312;--surface: #181917;--surface-2: #1f201d;--border: #2a2b28;--border-strong: #363733;--text: #eaeae5;--text-dim: #a3a39c;--text-faint: #6d6e67;--accent: #35c06e;--accent-ink: #0e130f;--accent-wash: #17251c}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:2px}h1,h2,h3,h4{font-weight:600;line-height:1.2;letter-spacing:-.01em;color:var(--text)}.site-header{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 24px;height:60px}.brand{display:inline-flex;align-items:center;gap:9px;color:var(--text)}.brand:hover{text-decoration:none}.brand-mark{width:16px;height:16px;border-radius:4px;background:var(--accent);position:relative;flex:none}.brand-mark:after{content:"";position:absolute;top:4px;right:4px;bottom:4px;left:4px;border-radius:50%;border:1.5px solid var(--accent-ink)}.brand-name{font-size:1rem;font-weight:600;letter-spacing:-.01em}.brand-sub{font-size:.7rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em;padding-left:2px}.tabs{display:flex;flex-wrap:wrap;gap:4px}.tabs a{color:var(--text-dim);padding:6px 10px;font-size:.9rem;border-radius:6px;border-bottom:2px solid transparent}.tabs a:hover{color:var(--text);text-decoration:none}.tabs a.active{color:var(--accent)}.hero{padding:84px 0 40px}.hero-kicker{color:var(--accent);font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;margin:0 0 20px}.hero h1{font-size:clamp(2rem,5vw,3rem);margin:0 0 22px;letter-spacing:-.025em}.hero-lead{max-width:620px;color:var(--text-dim);font-size:1.05rem;margin:0 0 36px}.hero-stats{display:flex;gap:48px;flex-wrap:wrap;margin-bottom:36px}.hero-stats b{display:block;font-size:1.7rem;font-weight:600;letter-spacing:-.02em}.hero-stats span{color:var(--text-faint);font-size:.82rem}.hero-links{display:flex;gap:12px;flex-wrap:wrap;margin:0}.btn{display:inline-block;background:var(--accent);color:var(--accent-ink);padding:9px 18px;border-radius:6px;font-weight:500;font-size:.92rem;border:1px solid var(--accent)}.btn:hover{text-decoration:none;filter:brightness(1.05)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--border-strong)}.btn-ghost:hover{background:var(--surface-2);border-color:var(--text-faint)}.page-head{padding:48px 0 6px;border-bottom:1px solid var(--border);margin-bottom:32px}.page-head h1{font-size:clamp(1.6rem,3.5vw,2.1rem);margin:0 0 12px}.page-lead{max-width:660px;color:var(--text-dim);margin:0 0 12px}.page-lead.small,.small{font-size:.9rem}.crumbs{font-size:.84rem;color:var(--text-faint);text-transform:capitalize;margin:0 0 10px}.crumbs a{color:var(--text-dim)}.meta-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 14px}.attribution{color:var(--text-dim);font-size:.92rem;margin:0 0 14px}.attribution strong{color:var(--text);font-weight:600}.section-nav{display:flex;gap:18px;flex-wrap:wrap;padding-bottom:20px}.section-nav a{font-size:.86rem;color:var(--text-dim)}.section-nav a:hover{color:var(--accent)}.filter-row{margin:8px 0 4px}#filter{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border-strong);color:var(--text);font:inherit;font-size:.92rem;padding:9px 14px;border-radius:6px;outline:none}#filter:focus{border-color:var(--accent)}#filter::placeholder{color:var(--text-faint)}.cat-section{margin:44px 0 8px}.cat-section>h2{font-size:1.15rem;margin:0 0 6px;letter-spacing:-.01em}.cat-intro{color:var(--text-dim);max-width:640px;margin:0 0 22px;font-size:.92rem}.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:24px}.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;color:var(--text);transition:border-color .15s ease}.card:hover{text-decoration:none;border-color:var(--text-faint)}.card-photo{aspect-ratio:3 / 2;background:var(--surface-2);position:relative;overflow:hidden}.card-photo img{width:100%;height:100%;object-fit:cover;display:block}.card-photo.placeholder{display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border)}.card-photo.placeholder:before{content:"";width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border-strong);opacity:.8}.ph-label{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint)}.card-body{display:flex;flex-direction:column;gap:6px;padding:13px 15px 15px;flex-grow:1}.card-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.card-title{margin:1px 0 0;font-size:1rem;font-weight:600}.card-mood{margin:0;color:var(--text-dim);font-size:.86rem;flex-grow:1}.card-creator{margin:0;color:var(--text-faint);font-size:.8rem}.sim-chip{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--text-dim)}.sim-dot{width:7px;height:7px;border-radius:50%;flex:none}.video-chip{font-size:.64rem;color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;border:1px solid var(--border);padding:2px 7px;border-radius:4px;white-space:nowrap}.badge{align-self:flex-start;margin-top:3px;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);display:inline-flex;align-items:center;gap:6px}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--border-strong)}.badge-scan:before{background:var(--accent)}.badge-char:before{background:var(--accent);opacity:.6}.badge-data:before{background:var(--text-faint)}.badge-creative:before{background:var(--border-strong)}.badge-ref:before{background:var(--border-strong)}.gallery{margin:0 0 8px}.gallery-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.gallery-frame{margin:0;aspect-ratio:3 / 2;border-radius:var(--radius);overflow:hidden;position:relative;background:var(--surface-2);border:1px solid var(--border)}.gallery-frame img{width:100%;height:100%;object-fit:cover;display:block}.gallery-frame.placeholder{display:flex;align-items:center;justify-content:center}.gallery-frame.placeholder:before{content:"";width:30px;height:30px;border-radius:50%;border:1.5px solid var(--border-strong);opacity:.8}.gallery-note{color:var(--text-faint);font-size:.86rem;margin:14px 0 0}.article-list{display:grid;gap:0;margin-bottom:44px;border-top:1px solid var(--border)}.article-item{display:flex;gap:16px;align-items:baseline;padding:18px 4px;color:var(--text);border-bottom:1px solid var(--border);transition:padding-left .15s ease}.article-item:hover{text-decoration:none;padding-left:10px}.article-item h3{margin:0 0 4px;font-size:1.02rem;font-weight:600}.article-item h3:after{content:" →";color:var(--accent);opacity:0;transition:opacity .15s}.article-item:hover h3:after{opacity:1}.article-item p{margin:0;color:var(--text-dim);font-size:.9rem}.article-item>div{flex:1}.md{max-width:720px}.md h2{font-size:1.4rem;margin:44px 0 14px;letter-spacing:-.015em}.md h3{font-size:1.15rem;margin:30px 0 10px}.md h4{font-size:1rem;margin:24px 0 8px;color:var(--text-dim)}.md p,.md li{color:var(--text)}.md li{margin:5px 0}.md strong{font-weight:600}.md a{text-decoration:underline;text-underline-offset:2px;text-decoration-color:var(--border-strong)}.md a:hover{text-decoration-color:var(--accent)}.md hr{border:none;border-top:1px solid var(--border);margin:36px 0}.md code{font-family:var(--mono);font-size:.85em;background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.md pre{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;overflow-x:auto}.md pre code{background:none;border:none;padding:0}.md blockquote{margin:20px 0;padding:4px 0 4px 18px;border-left:2px solid var(--accent);color:var(--text-dim);font-size:.95rem}.md blockquote p{color:inherit}.md table{border-collapse:collapse;width:100%;margin:18px 0 26px;font-size:.9rem;display:block;overflow-x:auto}.md th,.md td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--border);vertical-align:top}.md th{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--text-faint);border-bottom:1px solid var(--border-strong)}.md td:first-child{color:var(--text-dim);white-space:nowrap}.md td:first-child a{white-space:normal}.recipe-section{border-top:1px solid var(--border);padding-top:4px;margin-top:28px}.recipe-section:first-child{border-top:none;margin-top:0}.section-heading{color:var(--text-faint);font-size:.72rem!important;text-transform:uppercase;letter-spacing:.14em;font-weight:600;margin:28px 0 2px!important}.recipe-section table{font-size:.94rem}.about-md ul{padding-left:20px}.about-md li{margin:9px 0}.cta-panel{border-top:1px solid var(--border);padding:32px 0 8px;margin:48px 0 40px}.cta-panel h2{margin:0 0 12px;font-size:1.2rem}.cta-panel p{color:var(--text-dim);margin:10px 0;max-width:680px}.cta-panel strong{color:var(--text)}.contact-cards{display:grid;gap:0;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin:8px 0;border-top:1px solid var(--border)}.contact-card{padding:22px 24px 22px 0;border-bottom:1px solid var(--border)}.contact-card h3{margin:0 0 8px;font-size:.98rem}.contact-card p{margin:6px 0}.contact-card .small{color:var(--text-dim)}.site-footer{border-top:1px solid var(--border);margin-top:40px;padding:32px 0 56px;color:var(--text-faint);font-size:.86rem}.site-footer p{max-width:680px;margin:0 0 10px}.site-footer a{color:var(--text-dim)}.footer-fine{color:var(--text-faint)}@media (max-width: 640px){.hero{padding-top:52px}.hero-stats{gap:28px}.tabs a{padding:6px 8px;font-size:.86rem}.brand-sub{display:none}}.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:var(--accent-ink);padding:10px 16px;border-radius:0 0 var(--radius) 0}.skip:focus{left:0}:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.copy{max-width:660px;color:var(--text-dim);display:flex;flex-direction:column;gap:14px;margin:0 0 28px}.copy strong{color:var(--text);font-weight:600}.note{border-left:2px solid var(--accent);background:var(--surface-2);color:var(--text-dim);padding:14px 18px;border-radius:0 var(--radius) var(--radius) 0;max-width:680px;font-size:.92rem;margin:0 0 28px}.link-list{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 28px;padding:0;list-style:none}.enquiry{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));max-width:680px;margin-bottom:40px}.field{display:flex;flex-direction:column;gap:6px}.field-wide{grid-column:1 / -1}.field label{font-size:.86rem;font-weight:500;color:var(--text)}.field .opt{color:var(--text-faint);font-weight:400;font-size:.78em;text-transform:uppercase;letter-spacing:.1em;margin-left:6px}.field input,.field select,.field textarea{font:inherit;font-size:.94rem;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:9px 11px;width:100%;transition:border-color .15s ease}.field textarea{resize:vertical;line-height:1.55}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--border-strong)}.field input:user-invalid,.field select:user-invalid,.field textarea:user-invalid{border-color:#c2603c}.formnote{font-size:.88rem;color:var(--text-dim);margin:12px 0 0;min-height:1.4em}.formnote[data-state=error]{color:#c2603c}.formnote[data-state=ok]{color:var(--accent)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}
