/*
Theme Name: iBiryani
Theme URI: https://ibiryani.com
Author: iBiryani
Description: Hyderabad's zabihah halal biryani guide. A browse-first, plugin-free directory theme with a Restaurant post type, Area and Collection taxonomies, a filter rail, verification badges, and labelled featured placements. Works with the native block editor — no page builder required.
Version: 1.1.0
Requires at least: 6.2
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ibiryani
Tags: directory, food, light, custom-post-type
*/

/* ============================================================
   iBIRYANI · BROWSE-FIRST DIRECTORY
   Layout inspiration: utility listing sites (filter rail + rows)
   Ground : white + warm ivory · Accent: saffron · Trust: green
   Type   : Bricolage Grotesque (headings) · Figtree (UI/body)
   ============================================================ */

:root{
  --bg:#FFFFFF; --ivory:#FBF7F0; --ivory-2:#F6EFE3;
  --ink:#211D17; --gray:#6F675C; --gray-2:#9B948A; --line:#ECE5D8;
  --primary:#E8730B; --primary-2:#C85F04; --primary-t:#FDF0E1;
  --green:#267E3E; --green-t:#EAF5EC; --gold:#F5B942; --gold-t:#FBF3DC;
  --font-d:'Bricolage Grotesque','Trebuchet MS',sans-serif;
  --font-b:'Figtree','Segoe UI',sans-serif;
  --r-lg:16px; --r-md:12px; --r-sm:8px; --r-pill:100px;
  --shadow-sm:0 1px 3px rgba(33,29,23,.06),0 4px 14px rgba(33,29,23,.05);
  --shadow-md:0 2px 6px rgba(33,29,23,.06),0 12px 32px rgba(33,29,23,.10);
  --max:1200px; --gut:clamp(16px,3vw,40px);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important}
}
body{background:var(--bg);color:var(--ink);font-family:var(--font-b);font-size:15.5px;line-height:1.55;-webkit-font-smoothing:antialiased}
::selection{background:var(--primary);color:#fff}
a{color:inherit}
img,svg{display:block;max-width:100%;height:auto}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:var(--font-b);font-size:15px;color:var(--ink)}
:focus-visible{outline:3px solid rgba(232,115,11,.45);outline-offset:2px;border-radius:4px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wrap{max-width:var(--max);margin:0 auto;padding-left:var(--gut);padding-right:var(--gut)}

/* ================= HEADER (slim utility) ================= */
.hdr{position:sticky;top:0;z-index:900;background:#fff;border-bottom:1px solid var(--line)}
.admin-bar .hdr{top:32px}
@media (max-width:782px){.admin-bar .hdr{top:46px}}
.hdr.scrolled{box-shadow:var(--shadow-sm)}
.hdr .wrap{display:flex;align-items:center;gap:14px;height:62px}
.logo{font-family:var(--font-d);font-weight:800;font-size:23px;letter-spacing:-.02em;text-decoration:none;display:flex;align-items:center;gap:8px}
.logo .i{color:var(--primary)}
.logo img{max-height:36px;width:auto}
.loc{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--gray);background:var(--ivory);border:1px solid var(--line);padding:7px 12px;border-radius:var(--r-pill)}
.loc svg{width:13px;height:13px}
.hdr nav{margin-left:auto;display:flex;align-items:center;gap:2px}
.hdr nav ul{display:flex;align-items:center;gap:2px;list-style:none}
.hdr nav a{font-size:14px;font-weight:600;color:var(--gray);text-decoration:none;padding:8px 12px;border-radius:var(--r-pill);transition:color .2s,background .2s;display:inline-block}
.hdr nav a:hover{color:var(--ink);background:var(--ivory)}
.hdr nav a.cta,.hdr nav li.cta a{color:#fff;background:var(--primary);margin-left:6px}
.hdr nav a.cta:hover,.hdr nav li.cta a:hover{background:var(--primary-2)}
@media (max-width:860px){
  .hdr nav a:not(.cta){display:none}
  .hdr nav li:not(.cta){display:none}
  .loc{margin-left:auto}
  .hdr nav{margin-left:0}
}

/* ================= SEARCH BAND (slim hero) ================= */
.band-search{background:linear-gradient(180deg,#FFF8EE,#FFF);border-bottom:1px solid var(--line);padding:clamp(26px,4vw,44px) 0 clamp(22px,3vw,34px)}
.band-search h1{font-family:var(--font-d);font-weight:800;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.02em;line-height:1.1}
.band-search h1 .hl{color:var(--primary)}
.band-search .tag{margin-top:6px;color:var(--gray);font-size:15px;max-width:70ch}
.searchbar{margin-top:18px;display:flex;align-items:stretch;background:#fff;border:1.5px solid var(--line);border-radius:var(--r-md);box-shadow:var(--shadow-sm);overflow:hidden;max-width:720px}
.searchbar:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px rgba(232,115,11,.10)}
.searchbar .cell{display:flex;align-items:center;gap:9px;padding:0 14px}
.searchbar .cell svg{width:16px;height:16px;flex:none;color:var(--gray-2)}
.searchbar .cell--q{flex:1 1 200px;min-width:0}
.searchbar input{border:none;outline:none;background:transparent;width:100%;font-size:15px;font-weight:500;padding:14px 0}
.searchbar input::placeholder{color:var(--gray-2)}
.searchbar .cell--a{border-left:1px solid var(--line)}
.searchbar select{border:none;outline:none;background:transparent;font-size:14px;font-weight:600;padding:14px 0;cursor:pointer}
.searchbar .go{border:none;background:var(--primary);color:#fff;font-size:14.5px;font-weight:700;padding:0 22px;transition:background .2s}
.searchbar .go:hover{background:var(--primary-2)}
@media (max-width:560px){
  .searchbar{flex-wrap:wrap}
  .searchbar .cell--q{flex:1 1 100%;border-bottom:1px solid var(--line)}
  .searchbar .cell--a{border-left:none;flex:1}
}
.band-search .proof{margin-top:14px;display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13px;color:var(--gray);font-weight:500}
.band-search .proof span{display:inline-flex;align-items:center;gap:6px}
.band-search .proof svg{width:14px;height:14px;flex:none}

/* ================= BROWSE LAYOUT: RAIL + RESULTS ================= */
.browse{padding:clamp(22px,3vw,36px) 0 clamp(48px,5vw,72px);background:#fff}
.browse .cols{display:grid;grid-template-columns:250px minmax(0,1fr);gap:clamp(18px,3vw,34px);align-items:start}
@media (max-width:860px){.browse .cols{grid-template-columns:1fr}}

/* Filter rail */
.rail{position:sticky;top:86px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.rail .rhead{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.rail .rhead b{font-family:var(--font-d);font-size:16px}
.rail .rhead button{background:none;border:none;font-size:12.5px;font-weight:700;color:var(--primary-2)}
.rgroup{padding:14px 16px;border-bottom:1px solid var(--line)}
.rgroup:last-child{border-bottom:none}
.rgroup h4{font-size:11.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-2);margin-bottom:10px}
.rgroup label{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:500;color:var(--gray);padding:5px 0;cursor:pointer}
.rgroup label:hover{color:var(--ink)}
.rgroup input[type=radio],.rgroup input[type=checkbox]{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;flex:none}
.rgroup .cnt{margin-left:auto;font-size:12px;color:var(--gray-2)}
@media (max-width:860px){
  .rail{position:static}
  .rail .rgroup,.rail .rhead{padding:12px 14px}
}

/* Results header: count + sort tabs */
.results-head{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.results-head .rc{font-family:var(--font-d);font-weight:700;font-size:17px}
.sorttabs{margin-left:auto;display:flex;align-items:center;gap:2px;background:var(--ivory);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px}
.sorttabs button{border:none;background:none;font-size:13px;font-weight:600;color:var(--gray);padding:7px 13px;border-radius:var(--r-pill);transition:all .15s}
.sorttabs button.on{background:#fff;color:var(--ink);box-shadow:var(--shadow-sm)}
@media (max-width:640px){.sorttabs{margin-left:0}}

/* Listing rows */
.rows{display:flex;flex-direction:column;gap:14px}
.rrow{display:grid;grid-template-columns:190px minmax(0,1fr);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff;overflow:hidden;position:relative;transition:box-shadow .2s,transform .2s}
.rrow:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.rrow--featured{border-color:#F3C892;background:linear-gradient(90deg,#FFFBF4,#FFF 30%)}
.rrow__media{position:relative;min-height:150px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rrow__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.m--a{background:linear-gradient(135deg,#FCE7C8,#F6D3A0)}
.m--b{background:linear-gradient(135deg,#F9DFC4,#EFC190)}
.m--c{background:linear-gradient(135deg,#FBEBD2,#F3D6A6)}
.rrow__media .plate-ph{width:92px;position:relative}
.adchip{position:absolute;top:10px;left:10px;background:var(--primary);color:#fff;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-radius:6px;padding:4px 8px;z-index:2}
.rrow__body{padding:16px 18px;display:flex;flex-direction:column;min-width:0}
.rrow__top{display:flex;align-items:flex-start;gap:12px}
.rrow .cuis{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--primary-2)}
.rrow h3{font-family:var(--font-d);font-weight:700;font-size:19px;line-height:1.2;letter-spacing:-.01em;margin-top:2px}
.rrow h3 a{text-decoration:none}
.rrow h3 a::after{content:"";position:absolute;inset:0}
.rrow .right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.rate{background:var(--green);color:#fff;border-radius:7px;font-size:13px;font-weight:700;padding:4px 8px;display:inline-flex;align-items:center;gap:4px}
.rate svg{width:11px;height:11px}
.rrow .cost{font-size:12.5px;font-weight:700;color:var(--gray)}
.rrow .addr{margin-top:3px;font-size:13.5px;color:var(--gray-2)}
.rrow .blurb{margin-top:8px;font-size:13.5px;color:var(--gray);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rrow__chips{margin-top:auto;padding-top:12px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;position:relative;z-index:2}
.dchip{background:var(--gold-t);border:1px solid #F0DFAE;color:#8A6A0B;border-radius:var(--r-sm);font-size:12px;font-weight:700;padding:4px 9px}
.vbadge{display:inline-flex;align-items:center;gap:5px;background:var(--green-t);color:var(--green);border-radius:var(--r-sm);font-size:12px;font-weight:700;padding:4px 9px}
.vbadge svg{width:12px;height:12px}
.vbadge--pend{background:var(--gold-t);color:#96700A}
@media (max-width:640px){
  .rrow{grid-template-columns:1fr}
  .rrow__media{height:150px}
}
.noresult{border:1px dashed var(--line);border-radius:var(--r-lg);padding:48px 20px;text-align:center;color:var(--gray);background:var(--ivory)}
.noresult b{display:block;font-family:var(--font-d);font-size:18px;color:var(--ink);margin-bottom:5px}
.morewrap{margin-top:26px;text-align:center}
.btn{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;border:none;border-radius:var(--r-md);padding:13px 24px;font-size:14.5px;font-weight:700;transition:background .2s}
.btn:hover{background:var(--primary-2)}
.btn--ghost{background:#fff;color:var(--ink);border:1.5px solid var(--line)}
.btn--ghost:hover{background:var(--ivory);border-color:var(--gray-2)}

/* ================= EDITORS' NOTE (quiet moat) ================= */
.note{background:#fff;padding:clamp(30px,4vw,52px) 0}
.notecard{border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r-md);background:var(--ivory);padding:clamp(22px,3.5vw,36px);max-width:820px}
.notecard h2{font-family:var(--font-d);font-weight:700;font-size:clamp(19px,2.2vw,24px);letter-spacing:-.01em}
.notecard p{margin-top:12px;color:var(--gray);font-size:14.5px;max-width:74ch}
.notecard p b{color:var(--ink);font-weight:600}
.notecard .sig{margin-top:16px;font-size:13.5px;font-weight:600;color:var(--gray-2)}

/* ================= TRUST STRIP ================= */
.trust{background:var(--ivory);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(36px,5vw,60px) 0}
.trust .thead{margin-bottom:24px}
.kick{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--primary-2);margin-bottom:8px}
.kick::before{content:"";width:20px;height:2px;background:var(--primary);border-radius:2px}
h2.h{font-family:var(--font-d);font-weight:700;font-size:clamp(23px,3vw,32px);line-height:1.15;letter-spacing:-.015em}
.sub{color:var(--gray);max-width:64ch;margin-top:8px;font-size:15px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.stepc{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:20px}
.stepc .sic{width:40px;height:40px;border-radius:12px;background:var(--ivory);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.stepc .sic svg{width:19px;height:19px}
.stepc h3{font-family:var(--font-d);font-weight:700;font-size:16.5px;margin-top:12px}
.stepc p{margin-top:6px;font-size:13.5px;color:var(--gray)}
@media (max-width:820px){.steps{grid-template-columns:1fr}}

/* ================= OWNERS ================= */
.owners{padding:clamp(40px,5vw,68px) 0;background:#fff}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch;margin-top:26px}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:22px;display:flex;flex-direction:column;position:relative}
.plan--hot{border:2px solid var(--primary);box-shadow:var(--shadow-md)}
.plan--hot .tagtop{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--primary);color:#fff;border-radius:var(--r-pill);font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:4px 12px;white-space:nowrap}
.plan .pname{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-2)}
.plan .pprice{font-family:var(--font-d);font-weight:800;font-size:25px;margin-top:6px;letter-spacing:-.02em}
.plan .pper{font-size:12.5px;color:var(--gray);font-weight:500}
.plan ul{list-style:none;margin-top:14px;flex:1}
.plan li{font-size:13.5px;color:var(--gray);padding:6px 0 6px 24px;position:relative}
.plan li::before{content:"";position:absolute;left:0;top:9px;width:15px;height:15px;border-radius:50%;background:var(--green-t);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23267E3E' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 13l4 4L19 7'/%3E%3C/svg%3E");background-size:8px;background-position:center;background-repeat:no-repeat}
.plan .pbtn{margin-top:16px;text-align:center;text-decoration:none;border-radius:var(--r-md);padding:11px 16px;font-weight:700;font-size:13.5px;border:1.5px solid var(--line);color:var(--ink);transition:all .2s}
.plan .pbtn:hover{border-color:var(--ink)}
.plan--hot .pbtn{background:var(--primary);border-color:var(--primary);color:#fff}
.plan--hot .pbtn:hover{background:var(--primary-2)}
@media (max-width:860px){.plan-grid{grid-template-columns:1fr}.plan--hot{order:-1}}
.owners .fine{margin-top:16px;font-size:12.5px;color:var(--gray-2)}

/* ================= REGISTER ================= */
.reg{background:var(--ivory);border-top:1px solid var(--line);padding:clamp(40px,5vw,68px) 0}
.formcard{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:clamp(20px,3.5vw,36px);display:grid;grid-template-columns:1fr 1fr;gap:16px 18px;margin-top:24px;max-width:860px}
.fld{display:flex;flex-direction:column;gap:6px}
.fld.full{grid-column:1/-1}
.fld label{font-size:12.5px;font-weight:700}
.fld input,.fld select,.fld textarea{border:1.5px solid var(--line);background:#FDFBF7;border-radius:var(--r-sm);padding:12px 13px;outline:none;transition:border-color .2s,box-shadow .2s}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(232,115,11,.10);background:#fff}
.fld textarea{min-height:100px;resize:vertical}
.actions{grid-column:1/-1}
.okmsg{font-size:14px;font-weight:700;color:var(--green)}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0}
@media (max-width:640px){.formcard{grid-template-columns:1fr}}

/* ================= FOOTER ================= */
.ownerline{padding:22px 0;border-top:1px solid var(--line);background:#fff}
.ownerline .wrap{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--gray)}
.ownerline a{font-weight:700;color:var(--primary-2)}
.site-footer{background:var(--ivory);border-top:1px solid var(--line);padding:44px 0 26px}
.fgrid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:28px}
.fgrid .flogo{font-family:var(--font-d);font-weight:800;font-size:23px;letter-spacing:-.02em}
.fgrid .flogo .i{color:var(--primary)}
.fgrid p{margin-top:8px;color:var(--gray);font-size:13.5px;max-width:38ch}
.fgrid h5{font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--gray-2);margin-bottom:12px}
.fgrid ul{list-style:none}
.fgrid li{margin:7px 0}
.fgrid a{color:var(--gray);text-decoration:none;font-size:14px}
.fgrid a:hover{color:var(--primary-2)}
.fbot{margin-top:36px;padding-top:16px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12px;color:var(--gray-2)}
@media (max-width:820px){.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.fgrid{grid-template-columns:1fr}}

/* ================= SINGLE RESTAURANT ================= */
.rsingle-hero{position:relative;height:clamp(200px,30vw,320px);display:flex;align-items:center;justify-content:center;overflow:hidden}
.rsingle-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rsingle-hero .plate-ph{width:140px;position:relative}
.rsingle-hero .adchip{top:14px;left:auto;right:14px}
.rsingle-head{background:#fff;border-bottom:1px solid var(--line);padding:24px 0}
.rsingle-head .row{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap}
.rsingle-head h1{font-family:var(--font-d);font-weight:800;font-size:clamp(26px,3.6vw,40px);letter-spacing:-.02em;line-height:1.1}
.rsingle-head .marea{margin-top:5px;font-size:14.5px;color:var(--gray);font-weight:500}
.rsingle-head .badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rsingle-body{padding:36px 0 64px}
.rsingle-body .grid2{display:grid;grid-template-columns:1.4fr .8fr;gap:32px;align-items:start}
@media (max-width:820px){.rsingle-body .grid2{grid-template-columns:1fr}}
.rsingle-body .prose{color:var(--gray);font-size:16px}
.rsingle-body .prose p{margin-bottom:14px}
.factbox{background:var(--ivory);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;position:sticky;top:86px}
.factbox .fitem{padding:10px 0;border-bottom:1px dashed var(--line)}
.factbox .fitem:last-of-type{border-bottom:none}
.factbox .k{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gray-2)}
.factbox .v{font-weight:700;font-size:15px;margin-top:2px}
.factbox .btn{width:100%;text-align:center;margin-top:12px;display:block}
.editnote{margin-top:20px;background:var(--primary-t);border-radius:var(--r-sm);padding:13px 15px;font-size:13.5px;color:#8A5507;display:flex;gap:8px}
.editnote svg{width:15px;height:15px;flex:none;margin-top:2px}

/* ================= ARCHIVE / PAGES ================= */
.pagehead{background:linear-gradient(180deg,#FFF8EE,#FFF);border-bottom:1px solid var(--line);padding:clamp(28px,4vw,48px) 0}
.pagehead h1{font-family:var(--font-d);font-weight:800;font-size:clamp(25px,3.6vw,38px);letter-spacing:-.02em}
.pagehead .sub{margin-top:6px}
.chiprow{margin-top:18px;display:flex;gap:8px;flex-wrap:wrap}
.chip{background:#fff;border:1px solid var(--line);border-radius:var(--r-pill);padding:8px 14px;font-size:13px;font-weight:600;color:var(--gray);text-decoration:none;display:inline-block;transition:all .15s}
.chip:hover{border-color:var(--primary);color:var(--primary-2)}
.chip.on{background:var(--primary);border-color:var(--primary);color:#fff}
.archive-body{padding:32px 0 64px;background:#fff}
.pagination{margin-top:30px;display:flex;gap:7px;justify-content:center;flex-wrap:wrap}
.pagination .page-numbers{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 14px;font-weight:600;font-size:13.5px;color:var(--gray);text-decoration:none}
.pagination .page-numbers.current{background:var(--primary);border-color:var(--primary);color:#fff}
.pagination .page-numbers:hover:not(.current){border-color:var(--primary);color:var(--primary-2)}
.entry-content{padding:36px 0 64px;max-width:760px;margin:0 auto}
.entry-content > *{margin-bottom:16px}
.entry-content h2{font-family:var(--font-d);font-weight:700;font-size:26px;margin-top:30px}
.entry-content h3{font-family:var(--font-d);font-weight:700;font-size:20px;margin-top:24px}
.entry-content a{color:var(--primary-2)}
.entry-content ul,.entry-content ol{padding-left:22px}
.entry-content img{border-radius:var(--r-md)}
.entry-content blockquote{border-left:3px solid var(--gold);padding:4px 0 4px 16px;color:var(--gray);font-style:italic}
.alignwide{max-width:var(--max)}
.alignfull{max-width:none;width:100%}

/* Reveal (subtle, respects reduced motion) */
.reveal{opacity:0;transform:translateY(14px)}
.reveal.in{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.no-js .reveal{opacity:1;transform:none}
