/* Quiet Compass shared components (tokens, buttons, cards, forms). */
:root{
  --qc-paper:#F5F6F2;--qc-white:#FFFFFF;--qc-stone:#E7EBE4;--qc-line:#D9DED6;
  --qc-ink:#1E2A26;--qc-ink-soft:#54635B;
  --qc-sage:#7C9A87;--qc-sage-deep:#3D5C4C;--qc-sage-wash:#E2EBE4;
  --qc-honey:#EDB84F;--qc-honey-deep:#DDA23A;--qc-sky:#B9CBD6;--qc-sky-wash:#E4ECF1;--qc-sand-wash:#F1EADB;
  --qc-serif:"Fraunces",Georgia,"Times New Roman",serif;
  --qc-sans:"DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --qc-radius:24px;--qc-pebble:24px 24px 24px 8px;
}
.qc-wrap{width:min(100% - 2.5rem,1180px);margin-inline:auto}
.qc-section{padding-block:clamp(3.5rem,8vw,6.5rem)}
.qc-grid{display:grid;gap:clamp(1.25rem,2.4vw,2rem);grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1024px){.qc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.qc-grid{grid-template-columns:1fr}}

.qc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:48px;padding:.75rem 1.6rem;border:2px solid transparent;border-radius:999px;background:var(--qc-honey);color:var(--qc-ink);font:600 1rem/1.2 var(--qc-sans);text-decoration:none;cursor:pointer;transition:background-color .2s ease}
.qc-btn:hover{background:var(--qc-honey-deep);color:var(--qc-ink)}
.qc-btn--quiet{background:transparent;border-color:var(--qc-sage-deep);color:var(--qc-sage-deep)}
.qc-btn--quiet:hover{background:var(--qc-sage-deep);color:#fff}
.qc-link{color:var(--qc-sage-deep);font-weight:600;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.25em}
.qc-link:hover{color:var(--qc-ink)}
.qc-btn:focus-visible,.qc-link:focus-visible,.qc-card a:focus-visible,.qc-field input:focus-visible,.qc-field textarea:focus-visible,.qc-nl-form input:focus-visible{outline:3px solid var(--qc-sage-deep);outline-offset:3px}

/* Cards */
.qc-card{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--qc-white);border:1px solid var(--qc-line);border-radius:var(--qc-pebble)}
.qc-card__media{aspect-ratio:3/2;background:linear-gradient(135deg,var(--qc-sage-wash),var(--qc-sky-wash) 60%,var(--qc-sand-wash))}
.qc-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.qc-card__body{display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:.75rem;padding:1.35rem 1.5rem 1.5rem}
.qc-tag{position:relative;z-index:2;display:inline-block;padding:.22rem .85rem;border-radius:999px 999px 999px 4px;background:var(--qc-sage-wash);color:var(--qc-sage-deep);font-size:.84rem;font-weight:600;line-height:1.5;text-decoration:none}
a.qc-tag:hover{background:var(--qc-sage);color:#fff}
.qc-card__title{margin:0;font:500 1.35rem/1.25 var(--qc-serif);letter-spacing:-.01em}
.qc-card__title a{color:var(--qc-ink);text-decoration:none}
.qc-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.qc-card__title a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.2em}
.qc-card__excerpt{margin:0;color:var(--qc-ink-soft);font-size:1rem;line-height:1.6}
.qc-card__meta{margin-top:auto;padding-top:.25rem;color:var(--qc-ink-soft);font-size:.9rem}

/* Forms */
.qc-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.1rem}
.qc-field label{font-weight:600;font-size:.95rem;color:var(--qc-ink)}
.qc-field input,.qc-field textarea,.qc-nl-form input[type=email],.qc-nl-form input[type=text]{width:100%;min-height:48px;padding:.75rem 1rem;border:1.5px solid var(--qc-line);border-radius:14px;background:var(--qc-white);color:var(--qc-ink);font:400 1rem/1.4 var(--qc-sans)}
.qc-field textarea{min-height:160px;resize:vertical}
.qc-field input:focus,.qc-field textarea:focus,.qc-nl-form input:focus{border-color:var(--qc-sage-deep)}
.qc-nl-form{display:flex;flex-wrap:wrap;gap:.75rem}
.qc-nl-form .qc-nl-input{flex:1 1 220px}
.qc-nl-form .qc-btn{flex:0 0 auto}
.qc-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.qc-form__status{flex:1 0 100%;min-height:1.4em;margin:.25rem 0 0;font-size:.95rem;color:var(--qc-ink-soft)}
.qc-form__status.is-error{color:#9B2C2C}
.qc-form__status.is-success{color:var(--qc-sage-deep);font-weight:600}
.qc-form[data-state=busy] .qc-btn,.qc-nl-form[data-state=busy] .qc-btn{opacity:.65;pointer-events:none}

/* Social icons */
.qc-social{display:flex;flex-wrap:wrap;gap:.6rem;margin:0;padding:0;list-style:none}
.qc-social a{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--qc-white);border:1px solid var(--qc-line);color:var(--qc-sage-deep)}
.qc-social a:hover{background:var(--qc-sage-deep);color:#fff;border-color:var(--qc-sage-deep)}
.qc-social svg{width:20px;height:20px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;margin:-1px}
.screen-reader-text:focus{clip:auto;clip-path:none;width:auto;height:auto;margin:0;padding:.75rem 1.25rem;background:#fff;color:var(--qc-ink);z-index:100000;top:8px;left:8px;border-radius:8px}
