
/* A Bissel AI — posts-first editorial layout.
   This stylesheet only styles the homepage. Other pages keep their functionality. */
body:not(.services-page):not(.concierge-page){background:linear-gradient(180deg,#fbfcfd 0%,#f3f8fa 100%);min-height:100vh}
.posts-header{max-width:1240px;margin:0 auto;padding:1.05rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--rule)}
.posts-brand{display:inline-flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--paper);font:700 clamp(1.15rem,2vw,1.5rem)/1 var(--font-display);letter-spacing:-.045em}
.posts-brand img{width:43px;height:43px;object-fit:cover;border-radius:10px}
.posts-work-link{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;padding:.82rem 1.25rem;background:var(--paper);color:#fff;text-decoration:none;border-radius:99px;font:600 .86rem var(--font-display);box-shadow:0 7px 20px rgba(16,35,61,.13);transition:transform .2s,background .2s}
.posts-work-link:hover{background:#174267;color:#fff;transform:translateY(-2px)}
.posts-heading{max-width:1180px;margin:0 auto;padding:4.1rem 1.5rem 1.15rem}
.posts-eyebrow{color:#128ca7;letter-spacing:.15em;font:600 .72rem var(--font-mono);margin-bottom:.85rem}
.posts-eyebrow:before{content:"";display:inline-block;background:var(--gold);width:24px;height:2px;vertical-align:middle;margin-right:.8rem}
.posts-heading h1{font:700 clamp(2.9rem,6vw,5.2rem)/1.06 var(--font-display);letter-spacing:-.057em;margin:.45rem 0 .8rem}
.posts-heading h1 span{color:#118aa9}
.posts-heading p{font-size:1.08rem;color:var(--paper-dim);margin:0;max-width:660px}
.log-controls{max-width:1180px;margin:0 auto;padding:1.65rem 1.5rem 1.2rem;z-index:1}
.search-label{font:600 .75rem var(--font-mono);color:var(--paper);margin:0 0 .65rem}
.search-row{max-width:720px;gap:.7rem}
.post-search{border-radius:100px;min-height:52px;padding:1rem 1.35rem;border-color:rgba(16,35,61,.13);box-shadow:0 6px 25px rgba(16,35,61,.035)}
.clear-search{border-radius:99px;background:white}
.topic-filter{margin-top:1.3rem;gap:.55rem}
.topic-filter-tag{font:600 .75rem var(--font-body);border:1px solid #d6e3e9;background:#fff;padding:.53rem .95rem;border-radius:99px;color:#395368}
.topic-filter-tag:hover,.topic-filter-tag.is-active{background:var(--paper);color:#fff;border-color:var(--paper)}
.search-count{font:.75rem var(--font-mono);color:var(--paper-dim);margin:1.1rem 0 0}
.log{max-width:1180px;padding:1rem 1.5rem 5rem;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.25rem}
.entry{display:flex;flex-direction:column;gap:0;padding:0;overflow:hidden;min-width:0;border-radius:18px;background:white;border:1px solid rgba(16,35,61,.08);box-shadow:0 5px 25px rgba(16,35,61,.055);transition:transform .2s,box-shadow .2s}
.entry:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(16,35,61,.09)}
.entry[hidden]{display:none!important}
.entry-cover{height:180px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 80% 30%,rgba(90,214,226,.4),transparent 34%),linear-gradient(135deg,#0c263e 0%,#115d79 100%)}
.entry:nth-child(4n+2) .entry-cover.has-graphic{background:radial-gradient(circle at 15% 20%,rgba(234,147,53,.3),transparent 44%),linear-gradient(135deg,#17344b,#107e92)}
.entry:nth-child(4n+3) .entry-cover.has-graphic{background:radial-gradient(circle at 78% 66%,rgba(100,209,218,.4),transparent 45%),linear-gradient(125deg,#14233b,#385e79)}
.entry-cover img{display:block;width:100%;height:100%;object-fit:cover}
.cover-decoration{font:700 5rem/1 var(--font-display);color:rgba(255,255,255,.26);position:absolute;right:1.5rem;top:1.2rem;user-select:none}
.cover-topic{position:relative;z-index:1;max-width:90%;font:700 clamp(1.25rem,2vw,1.75rem) var(--font-display);color:#f1feff;letter-spacing:-.03em;text-align:center;text-wrap:balance;text-shadow:0 3px 20px rgba(0,0,0,.2)}
.entry-content{padding:1.3rem 1.45rem 1.35rem;display:flex;flex-direction:column;gap:.75rem;min-width:0}
.entry-date{font:500 .72rem var(--font-mono);color:#168ca9}
.entry-date .day{display:inline;color:inherit}
.entry-title{font:700 clamp(1.13rem,1.65vw,1.37rem)/1.27 var(--font-display);letter-spacing:-.035em;margin:0;color:var(--paper)}
.entry-excerpt{font-size:.89rem;line-height:1.65;margin:0;color:var(--paper-dim);display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;white-space:pre-line;overflow-wrap:anywhere}
.entry-topics{margin:.15rem 0 0;gap:.35rem;max-height:32px;overflow:hidden}
.topic-tag{background:#e9f7fa;border:0;border-radius:99px;color:#117c97;padding:.33rem .62rem;font:600 .68rem var(--font-body)}
.topic-tag:hover{background:var(--teal)}
.entry .listen-btn{align-self:start;box-shadow:none;padding:.55rem .86rem;font-size:.72rem;margin:.25rem 0 0;background:#ebf8fb;border:1px solid #ccebf1;color:#137b95}
.entry .listen-btn:hover{box-shadow:0 4px 14px rgba(31,166,201,.14);background:#dff5fa}
.entry .listen-btn.is-speaking{background:var(--gold);color:white;border-color:var(--gold)}
.entry-details{margin:.3rem 0 0;border-top:1px solid var(--rule);padding-top:.85rem}
.entry-details summary{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font:700 .83rem var(--font-display);color:#127d9c;cursor:pointer;list-style:none}
.entry-details summary::-webkit-details-marker{display:none}
.entry-details summary span{font-size:1.1rem}
.entry-details[open] summary{margin-bottom:.9rem}
.entry-expanded{border-top:1px solid var(--rule);padding-top:1rem}
.entry-text{font-size:.91rem;line-height:1.75;white-space:pre-line;margin:0 0 .8rem;overflow-wrap:anywhere}
.entry-links{margin:1rem 0}
.entry-links a{font-size:.77rem;overflow-wrap:anywhere}
.entry-media{margin:1rem 0 0}
.entry-media video{max-height:320px}
.site-footer{max-width:1180px;margin:auto;border-top:1px solid var(--rule);padding:2rem 1.5rem 3rem}
@media(max-width:950px){.log{grid-template-columns:repeat(2,minmax(0,1fr))}.entry-cover{height:190px}}
@media(max-width:590px){.posts-header{padding:.9rem 1rem}.posts-brand img{width:36px;height:36px}.posts-work-link{padding:.7rem .9rem;font-size:.76rem}.posts-heading{padding:2.6rem 1rem .5rem}.posts-heading h1{font-size:clamp(2.65rem,10vw,3.5rem)}.posts-heading p{font-size:.98rem}.log-controls{padding:1.2rem 1rem}.log{grid-template-columns:1fr;padding:.6rem 1rem 3rem;gap:1rem}.entry-cover{height:190px}.entry-content{padding:1.2rem}.topic-filter{max-height:106px;overflow:auto}.entry-title{font-size:1.31rem}}
@media(prefers-reduced-motion:reduce){.entry,.posts-work-link{transition:none}}

/* Simple per-post star ratings */
.post-rating{border-top:1px solid var(--rule);padding-top:.9rem;margin-top:.25rem}
.rating-title{font:700 .81rem var(--font-display);color:var(--paper);margin-bottom:.35rem}
.rating-stars{display:flex;gap:.12rem;align-items:center}
.rating-star{font:normal 1.8rem/1 sans-serif;color:#c39020;background:transparent;border:0;padding:.12rem .23rem;cursor:pointer;transition:transform .15s}
.rating-star:hover:not(:disabled){transform:scale(1.16)}
.rating-star:focus-visible{outline:2px solid #128ca7;outline-offset:2px;border-radius:4px}
.rating-star:disabled{cursor:default;opacity:1}
.rating-summary{font:.73rem var(--font-body);color:var(--paper-dim);margin-top:.4rem}

/* Star ratings: shown on every post, including historical entries */
.entry-rating{margin-top:.35rem;padding-top:1rem;border-top:1px solid var(--rule)}
.rating-label{font:700 .84rem var(--font-display);color:var(--paper)}
.rating-stars{display:flex;gap:.25rem;margin:.4rem 0}
.rating-star{font-size:1.75rem;line-height:1;border:0;background:transparent;color:#b6c6cd;cursor:pointer;padding:.15rem .2rem;transition:color .15s}
.rating-star:hover,.rating-star:focus-visible,.rating-star.selected{color:#d99a22}
.rating-star:disabled{cursor:default}
.rating-summary,.rating-status{font:.72rem var(--font-body);color:var(--paper-dim)}
.rating-status:not(:empty){margin-top:.35rem}

/* Simple, device-local post likes */
.entry-like{margin-top:.35rem;padding-top:1rem;border-top:1px solid var(--rule)}
.like-button{font:inherit;cursor:pointer;border:1px solid var(--rule);border-radius:999px;padding:.45rem .85rem;background:transparent;color:inherit;transition:background .15s,border-color .15s}
.like-button:hover,.like-button:focus-visible{border-color:currentColor}
.like-button.liked{background:var(--paper-dim,rgba(120,120,120,.12));font-weight:700}

.like-count{margin-left:.65rem;color:var(--paper-dim);font-size:.9em}
.like-button:disabled{opacity:.6;cursor:wait}
