/*
Theme Name: govisnotes
Theme URI: https://govisnotes.com
Author: Govardhan Pinni
Description: A calm bento-style block theme for govisnotes.com, with light and dark modes.
Version: 1.1.14
Requires at least: 6.4
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: govisnotes
*/

@font-face{font-family:"Outfit";font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/outfit-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/outfit-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Outfit";font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/outfit-latin-600-normal.woff2) format("woff2")}

:root{
  --gn-bg:#ECEEF0; --gn-ink:#22252A; --gn-soft:#62666E; --gn-line:#D5D9DE; --gn-accent:#3F5E7D;
  --gn-t-mk:#E1E6DE; --gn-t-su:#DCE6E2; --gn-t-rv:#E6E0E3; --gn-t-sp:#E4E1DA; --gn-t-no:#DEE2E8; --gn-t-tr:#E0E4EA; --gn-card:#F4F5F6;
  --gn-ph1:#CCD2D8; --gn-ph2:#B8C0C8;
  --gn-font:"Outfit", system-ui, -apple-system, "Segoe UI", sans-serif;
  color-scheme:light;
}
:root[data-mode="dark"]{
  --gn-bg:#16181B; --gn-ink:#D8DBE0; --gn-soft:#8F949C; --gn-line:#282C31; --gn-accent:#9DB9D6;
  --gn-t-mk:#1E231F; --gn-t-su:#1B2422; --gn-t-rv:#241F22; --gn-t-sp:#23211D; --gn-t-no:#1D2127; --gn-t-tr:#1C2026; --gn-card:#1C1F23;
  --gn-ph1:#2A2F35; --gn-ph2:#21252A;
  color-scheme:dark;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--gn-bg);color:var(--gn-ink);font-family:var(--gn-font);font-size:16.5px;line-height:1.55}
.wp-site-blocks{padding-inline:20px;padding-block:0 48px}
.gn-wrap{max-width:1080px;margin:0 auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
a:focus-visible,button:focus-visible{outline:2px solid var(--gn-accent);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{font-weight:500;text-wrap:balance;margin:0}
p{margin:0}
img{max-width:100%;height:auto}
.gn-soft{color:var(--gn-soft)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:16px;top:16px;background:var(--gn-ink);color:var(--gn-bg);padding:8px 14px;border-radius:8px;z-index:10}

/* header */
.gn-header{display:flex;align-items:center;gap:14px 24px;padding-block:20px;flex-wrap:wrap}
.gn-logo{font-weight:600;font-size:22px;margin-right:auto}
.gn-nav{display:flex;gap:4px;flex-wrap:wrap}
.gn-nav a{padding:6px 12px;border-radius:999px;color:var(--gn-soft);font-size:15px;white-space:nowrap}
.gn-nav a:hover{color:var(--gn-ink)}
.gn-nav a.is-on{background:var(--gn-ink);color:var(--gn-bg)}
.gn-curtain{width:40px;height:40px;border:1px solid var(--gn-line);border-radius:12px;background:transparent;cursor:pointer;display:grid;place-items:center;padding:0;flex:none;color:var(--gn-ink)}
.gn-curtain:hover{border-color:var(--gn-soft)}
.gn-curtain svg{width:24px;height:24px}
.gn-curtain line{stroke:currentColor;stroke-width:2;stroke-linecap:round}
.gn-curtain path{fill:currentColor;opacity:.8}
.gn-curtain .fold{fill:none;stroke:var(--gn-bg);stroke-width:.9;opacity:.7}
.gn-curtain .win{fill:none;stroke:currentColor;stroke-width:1.2;opacity:.45}
.gn-curtain .sun{fill:currentColor;opacity:.55}
.gn-curtain .c-shut{display:none}
:root[data-mode="dark"] .gn-curtain .c-open{display:none}
:root[data-mode="dark"] .gn-curtain .c-shut{display:block}

/* tiles */
.gn-ph{background:linear-gradient(155deg,var(--gn-ph1),var(--gn-ph2));border-radius:16px;min-height:150px;width:100%;overflow:hidden;display:block}
.gn-ph img{width:100%;height:100%;object-fit:cover;display:block}
.gn-tile{border-radius:16px;padding:22px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;transition:transform .15s ease}
a.gn-tile:hover{transform:translateY(-2px)}
.gn-tile h3{font-size:21px;font-weight:600}
.gn-tile p{font-size:15px;color:var(--gn-soft)}
.gn-latest{font-size:14px;border-top:1px solid color-mix(in srgb,var(--gn-ink) 12%,transparent);padding-top:10px;color:var(--gn-soft)}
.gn-latest b{font-weight:500;color:var(--gn-ink)}
.gn-mk{background:var(--gn-t-mk)}.gn-su{background:var(--gn-t-su)}.gn-rv{background:var(--gn-t-rv)}.gn-sp{background:var(--gn-t-sp)}.gn-no{background:var(--gn-t-no)}.gn-tr{background:var(--gn-t-tr)}.gn-cd{background:var(--gn-card)}
.gn-arrow{font-size:14.5px;color:var(--gn-accent)}

.gn-bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(160px,auto);gap:12px}
.gn-hi{grid-column:1/-1;background:var(--gn-t-no);padding:32px 34px;gap:18px}
.gn-hi h1{font-size:clamp(30px,3.8vw,46px);line-height:1.12;font-weight:500;max-width:22em}
.gn-span2{grid-column:span 2}
.gn-rv-home h3 a:hover{text-decoration:underline;text-underline-offset:4px}
.gn-rv-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.gn-rv-sub{display:flex;flex-direction:column;gap:2px;border-top:1px solid color-mix(in srgb,var(--gn-ink) 12%,transparent);padding-top:10px;font-size:14px;color:var(--gn-soft)}
.gn-rv-sub b{font-weight:500;color:var(--gn-ink)}
.gn-rv-sub:hover b,.gn-rv-sub:hover span:last-child{color:var(--gn-accent)}
.gn-latest-label{font-size:12.5px;color:var(--gn-soft)}

.gn-label{font-size:13px;color:var(--gn-soft);margin:34px 0 12px;display:flex;justify-content:space-between;align-items:baseline}
.gn-label a{color:var(--gn-accent)}

/* social highlights */
.gn-social-nav{display:flex;gap:6px}
.gn-social-nav .gn-icon-btn{width:32px;height:32px}
.gn-social-track{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,1fr);gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:thin}
.gn-social-track:focus-visible{outline:2px solid var(--gn-accent);outline-offset:4px;border-radius:16px}
.gn-social-card{scroll-snap-align:start;background:var(--gn-card);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:10px;min-height:170px}
.gn-social-top{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--gn-soft)}
.gn-socials-ico svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gn-socials-ico .dot,.gn-socials-ico .fill{fill:currentColor;stroke:none}
.gn-social-date{margin-left:auto}
.gn-social-text{font-size:17px;line-height:1.35;color:var(--gn-ink);flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gn-social-card:hover .gn-social-text{color:var(--gn-accent)}
@media (min-width:821px){.gn-social-track{grid-auto-columns:calc((100% - 36px)/4)}}

/* section pages */
.gn-head{border-radius:16px;padding:28px;margin-bottom:12px;background:var(--gn-card)}
.gn-head h1{font-size:clamp(30px,4vw,42px)}
.gn-head p{margin-top:8px;color:var(--gn-soft);font-size:17px;max-width:36em}
.gn-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:18px}
.gn-chips a{border:1px solid color-mix(in srgb,var(--gn-ink) 18%,transparent);border-radius:999px;padding:5px 14px;font-size:14.5px}
.gn-chips a.is-on{background:var(--gn-ink);color:var(--gn-bg);border-color:var(--gn-ink)}
.gn-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.gn-post{background:var(--gn-card);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:8px}
.gn-post .gn-ph{min-height:0;aspect-ratio:16/10;border-radius:12px}
.gn-post small{font-size:13px;color:var(--gn-soft)}
.gn-post h3{font-size:19px;line-height:1.3;font-weight:500}
.gn-post p{font-size:14.5px;color:var(--gn-soft)}
.gn-empty{background:var(--gn-card);border-radius:16px;padding:28px;color:var(--gn-soft);grid-column:1/-1}
.gn-empty b{display:block;color:var(--gn-ink);font-weight:500;font-size:19px;margin-bottom:4px}
.gn-archive{background:var(--gn-card);border-radius:16px;padding:8px 20px}
.gn-archive a{display:flex;justify-content:space-between;gap:14px;padding-block:11px;border-bottom:1px solid var(--gn-line);font-size:15.5px}
.gn-archive a:last-child{border-bottom:0}
.gn-archive span{color:var(--gn-soft);font-size:13.5px;white-space:nowrap;font-variant-numeric:tabular-nums}

/* article + page */
.gn-article{max-width:720px;margin:0 auto;padding-top:12px}
.gn-crumb{font-size:14px;color:var(--gn-soft);margin-bottom:10px}
.gn-crumb a{color:var(--gn-accent)}
.gn-article .wp-block-post-title{font-size:clamp(30px,4.4vw,44px);line-height:1.15;font-weight:500;margin:0 0 10px}
.gn-article .wp-block-post-date{font-size:14px;color:var(--gn-soft);margin-bottom:22px}
.gn-article .wp-block-post-featured-image{margin:0 0 26px}
.gn-article .wp-block-post-featured-image img{border-radius:16px}
.gn-article .wp-block-post-content{font-size:18px;line-height:1.72}
.gn-article .wp-block-post-content > *{margin-block:0 1.1em}
.gn-article .wp-block-post-content h2{font-size:26px;margin-top:1.6em}
.gn-article .wp-block-post-content h3{font-size:21px;margin-top:1.4em}
.gn-article .wp-block-post-content a{color:var(--gn-accent);text-decoration:underline;text-underline-offset:3px}
.gn-article .wp-block-post-content img{border-radius:12px}
.gn-article .wp-block-post-content blockquote{margin-inline:0;padding-left:18px;border-left:3px solid var(--gn-line);color:var(--gn-soft)}
.gn-article table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.gn-article td,.gn-article th{border:1px solid var(--gn-line);padding:6px 10px}

/* footer */
.gn-footer{margin-top:48px;padding-top:24px;border-top:1px solid var(--gn-line);display:grid;grid-template-columns:1fr auto;gap:18px 24px;align-items:center}
.gn-f-label{display:block;font-size:13px;color:var(--gn-soft);margin-bottom:4px}
.gn-email{font-size:19px;font-weight:500;word-break:break-all;border-bottom:1px solid transparent}
.gn-email:hover{border-bottom-color:currentColor}
.gn-icon-btn{width:34px;height:34px;border:1px solid var(--gn-line);background:transparent;border-radius:10px;display:grid;place-items:center;cursor:pointer;color:var(--gn-soft);padding:0}
.gn-icon-btn:hover{color:var(--gn-ink);border-color:var(--gn-soft)}
.gn-icon-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gn-icon-btn .i-done{display:none}
.gn-icon-btn.is-done .i-copy{display:none}.gn-icon-btn.is-done .i-done{display:block}
.gn-toast{font-size:13px;color:var(--gn-soft)}
.gn-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.gn-btn{border:1px solid var(--gn-line);background:var(--gn-bg);border-radius:10px;padding:6px 14px;font-size:14px;cursor:pointer}
.gn-btn:hover{border-color:var(--gn-soft)}
.gn-f-copy{grid-column:1/-1;font-size:13.5px;color:var(--gn-soft)}
.gn-socials{display:flex;gap:8px;flex-wrap:wrap}
.gn-socials a{width:42px;height:42px;border-radius:12px;border:1px solid var(--gn-line);display:grid;place-items:center;color:var(--gn-soft)}
.gn-socials a:hover{color:var(--gn-ink);border-color:var(--gn-soft)}
.gn-socials svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gn-socials .dot,.gn-socials .fill{fill:currentColor;stroke:none}

@media (max-width:820px){
  .gn-bento{grid-template-columns:1fr 1fr}
  .gn-hi{grid-column:span 2;padding:24px}
  .gn-br{display:none}
  .gn-posts{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .wp-site-blocks{padding-inline:16px}
  .gn-header{gap:12px}
  .gn-nav{order:3;width:100%;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .gn-nav::-webkit-scrollbar{display:none}
  .gn-posts{grid-template-columns:1fr}
  .gn-bento>.gn-tile{grid-column:span 2}
  .gn-tile{padding:18px}
  .gn-ph{min-height:130px}
  .gn-footer{grid-template-columns:1fr}
  .gn-rv-links{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.gn-tile{transition:none}a.gn-tile:hover{transform:none}}

/* ---------- pitch page ---------- */
.gn-pitch .sample{font-size:11px;color:var(--gn-accent);border:1px dashed color-mix(in srgb,var(--gn-accent) 60%,transparent);border-radius:999px;padding:0 7px;margin-left:6px;vertical-align:middle}
.gn-pitch .pg{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.gn-pitch .t{border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}
.gn-pitch .t h2{font-size:13px;font-weight:500;color:var(--gn-soft);letter-spacing:.02em}
.gn-pitch .s2{grid-column:span 2}
.gn-pitch .s4{grid-column:1/-1}
.gn-pitch .head{background:var(--gn-t-rv);padding:30px 32px}
.gn-pitch .head h1{font-size:clamp(32px,4.2vw,46px);line-height:1.08}
.gn-pitch .head p{font-size:18px;max-width:34em}
.gn-pitch .status{display:inline-flex;align-items:center;gap:8px;font-size:14px;background:color-mix(in srgb,var(--gn-bg) 65%,transparent);border-radius:999px;padding:5px 12px;width:max-content}
.gn-pitch .status i{width:8px;height:8px;border-radius:50%;background:#4E9A6B}
.gn-pitch .btns{display:flex;gap:10px;flex-wrap:wrap}
.gn-pitch .btn1{font-size:14.5px;background:var(--gn-ink);color:var(--gn-bg);border-radius:10px;padding:8px 14px}
.gn-pitch .btn2{font-size:14.5px;border:1px solid color-mix(in srgb,var(--gn-ink) 20%,transparent);border-radius:10px;padding:8px 14px}
.gn-pitch .now{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:center}
.gn-pitch .cover{aspect-ratio:2/3;border-radius:6px;background:linear-gradient(160deg,var(--gn-ph1),var(--gn-ph2))}
.gn-pitch .now b{display:block;font-size:19px;font-weight:500}
.gn-pitch .now span{font-size:14.5px;color:var(--gn-soft)}
.gn-pitch .count{font-size:40px;font-weight:600;line-height:1}
.gn-pitch .count small{font-size:15px;font-weight:400;color:var(--gn-soft);margin-left:6px}
.gn-pitch .covs{display:flex;gap:6px;flex-wrap:wrap}
.gn-pitch .cov{width:34px;aspect-ratio:2/3;border-radius:4px;background:hsl(var(--h) 22% 72%);font-size:0}
:root[data-mode="dark"] .gn-pitch .cov{background:hsl(var(--h) 14% 30%)}
.gn-pitch .link{color:var(--gn-accent);font-size:14.5px}
.gn-pitch .pills{display:flex;flex-wrap:wrap;gap:6px}
.gn-pitch .pills span{font-size:14.5px;background:color-mix(in srgb,var(--gn-bg) 65%,transparent);border-radius:999px;padding:5px 12px}
.gn-pitch .pills.no span{background:transparent;border:1px dashed var(--gn-line);color:var(--gn-soft);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--gn-soft) 60%,transparent)}
.gn-pitch .t ul{margin:0;padding-left:18px;display:grid;gap:6px;font-size:15.5px}
.gn-pitch .t ul li::marker{color:var(--gn-accent)}
.gn-pitch .big{font-size:20px;font-weight:500;line-height:1.3}
.gn-pitch .scale{display:grid;gap:6px;font-size:15.5px}
.gn-pitch .scale div{display:flex;justify-content:space-between;border-bottom:1px solid color-mix(in srgb,var(--gn-ink) 10%,transparent);padding-bottom:5px}
.gn-pitch .scale div:last-child{border:0}
.gn-pitch .scale span{color:var(--gn-soft);font-variant-numeric:tabular-nums}
.gn-pitch .where{font-size:18px;line-height:1.6}
.gn-pitch .where a{color:var(--gn-accent);border-bottom:1px solid color-mix(in srgb,var(--gn-accent) 40%,transparent)}
.gn-pitch .pitch{display:grid;grid-template-columns:1.1fr 1fr;gap:24px}
.gn-pitch .pitch .gn-email{font-size:21px}
.gn-pitch .subj{font-size:14.5px;color:var(--gn-soft);margin-top:6px}
.gn-pitch .subj code{font-family:inherit;background:color-mix(in srgb,var(--gn-bg) 65%,transparent);border-radius:6px;padding:2px 7px;color:var(--gn-ink)}
@media (max-width:820px){.gn-pitch .pg{grid-template-columns:1fr 1fr}.gn-pitch .pitch{grid-template-columns:1fr}}
@media (max-width:520px){.gn-pitch .pg{grid-template-columns:1fr}.gn-pitch .s2,.gn-pitch .s4{grid-column:auto}.gn-pitch .head{padding:24px}}

.gn-pitch .cover img,.gn-pitch .cov img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.gn-pitch .cov{overflow:hidden}
.gn-pitch .now + .now{margin-top:10px}
.gn-pitch .wp-block-html{display:contents}

.gn-pitch .now-t{display:block}
.gn-pitch .now-t:hover b,.gn-pitch .now-a:hover{color:var(--gn-accent)}
.gn-pitch .now-a{font-size:14.5px;color:var(--gn-soft);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--gn-soft) 40%,transparent);text-underline-offset:3px}
.gn-pitch .now-t b{color:var(--gn-ink)}

/* share row */
.gn-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:36px;padding-top:20px;border-top:1px solid var(--gn-line)}
.gn-share-l{font-size:13px;color:var(--gn-soft);margin-right:4px}
.gn-share-b{display:inline-grid;place-items:center;width:38px;height:38px;color:var(--gn-soft);background:transparent;border:1px solid var(--gn-line);border-radius:12px;padding:0;cursor:pointer}
.gn-share-b:hover{border-color:var(--gn-soft);color:var(--gn-accent)}
.gn-share-b svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.gn-share-b .i-done{display:none}.gn-share-b.is-done .i-copy{display:none}.gn-share-b.is-done .i-done{display:block;color:var(--gn-accent)}
.gn-share-toast{font-size:13px;color:var(--gn-soft)}
.gn-share-b[hidden]{display:none}

/* quote banner: full-width strip above the header, every page */
:root{--gn-qbar:#DCE4EC;--gn-qink:#2B3A4A}
:root[data-mode="dark"]{--gn-qbar:#1D2733;--gn-qink:#C9D6E3}
.gn-quote{background:var(--gn-qbar);margin-inline:-20px;padding:9px 20px;text-align:center}
.gn-quote p{margin:0 auto;font-style:italic;font-size:clamp(12.5px,1.35vw,15px);line-height:1.5;color:var(--gn-qink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gn-quote a{color:inherit}
.gn-quote a:hover q{text-decoration:underline;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--gn-qink) 40%,transparent)}
.gn-quote q{quotes:none}
.gn-quote span{font-size:.9em;margin-left:4px;opacity:.75;white-space:nowrap}
@media (max-width:600px){.gn-quote{margin-inline:-16px;padding-inline:16px}.gn-quote p{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}}
/* quotes page */
.gn-quotes{margin-top:8px}
.gn-q-month{font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--gn-soft);margin:28px 0 10px}
.gn-q-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.gn-q-list li{background:var(--gn-qbar);border-radius:14px;padding:16px 20px}
.gn-q-list blockquote{margin:0;font-style:italic;font-size:19px;line-height:1.45;color:var(--gn-qink)}
.gn-q-list span{display:block;margin-top:6px;font-size:13px;color:var(--gn-soft)}

.gn-bento{grid-auto-rows:auto}
.gn-bento>.gn-tile,.gn-bento>.gn-ph{min-height:160px}
.gn-bento>.gn-quote{min-height:0}
.gn-article .wp-block-post-content .gn-q-month{font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--gn-soft);margin:24px 0 10px}
.gn-article .wp-block-post-content .gn-q-list blockquote{border:0;padding:0;margin:0;color:var(--gn-qink)}
.gn-article .wp-block-post-content .gn-quotes{margin:0}
/* post details */
.gn-article .wp-block-post-content > .gn-credit{font-size:12.5px;line-height:1.4;color:var(--gn-soft);text-align:right;margin:-18px 0 26px}
.gn-article .wp-block-post-content > .gn-credit a{color:var(--gn-soft)}
.gn-article .wp-block-post-content > .gn-verse{font-style:italic;padding-left:18px;border-left:3px solid var(--gn-line);line-height:1.9}
