/* Masterblog — ported same-to-same from masterblog-design-reference */

:root{
  --paper:#FAF7F2; --surface:#FFFFFF; --ink:#211D18; --ink-muted:#6B655C; --ink-faint:#948C7F;
  --border:#E3DDD3; --border-strong:#CFC6B8;
  --font-display:'Newsreader', Georgia, serif;
  --font-body:'Public Sans', -apple-system, 'Segoe UI', sans-serif;
  --accent:#B5502E;
}


*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);}
a{color:inherit;text-decoration:none;}
h1,h2,h3{font-family:var(--font-display);font-weight:500;margin:0;letter-spacing:-0.01em;}
p{margin:0;}
.mb-page{max-width:1240px;margin:0 auto;padding:0 56px;}
img{max-width:100%;height:auto;display:block;}
.lbds-skip{position:absolute;left:-9999px;}
.lbds-skip:focus{left:1rem;top:1rem;z-index:100;background:#fff;padding:.5rem 1rem;}


/* --- from Home --- */


    .topbar{background:var(--ink);color:#D8D2C4;font-size:12.5px;padding:8px 0;}
    .topbar .mb-page{display:flex;justify-content:space-between;align-items:center;gap:16px;}
    .topbar-util{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
    .topbar-util a{color:#D8D2C4;text-decoration:none;}
    .topbar-util a:hover{color:#fff;}
    .topbar-sep{opacity:0.45;}

    .site-header{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink);}
    .logo{font-family:var(--font-display);font-size:23px;font-weight:600;}
    .logo span{color:var(--accent);}
    .primary-nav{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:500;}
    .primary-nav a:hover{color:var(--accent);}
    .header-actions{display:flex;align-items:center;gap:20px;}
    .header-actions svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.6;}
    .btn-cta{font-size:13.5px;font-weight:600;background:var(--accent);color:#FFF8F2;padding:10px 18px;border-radius:3px;}

    .kicker{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);}
    .tag-accent{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:color-mix(in srgb, var(--accent) 14%, white);color:var(--accent);width:fit-content;}
    .meta{font-size:12.5px;color:var(--ink-muted);display:flex;gap:8px;align-items:center;}
    .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);}
    .ph{position:relative;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);overflow:hidden;flex-shrink:0;}
    .ph svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32%;stroke:#B5AA95;fill:none;stroke-width:1.3;}

    .hero{padding:56px 0 64px;display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;border-bottom:1px solid var(--border);}
    .hero .ph{aspect-ratio:auto;height:420px;}
    .hero h1{font-size:46px;line-height:1.1;margin-top:14px;}
    .hero p.dek{font-size:17px;color:var(--ink-muted);line-height:1.6;margin-top:16px;max-width:460px;}
    .hero .meta{margin-top:22px;}

    .cat-strip{display:flex;gap:28px;padding:20px 0;font-size:14px;color:var(--ink-muted);border-bottom:1px solid var(--border);overflow-x:auto;}
    .cat-strip a.active{color:var(--accent);font-weight:600;}
    .cat-strip a:hover{color:var(--ink);}

    .section{padding:56px 0;border-bottom:1px solid var(--border);}
    .section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;}
    .section-title{font-size:26px;}
    .section-link{font-size:13.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;}

    .cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;}
    .card{display:flex;flex-direction:column;gap:12px;}
    .card .ph{aspect-ratio:4/3;}
    .card h3{font-size:18.5px;line-height:1.3;}
    .card p.excerpt{font-size:13.5px;color:var(--ink-muted);line-height:1.55;}

    .split{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;}
    .list-row{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid var(--border);}
    .list-row:first-child{padding-top:0;}
    .list-row .ph{width:104px;height:76px;}
    .list-row h3{font-size:15.5px;}

    .sidebar-block{margin-bottom:36px;}
    .sidebar-title{font-size:11.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border);}
    .popular-row{display:flex;gap:14px;align-items:baseline;padding:11px 0;}
    .popular-row .num{font-family:var(--font-display);font-size:20px;color:var(--accent);width:22px;flex-shrink:0;}
    .popular-row a{font-size:14.5px;line-height:1.4;}

    .newsletter{background:var(--ink);color:var(--paper);padding:16px;border:1px solid var(--ink);}
    .newsletter-in{padding:28px;}
    .newsletter h3{color:var(--paper);font-size:22px;}
    .newsletter p{color:#B5AFA0;font-size:13.5px;margin-top:8px;line-height:1.5;}
    .newsletter form{display:flex;flex-direction:column;gap:10px;margin-top:18px;}
    .newsletter input{font-family:var(--font-body);font-size:14px;padding:11px 14px;border:1px solid #4A4438;background:#2C2820;color:#fff;}
    .newsletter input::placeholder{color:#8A8474;}
    .newsletter button{font-family:var(--font-body);font-weight:600;font-size:14px;padding:11px;background:var(--accent);color:#FFF8F2;border:none;cursor:pointer;}

    .site-footer{background:var(--ink);color:#EDE7DC;padding:56px 0 28px;margin-top:0;}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
    .footer-col h4{font-size:12.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#B5AFA0;margin-bottom:14px;}
    .footer-col a{display:block;color:#EDE7DC;font-size:14px;padding:5px 0;opacity:0.9;}
    .footer-col a:hover{color:var(--accent);opacity:1;}
    .footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #3A352C;display:flex;justify-content:space-between;font-size:12.5px;color:#948C7F;}


/* --- from Category --- */


    .site-header{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink);}
    .logo{font-family:var(--font-display);font-size:23px;font-weight:600;}
    .logo span{color:var(--accent);}
    .primary-nav{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:500;}
    .header-actions{display:flex;align-items:center;gap:20px;}
    .header-actions svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.6;}
    .btn-cta{font-size:13.5px;font-weight:600;background:var(--accent);color:#FFF8F2;padding:10px 18px;border-radius:3px;}

    .crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted);padding:20px 0 0;}
    .crumbs span.sep{color:var(--ink-faint);}
    .crumbs span.current{color:var(--ink);font-weight:600;}

    .cat-head{padding:20px 0 32px;border-bottom:1px solid var(--border);}
    .kicker{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);}
    .cat-head h1{font-size:42px;margin-top:10px;}
    .cat-head p{font-size:16px;color:var(--ink-muted);margin-top:12px;max-width:600px;line-height:1.55;}

    .toolbar{display:flex;align-items:center;justify-content:space-between;padding:24px 0;flex-wrap:wrap;gap:16px;}
    .filters{display:flex;gap:10px;flex-wrap:wrap;}
    .chip{font-size:13px;font-weight:600;padding:8px 14px;border:1px solid var(--border-strong);border-radius:20px;color:var(--ink-muted);}
    .chip.active{background:var(--ink);border-color:var(--ink);color:var(--paper);}
    .sort{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--ink-muted);}
    .sort select{font-family:var(--font-body);font-size:13.5px;padding:8px 12px;border:1px solid var(--border-strong);border-radius:3px;background:var(--surface);color:var(--ink);}

    .ph{position:relative;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);overflow:hidden;flex-shrink:0;}
    .ph svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32%;stroke:#B5AA95;fill:none;stroke-width:1.3;}
    .tag-accent{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:color-mix(in srgb, var(--accent) 14%, white);color:var(--accent);width:fit-content;}
    .meta{font-size:12.5px;color:var(--ink-muted);display:flex;gap:8px;align-items:center;}
    .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);}

    .cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-bottom:48px;}
    .card{display:flex;flex-direction:column;gap:12px;}
    .card .ph{aspect-ratio:4/3;}
    .card h3{font-size:18px;line-height:1.3;}
    .card p.excerpt{font-size:13.5px;color:var(--ink-muted);line-height:1.55;}

    .pagination{display:flex;align-items:center;justify-content:center;gap:6px;padding:24px 0 64px;}
    .page-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);font-size:14px;font-weight:600;color:var(--ink-muted);}
    .page-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
    .page-arrow{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;padding:0 12px;height:38px;color:var(--ink-muted);}
    .page-arrow svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;}

    .site-footer{background:var(--ink);color:#EDE7DC;padding:48px 0 28px;}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
    .footer-col h4{font-size:12.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#B5AFA0;margin-bottom:14px;}
    .footer-col a{display:block;color:#EDE7DC;font-size:14px;padding:5px 0;opacity:0.9;}
    .footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #3A352C;display:flex;justify-content:space-between;font-size:12.5px;color:#948C7F;}


/* --- from Article --- */


    .site-header{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink);}
    .logo{font-family:var(--font-display);font-size:23px;font-weight:600;}
    .logo span{color:var(--accent);}
    .primary-nav{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:500;}
    .header-actions{display:flex;align-items:center;gap:20px;}
    .header-actions svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.6;}
    .btn-cta{font-size:13.5px;font-weight:600;background:var(--accent);color:#FFF8F2;padding:10px 18px;border-radius:3px;}

    .crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted);padding:20px 0;}
    .crumbs a:hover{color:var(--accent);}
    .crumbs span.sep{color:var(--ink-faint);}
    .crumbs span.current{color:var(--ink);font-weight:600;}

    .tag-accent{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:color-mix(in srgb, var(--accent) 14%, white);color:var(--accent);width:fit-content;}
    .article-head{max-width:760px;margin:0 auto;text-align:left;padding-bottom:32px;}
    .article-head h1{font-size:44px;line-height:1.12;margin-top:16px;}
    .dek{font-size:18px;color:var(--ink-muted);line-height:1.55;margin-top:16px;}
    .byline{display:flex;align-items:center;gap:12px;margin-top:28px;padding-top:24px;border-top:1px solid var(--border);}
    .avatar{width:44px;height:44px;border-radius:50%;background:var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;color:var(--ink-muted);}
    .byline-name{font-size:14.5px;font-weight:600;}
    .byline-meta{font-size:12.5px;color:var(--ink-muted);}

    .hero-img{max-width:1000px;margin:0 auto;aspect-ratio:16/8;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);position:relative;overflow:hidden;}
    .hero-img svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:16%;stroke:#B5AA95;fill:none;stroke-width:1.2;}
    .caption{max-width:1000px;margin:10px auto 0;font-size:12.5px;color:var(--ink-faint);text-align:right;}

    .article-body-wrap{display:grid;grid-template-columns:200px 1fr 240px;gap:48px;padding:48px 0 72px;align-items:start;}
    .toc{position:sticky;top:32px;border-left:2px solid var(--border);padding-left:18px;}
    .toc-title{font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:14px;}
    .toc ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
    .toc li{font-size:13.5px;line-height:1.4;color:var(--ink-muted);}
    .toc li.active{color:var(--accent);font-weight:600;}

    .prose{max-width:680px;font-size:18px;line-height:1.72;color:var(--ink);}
    .prose > * + *{margin-top:22px;}
    .prose h2{font-size:28px;margin-top:48px;}
    .prose h3{font-size:21px;margin-top:36px;}
    .prose blockquote{font-family:var(--font-display);font-style:italic;font-size:25px;line-height:1.4;color:var(--ink);border-left:3px solid var(--accent);padding-left:24px;margin:36px 0;}
    .prose ul{padding-left:22px;display:flex;flex-direction:column;gap:10px;}
    .prose a{text-decoration:underline;text-underline-offset:2px;color:var(--accent);}
    .callout{border-top:2px solid var(--ink);padding-top:16px;margin-top:36px;}
    .callout-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;}
    .callout-label svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
    .callout p{font-size:15px;line-height:1.6;color:var(--ink-muted);}

    .faq{display:flex;flex-direction:column;}
    .faq-item{border-bottom:1px solid var(--border);padding:16px 0;}
    .faq-item:first-child{padding-top:0;}
    .faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15px;font-weight:600;font-family:var(--font-body);cursor:pointer;}
    .faq-q svg{width:16px;height:16px;stroke:var(--ink-muted);fill:none;stroke-width:1.8;flex-shrink:0;}
    .faq-a{font-size:14.5px;color:var(--ink-muted);line-height:1.6;margin-top:10px;}

    .prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);max-width:1000px;margin:0 auto;}
    .pn-item{background:var(--surface);padding:22px 28px;display:flex;flex-direction:column;gap:6px;}
    .pn-item.next{text-align:right;align-items:flex-end;}
    .pn-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);}
    .pn-label svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
    .pn-title{font-family:var(--font-display);font-size:17px;}

    .share-rail{display:flex;flex-direction:column;gap:10px;position:sticky;top:32px;}
    .share-icon{width:38px;height:38px;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;}
    .share-icon svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.6;}
    .author-card{border:1px solid var(--border);background:var(--surface);padding:22px;margin-top:32px;}
    .author-card .byline{margin:0;padding:0;border:none;}
    .author-card p{font-size:13px;color:var(--ink-muted);line-height:1.55;margin-top:12px;}

    .related-section{max-width:1000px;margin:0 auto;padding:56px 0;border-top:1px solid var(--border);}
    .section-title{font-size:26px;margin-bottom:28px;}
    .related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
    .ph{position:relative;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);overflow:hidden;flex-shrink:0;}
    .ph svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32%;stroke:#B5AA95;fill:none;stroke-width:1.3;}
    .card{display:flex;flex-direction:column;gap:10px;}
    .card .ph{aspect-ratio:4/3;}
    .card h3{font-size:16.5px;line-height:1.3;}
    .meta{font-size:12.5px;color:var(--ink-muted);display:flex;gap:8px;align-items:center;}
    .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);}

    .newsletter{background:var(--ink);color:var(--paper);padding:44px;display:flex;align-items:center;justify-content:space-between;gap:32px;max-width:1000px;margin:0 auto 64px;}
    .newsletter h3{color:var(--paper);font-size:24px;max-width:320px;}
    .newsletter p{color:#B5AFA0;font-size:14px;margin-top:8px;}
    .newsletter form{display:flex;gap:10px;flex-shrink:0;}
    .newsletter input{font-family:var(--font-body);font-size:14.5px;padding:12px 16px;border:1px solid #4A4438;background:#2C2820;color:#fff;width:220px;}
    .newsletter input::placeholder{color:#8A8474;}
    .newsletter button{font-family:var(--font-body);font-weight:600;font-size:14.5px;padding:12px 20px;background:var(--accent);color:#FFF8F2;border:none;cursor:pointer;}

    .site-footer{background:var(--ink);color:#EDE7DC;padding:48px 0 28px;}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
    .footer-col h4{font-size:12.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#B5AFA0;margin-bottom:14px;}
    .footer-col a{display:block;color:#EDE7DC;font-size:14px;padding:5px 0;opacity:0.9;}
    .footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #3A352C;display:flex;justify-content:space-between;font-size:12.5px;color:#948C7F;}


/* --- from AuthorPage --- */


    .site-header{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid var(--ink);}
    .logo{font-family:var(--font-display);font-size:23px;font-weight:600;}
    .logo span{color:var(--accent);}
    .primary-nav{display:flex;gap:30px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:500;}
    .header-actions{display:flex;align-items:center;gap:20px;}
    .header-actions svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.6;}
    .btn-cta{font-size:13.5px;font-weight:600;background:var(--accent);color:#FFF8F2;padding:10px 18px;border-radius:3px;}

    .profile{display:grid;grid-template-columns:220px 1fr;gap:44px;padding:56px 0 40px;border-bottom:1px solid var(--border);align-items:start;}
    .avatar-lg{width:220px;height:220px;border-radius:50%;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:64px;color:#B5AA95;}
    .kicker{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);}
    .profile h1{font-size:38px;margin-top:10px;}
    .profile .role{font-size:15px;color:var(--ink-muted);margin-top:6px;}
    .profile .bio{font-size:16.5px;line-height:1.65;color:var(--ink);margin-top:20px;max-width:620px;}
    .stat-row{display:flex;gap:36px;margin-top:24px;}
    .stat{display:flex;flex-direction:column;gap:2px;}
    .stat b{font-family:var(--font-display);font-size:22px;}
    .stat span{font-size:12px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:0.06em;}
    .social-row{display:flex;gap:12px;margin-top:24px;}
    .social-icon{width:36px;height:36px;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;}
    .social-icon svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.6;}

    .section{padding:48px 0;}
    .section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:28px;}
    .section-title{font-size:26px;}
    .section-link{font-size:13.5px;font-weight:600;text-decoration:underline;text-underline-offset:3px;}

    .ph{position:relative;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);overflow:hidden;flex-shrink:0;}
    .ph svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32%;stroke:#B5AA95;fill:none;stroke-width:1.3;}
    .tag-accent{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:color-mix(in srgb, var(--accent) 14%, white);color:var(--accent);width:fit-content;}
    .meta{font-size:12.5px;color:var(--ink-muted);display:flex;gap:8px;align-items:center;}
    .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);}
    .cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;}
    .card{display:flex;flex-direction:column;gap:12px;}
    .card .ph{aspect-ratio:4/3;}
    .card h3{font-size:17.5px;line-height:1.3;}

    .site-footer{background:var(--ink);color:#EDE7DC;padding:48px 0 28px;}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
    .footer-col h4{font-size:12.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#B5AFA0;margin-bottom:14px;}
    .footer-col a{display:block;color:#EDE7DC;font-size:14px;padding:5px 0;opacity:0.9;}
    .footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #3A352C;display:flex;justify-content:space-between;font-size:12.5px;color:#948C7F;}


/* --- from Utility --- */


    .kicker{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);}
    .section{padding:64px 0;border-bottom:1px solid var(--border);}
    .section-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, white);padding:5px 12px;margin-bottom:20px;}

    .ph{position:relative;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);overflow:hidden;flex-shrink:0;}
    .ph svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:32%;stroke:#B5AA95;fill:none;stroke-width:1.3;}
    .tag-accent{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:color-mix(in srgb, var(--accent) 14%, white);color:var(--accent);width:fit-content;}
    .meta{font-size:12.5px;color:var(--ink-muted);display:flex;gap:8px;align-items:center;}
    .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);}

    /* search */
    .search-head{max-width:640px;}
    .search-head h1{font-size:32px;margin-top:8px;}
    .search-bar{display:flex;gap:12px;margin-top:20px;max-width:520px;}
    .search-bar input{flex:1;font-family:var(--font-body);font-size:15px;padding:13px 16px;border:1px solid var(--border-strong);border-radius:3px;}
    .search-bar button{font-family:var(--font-body);font-weight:600;padding:13px 20px;background:var(--ink);color:var(--paper);border:none;border-radius:3px;}
    .result-count{font-size:13.5px;color:var(--ink-muted);margin-top:24px;margin-bottom:20px;}
    .result-row{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--border);align-items:center;}
    .result-row:last-child{border:none;}
    .result-row .ph{width:110px;height:80px;flex-shrink:0;}
    .result-row h3{font-size:17px;}
    .result-row mark{background:color-mix(in srgb, var(--accent) 22%, white);color:var(--ink);padding:0 2px;}

    /* about */
    .about-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
    .about-grid .ph{aspect-ratio:4/3;}
    .about-grid h2{font-size:34px;line-height:1.15;}
    .about-grid p{font-size:16px;color:var(--ink-muted);line-height:1.65;margin-top:16px;max-width:480px;}
    .value-row{display:flex;gap:32px;margin-top:28px;}
    .value{display:flex;flex-direction:column;gap:4px;}
    .value b{font-family:var(--font-display);font-size:26px;}
    .value span{font-size:12px;color:var(--ink-muted);text-transform:uppercase;letter-spacing:0.06em;}

    /* 404 */
    .empty{text-align:center;padding:96px 0;display:flex;flex-direction:column;align-items:center;gap:20px;}
    .empty .code{font-family:var(--font-display);font-size:96px;color:var(--border-strong);line-height:1;}
    .empty h2{font-size:26px;}
    .empty p{font-size:15px;color:var(--ink-muted);max-width:400px;line-height:1.55;}
    .btn-primary{display:inline-flex;font-size:14.5px;font-weight:600;background:var(--accent);color:#FFF8F2;padding:12px 22px;border-radius:3px;margin-top:8px;}


/* --- from Cards --- */


    .wrap{max-width:1240px;margin:0 auto;padding:64px 56px 96px;}
    .kicker{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);}
    .section{margin-top:64px;}
    .section-head{display:flex;flex-direction:column;gap:6px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border);}
    .section-title{font-size:22px;font-family:var(--font-display);}
    .section-note{font-size:14px;color:var(--ink-muted);line-height:1.5;max-width:640px;}

    .ph{position:relative;background:linear-gradient(135deg,#EDE7DC,#DBD1BF);overflow:hidden;flex-shrink:0;}
    .ph svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34%;stroke:#B5AA95;fill:none;stroke-width:1.3;}

    .tag-accent{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:4px 9px;border-radius:2px;background:color-mix(in srgb, var(--accent, #B5502E) 14%, white);color:var(--accent, #B5502E);width:fit-content;}
    .meta{font-size:12.5px;color:var(--ink-muted);display:flex;gap:8px;align-items:center;}
    .meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint);}

    .cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
    .card{display:flex;flex-direction:column;gap:14px;}
    .card .ph{aspect-ratio:4/3;}
    .card h3{font-size:19px;line-height:1.3;}
    .card p.excerpt{font-size:14px;color:var(--ink-muted);line-height:1.55;margin-top:2px;}

    .featured{display:grid;grid-template-columns:1.3fr 1fr;gap:36px;align-items:stretch;}
    .featured .ph{aspect-ratio:auto;height:100%;min-height:340px;}
    .featured h2{font-size:34px;line-height:1.15;margin-top:12px;}
    .featured p.excerpt{font-size:16px;color:var(--ink-muted);margin-top:14px;line-height:1.6;max-width:480px;}

    .list-row{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--border);align-items:center;}
    .list-row .ph{width:120px;height:88px;flex-shrink:0;}
    .list-row .body{flex:1;}
    .list-row h3{font-size:16.5px;}
    .list-row:last-child{border-bottom:none;}

    .review-card{border:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;}
    .review-card .ph{aspect-ratio:16/10;}
    .review-card .pad{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;}
    .review-card h3{font-size:17px;}
    .rating{display:flex;align-items:center;gap:6px;}
    .stars{display:flex;gap:1px;}
    .stars svg{width:13px;height:13px;fill:var(--accent, #B5502E);stroke:none;}
    .stars svg.off{fill:var(--border-strong);}
    .rating .score{font-size:12.5px;font-weight:700;}

    table.compare{width:100%;border-collapse:collapse;font-size:14px;}
    table.compare th, table.compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);}
    table.compare thead th{font-size:11.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-muted);border-bottom:2px solid var(--ink);}
    table.compare tbody tr:hover{background:var(--surface);}
    table.compare td.name{font-weight:600;}
    table.compare td.pick{color:var(--accent, #B5502E);font-weight:700;}
    .check{color:#3E6B4F;}
    .cross{color:var(--ink-faint);}

    .related-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;}
    .related-strip .card h3{font-size:15.5px;}
    .related-strip .ph{aspect-ratio:4/3;}


/* --- from Components --- */


    a:hover{color:var(--accent, #B5502E);}
    .wrap{max-width:1240px;margin:0 auto;padding:64px 56px 96px;}
    .kicker{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);}
    .section{margin-top:64px;}
    .section-head{display:flex;flex-direction:column;gap:6px;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--border);}
    .section-title{font-size:22px;font-family:var(--font-display);}
    .section-note{font-size:14px;color:var(--ink-muted);line-height:1.5;max-width:640px;}
    .frame{border:1px solid var(--border);background:var(--surface);padding:28px;}
    .grid{display:grid;}
    .btn{display:inline-flex;align-items:center;justify-content:center;border-radius:3px;text-decoration:none;}

    /* header */
    .site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:20px;border-bottom:2px solid var(--ink);}
    .logo{font-family:var(--font-display);font-size:22px;font-weight:600;}
    .logo span{color:var(--accent, #B5502E);}
    .primary-nav{display:flex;gap:28px;list-style:none;margin:0;padding:0;font-size:14.5px;font-weight:500;}
    .header-actions{display:flex;align-items:center;gap:18px;}
    .header-actions svg{width:19px;height:19px;stroke:var(--ink);fill:none;stroke-width:1.6;}
    .sub-nav{display:flex;gap:22px;margin-top:14px;font-size:13px;color:var(--ink-muted);}
    .sub-nav a.active{color:var(--accent, #B5502E);font-weight:600;}

    /* footer */
    .site-footer{background:var(--ink);color:#EDE7DC;padding:48px 40px;}
    .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;}
    .footer-col h4{font-family:var(--font-body);font-size:12.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:#B5AFA0;margin-bottom:14px;}
    .footer-col a{display:block;color:#EDE7DC;font-size:14px;padding:5px 0;opacity:0.9;}
    .footer-col a:hover{color:var(--accent, #d98a6a);opacity:1;}
    .footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid #3A352C;display:flex;justify-content:space-between;font-size:12.5px;color:#948C7F;}

    /* breadcrumbs */
    .crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-muted);}
    .crumbs a:hover{color:var(--accent, #B5502E);}
    .crumbs span.sep{color:var(--ink-faint);}
    .crumbs span.current{color:var(--ink);font-weight:600;}

    /* pagination */
    .pagination{display:flex;align-items:center;gap:6px;}
    .page-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);font-size:14px;font-weight:600;color:var(--ink-muted);}
    .page-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink);}
    .page-arrow{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;padding:0 12px;height:38px;}
    .page-arrow svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;}

    /* byline */
    .byline{display:flex;align-items:center;gap:12px;}
    .avatar{width:44px;height:44px;border-radius:50%;background:var(--border);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:16px;color:var(--ink-muted);}
    .byline-name{font-size:14.5px;font-weight:600;}
    .byline-meta{font-size:12.5px;color:var(--ink-muted);}

    /* callout */
    .callout{border-top:2px solid var(--ink);padding-top:18px;}
    .callout-label{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent, #B5502E);margin-bottom:8px;}
    .callout-label svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2;}
    .callout p{font-size:15px;line-height:1.6;color:var(--ink-muted);}

    /* newsletter */
    .newsletter{background:var(--ink);color:var(--paper);padding:44px;display:flex;align-items:center;justify-content:space-between;gap:32px;}
    .newsletter h3{color:var(--paper);font-size:26px;max-width:340px;}
    .newsletter p{color:#B5AFA0;font-size:14px;margin-top:8px;}
    .newsletter form{display:flex;gap:10px;flex-shrink:0;}
    .newsletter input{font-family:var(--font-body);font-size:14.5px;padding:12px 16px;border:1px solid #4A4438;background:#2C2820;color:#fff;width:240px;}
    .newsletter input::placeholder{color:#8A8474;}
    .newsletter button{font-family:var(--font-body);font-weight:600;font-size:14.5px;padding:12px 20px;background:var(--accent, #B5502E);color:#FFF8F2;border:none;cursor:pointer;}

    /* social share */
    .share-row{display:flex;align-items:center;gap:14px;}
    .share-row .lbl{font-size:12.5px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);}
    .share-icon{width:34px;height:34px;border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;}
    .share-icon svg{width:16px;height:16px;stroke:var(--ink);fill:none;stroke-width:1.6;}

    /* rating */
    .rating{display:flex;align-items:center;gap:8px;}
    .stars{display:flex;gap:2px;}
    .stars svg{width:16px;height:16px;fill:var(--accent, #B5502E);stroke:none;}
    .stars svg.off{fill:var(--border-strong);}
    .rating .score{font-size:13.5px;font-weight:700;}
    .rating .count{font-size:12.5px;color:var(--ink-muted);}

    /* TOC */
    .toc{border:1px solid var(--border);padding:22px;}
    .toc-title{font-size:11.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:14px;}
    .toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:10px;}
    .toc li{counter-increment:toc;font-size:14px;padding-left:24px;position:relative;}
    .toc li::before{content:counter(toc);position:absolute;left:0;font-size:12px;font-weight:700;color:var(--accent, #B5502E);}
    .toc li.active{font-weight:600;}

    /* faq */
    .faq{display:flex;flex-direction:column;}
    .faq-item{border-bottom:1px solid var(--border);padding:18px 0;}
    .faq-item:first-child{padding-top:0;}
    .faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:15.5px;font-weight:600;cursor:pointer;}
    .faq-q svg{width:16px;height:16px;stroke:var(--ink-muted);fill:none;stroke-width:1.8;flex-shrink:0;}
    .faq-a{font-size:14.5px;color:var(--ink-muted);line-height:1.6;margin-top:12px;max-width:600px;}

    /* prev/next */
    .prevnext{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);}
    .pn-item{background:var(--surface);padding:22px 24px;display:flex;flex-direction:column;gap:6px;}
    .pn-item.next{text-align:right;align-items:flex-end;}
    .pn-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);}
    .pn-label svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;}
    .pn-title{font-family:var(--font-display);font-size:17px;}


/* --- from Foundations --- */


    a:hover{color:var(--accent, #B5502E);}
    .wrap{max-width:1240px;margin:0 auto;padding:64px 56px 96px;}
    .kicker{font-size:11.5px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);}
    .section{margin-top:72px;}
    .section-head{display:flex;flex-direction:column;gap:6px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--border);}
    .section-title{font-size:26px;}
    .section-note{font-size:14px;color:var(--ink-muted);font-family:var(--font-body);max-width:640px;line-height:1.5;}
    .row{display:flex;gap:16px;flex-wrap:wrap;}
    .grid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
    .grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
    .swatch{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--surface);}
    .swatch-fill{height:88px;}
    .swatch-meta{padding:12px 14px;display:flex;flex-direction:column;gap:2px;}
    .swatch-name{font-size:13px;font-weight:600;}
    .swatch-val{font-size:12px;color:var(--ink-muted);font-family:'SF Mono','Menlo',monospace;}
    .type-row{display:flex;align-items:baseline;gap:24px;padding:18px 0;border-bottom:1px solid var(--border);}
    .type-row:last-child{border-bottom:none;}
    .type-label{width:150px;flex-shrink:0;font-size:12px;color:var(--ink-muted);font-family:'SF Mono','Menlo',monospace;}
    .space-row{display:flex;align-items:center;gap:16px;padding:10px 0;}
    .space-bar{background:var(--accent, #B5502E);height:14px;}
    .space-label{width:110px;font-size:12px;color:var(--ink-muted);font-family:'SF Mono','Menlo',monospace;}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-weight:600;font-size:14.5px;padding:12px 22px;border-radius:3px;border:1px solid transparent;cursor:pointer;text-decoration:none;}
    .btn-primary{background:var(--accent, #B5502E);color:#FFF8F2;}
    .btn-outline{background:transparent;color:var(--ink);border-color:var(--border-strong);}
    .btn-ghost{background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:3px;padding:12px 4px;}
    .btn-sm{padding:8px 16px;font-size:13px;}
    .tag-accent{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:5px 10px;border-radius:2px;background:color-mix(in srgb, var(--accent, #B5502E) 14%, white);color:var(--accent, #B5502E);width:fit-content;}
    .tag-outline{display:inline-flex;align-items:center;font-size:11.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;padding:5px 10px;border-radius:2px;border:1px solid var(--border-strong);color:var(--ink-muted);width:fit-content;}
    .field{display:flex;flex-direction:column;gap:6px;}
    .field label{font-size:12.5px;font-weight:600;color:var(--ink-muted);}
    .field input, .field select{font-family:var(--font-body);font-size:15px;padding:11px 14px;border:1px solid var(--border-strong);border-radius:3px;background:var(--surface);color:var(--ink);}
    .field input::placeholder{color:var(--ink-faint);}
    .icon-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:20px;}
    .icon-cell{display:flex;flex-direction:column;align-items:center;gap:8px;}
    .icon-cell svg{width:22px;height:22px;stroke:var(--ink);fill:none;stroke-width:1.6;}
    .icon-cell span{font-size:10.5px;color:var(--ink-muted);}


/* Responsive */
@media (max-width:900px){
  .mb-page{padding:0 24px;}
  .hero{grid-template-columns:1fr !important;gap:28px !important;}
  .hero .ph{height:240px !important;}
  .hero h1{font-size:34px !important;}
  .cards-grid,.related-grid{grid-template-columns:1fr 1fr !important;}
  .split,.article-body-wrap,.profile,.about-grid,.footer-grid{grid-template-columns:1fr !important;}
  .article-body-wrap .toc,.article-body-wrap .share-rail{display:none;}
  .primary-nav{display:none;}
  .site-header{flex-wrap:wrap;}
}
@media (max-width:560px){
  .cards-grid,.related-grid{grid-template-columns:1fr !important;}
  .cat-strip{gap:16px;}
  .article-head h1{font-size:32px !important;}
  .prevnext{grid-template-columns:1fr !important;}
}

/* Image fill for placeholders / thumbs */
.ph img, .hero-img img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.ph, .hero-img{position:relative;}
.custom-logo-link img{height:36px;width:auto;}
.site-header .custom-logo-link{display:flex;align-items:center;}
.faq-item.is-open .faq-q svg{transform:rotate(180deg);}
.prose .elementor, .prose .elementor-section, .prose .elementor-container, .prose .elementor-widget-container{display:contents;}

/* Contact Form 7 — Masterblog field + button styles */
.wpcf7{max-width:520px;margin:28px 0 48px;}
.wpcf7 form{display:flex;flex-direction:column;gap:18px;}
.wpcf7 label{
  display:flex;flex-direction:column;gap:6px;
  font-size:12.5px;font-weight:600;color:var(--ink-muted);
  font-family:var(--font-body);
}
.wpcf7 .wpcf7-form-control-wrap{display:block;width:100%;}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 select,
.wpcf7 textarea{
  width:100%;
  font-family:var(--font-body);
  font-size:15px;
  padding:11px 14px;
  border:1px solid var(--border-strong);
  border-radius:3px;
  background:var(--surface);
  color:var(--ink);
  box-sizing:border-box;
}
.wpcf7 textarea{min-height:140px;resize:vertical;line-height:1.5;}
.wpcf7 input::placeholder,
.wpcf7 textarea::placeholder{color:var(--ink-faint);}
.wpcf7 input:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{
  outline:2px solid color-mix(in srgb, var(--accent) 35%, white);
  border-color:var(--accent);
}
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-body);font-weight:600;font-size:14.5px;
  padding:12px 22px;border-radius:3px;border:1px solid transparent;
  background:var(--accent);color:#FFF8F2;cursor:pointer;
  width:fit-content;margin-top:4px;
  -webkit-appearance:none;appearance:none;
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover{filter:brightness(0.95);}
.wpcf7 .wpcf7-not-valid-tip{font-size:12.5px;color:var(--accent);margin-top:4px;}
.wpcf7 .wpcf7-response-output{
  margin:16px 0 0;padding:14px 16px;border-radius:3px;
  border:1px solid var(--border-strong);font-size:14px;line-height:1.5;
}
.wpcf7 form.sent .wpcf7-response-output{
  border-color:var(--accent);
  background:color-mix(in srgb, var(--accent) 10%, white);
}
.wpcf7-spinner{margin-left:10px;}
/* CF7 wraps controls oddly — keep labels clean */
.wpcf7 p{margin:0;}
.prose .wpcf7{font-size:15px;}

/* Pagination + sort — Masterblog listing (anchors as .page-btn / .page-arrow) */
.pagination a.page-btn,
.pagination span.page-btn{
  width:38px;height:38px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--border);font-size:14px;font-weight:600;color:var(--ink-muted);
  text-decoration:none;box-sizing:border-box;
}
.pagination a.page-btn:hover{border-color:var(--ink);color:var(--ink);}
.pagination .page-btn.active{
  background:var(--ink);color:var(--paper);border-color:var(--ink);
}
.pagination a.page-arrow,
.pagination span.page-arrow{
  display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;
  padding:0 12px;height:38px;color:var(--ink-muted);text-decoration:none;
}
.pagination a.page-arrow:hover{color:var(--accent);}
.pagination .page-arrow.is-disabled{opacity:0.35;pointer-events:none;}
.pagination .page-arrow svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;}
.pagination{justify-content:center;padding:24px 0 64px;flex-wrap:wrap;}
.sort label{margin-right:0;}
.sort select{min-width:180px;cursor:pointer;}

/* --- Polish: sticky chrome, CTA hover, motion (2.0.5) --- */
.site-chrome{
  position:sticky;top:0;z-index:200;
  background:var(--paper);
  transition:box-shadow .22s ease, background-color .22s ease;
}
.site-chrome.is-scrolled{
  box-shadow:0 1px 0 var(--border), 0 10px 28px rgba(28,24,18,.06);
}
.site-chrome.is-scrolled .site-header{padding-top:14px;padding-bottom:14px;}
.site-header{transition:padding .22s ease;}

/* Fix: global a:hover uses --accent; keep light text on accent buttons */
.btn-cta,
.btn-primary,
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit{
  transition:background-color .18s ease, color .18s ease, filter .18s ease;
}
.btn-cta:hover,
.btn-cta:focus-visible,
.btn-primary:hover,
.btn-primary:focus-visible{
  color:#FFF8F2 !important;
  background:color-mix(in srgb, var(--accent) 86%, #000);
}
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover{
  color:#FFF8F2 !important;
  filter:none;
  background:color-mix(in srgb, var(--accent) 86%, #000);
}

a,
.primary-nav a,
.cat-strip a,
.footer-col a,
.topbar-util a,
.section-link,
.card h3 a{
  transition:color .18s ease, opacity .18s ease;
}

.ph,
.hero .ph,
.card .ph{
  overflow:hidden;
}
.ph img,
.hero .ph img,
.card .ph img{
  transition:transform .45s ease;
}
.card:hover .ph img,
.hero .ph:hover img{
  transform:scale(1.03);
}

.reveal{
  opacity:0;
  transform:translateY(12px);
  transition:opacity .55s ease, transform .55s ease;
}
.reveal.is-visible{
  opacity:1;
  transform:none;
}

@media (prefers-reduced-motion: reduce){
  .site-chrome,
  .site-header,
  a,
  .btn-cta,
  .btn-primary,
  .wpcf7 input[type="submit"],
  .wpcf7 .wpcf7-submit,
  .ph img,
  .hero .ph img,
  .card .ph img,
  .reveal{
    transition:none !important;
  }
  .card:hover .ph img,
  .hero .ph:hover img{
    transform:none;
  }
  .reveal{
    opacity:1;
    transform:none;
  }
}

/* --- Atmosphere: section bands + depth (2.0.6) --- */
.mb-root{
  background:
    radial-gradient(1200px 420px at 12% -8%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 62%),
    radial-gradient(900px 380px at 92% 8%, color-mix(in srgb, var(--accent) 7%, transparent), transparent 55%),
    var(--paper);
}
.site-chrome{background:color-mix(in srgb, var(--paper) 92%, white);}

.section-title{
  position:relative;
  padding-bottom:10px;
}
.section-title::after{
  content:"";
  display:block;
  width:42px;height:3px;margin-top:12px;
  background:var(--accent);
  border-radius:2px;
}
.section-head .section-title::after{margin-top:10px;}
.section-link{color:var(--accent);}
.section-link:hover{color:var(--ink);}

.section-band{
  border-bottom:1px solid var(--border);
  padding:64px 0;
}
.section-band--surface{
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--surface) 70%, var(--paper)), var(--surface));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}
.section-band--warm{
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--accent) 8%, var(--paper)) 0%,
      color-mix(in srgb, #E8DFD2 55%, var(--paper)) 48%,
      color-mix(in srgb, var(--accent) 5%, var(--paper)) 100%);
}

.hero{
  position:relative;
}
.hero .ph{
  box-shadow:0 18px 40px rgba(33,29,24,.12);
  border:1px solid color-mix(in srgb, var(--border-strong) 55%, transparent);
}
.cat-strip a.active{
  box-shadow:inset 0 -2px 0 var(--accent);
}

.cards-grid .card{
  background:var(--surface);
  border:1px solid var(--border);
  padding:14px 14px 18px;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cards-grid .card .ph{
  margin:-14px -14px 4px;
  border-bottom:1px solid var(--border);
}
.cards-grid .card:hover{
  border-color:color-mix(in srgb, var(--accent) 28%, var(--border));
  box-shadow:0 14px 34px rgba(33,29,24,.08);
  transform:translateY(-2px);
}
.tag-accent{
  background:color-mix(in srgb, var(--accent) 16%, white);
}

.sidebar-panel{
  background:var(--surface);
  border:1px solid var(--border);
  padding:20px 20px 12px;
  box-shadow:0 10px 28px rgba(33,29,24,.05);
}
.sidebar-panel .sidebar-title{
  color:var(--accent);
  border-bottom-color:color-mix(in srgb, var(--accent) 25%, var(--border));
}

.list-row{
  background:color-mix(in srgb, var(--surface) 65%, transparent);
  padding-left:12px;padding-right:12px;
  margin:0 -12px;
  border-radius:3px;
  border-bottom:none;
  transition:background .18s ease;
}
.list-row + .list-row{margin-top:4px;}
.list-row:hover{background:var(--surface);}

.cat-head{
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--accent) 7%, transparent), transparent 55%);
  padding-left:18px;
  border-left:3px solid var(--accent);
  margin-top:12px;
}
.toolbar .chip.active{
  background:var(--accent);
  border-color:var(--accent);
  color:#FFF8F2;
}

.page .prose,
.utility-frame{
  background:var(--surface);
  border:1px solid var(--border);
  padding:28px 32px;
  box-shadow:0 12px 30px rgba(33,29,24,.04);
}

@media (prefers-reduced-motion: reduce){
  .cards-grid .card:hover{transform:none;}
}
@media (max-width:720px){
  .cards-grid .card{padding:12px 12px 16px;}
  .cards-grid .card .ph{margin:-12px -12px 4px;}
  .page .prose{padding:20px;}
}
