/* Balance design system for vijaykahuja.com: calm, symmetrical, warm. Loaded after each page's own styles. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/lora-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:italic;font-weight:400;font-display:swap;src:url(fonts/lora-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Lora";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/lora-latin-600-normal.woff2) format("woff2")}

:root{--ink:#1f2a1f;--paper:#f7f3ea;--line:#e2dccb;--olive:#20421a;--olive-2:#2d5a26;--sage:#5d7148;--gold:#c9a23a;--gold-text:#7a5f1c;--mist:#eef0e4;--sky:#d4e9f7;
 --display:"Cormorant Garamond",Georgia,serif;--text:"Lora",Georgia,serif}
body{background:var(--paper);color:var(--ink);font-family:var(--text);font-size:18px;line-height:1.75;-webkit-font-smoothing:antialiased}
::selection{background:#e6d9a8}
a{text-decoration-color:rgba(32,66,26,.35);text-underline-offset:5px}a:hover{color:var(--olive);text-decoration-color:currentColor}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--gold-text);outline-offset:4px}

/* Header: centered, symmetrical */
header{flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:12px;padding:34px 0 20px;border-bottom:1px solid var(--line)}
.brand{font-family:var(--display);font-weight:500;font-size:36px;letter-spacing:.01em;line-height:1.1;color:var(--olive)}
nav{justify-content:center;gap:10px 30px;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase}
nav a{text-decoration:none;padding:6px 0;border-bottom:1px solid transparent}
nav a:hover{text-decoration:none;border-bottom-color:var(--gold)}
nav a[aria-current=page]{text-decoration:none;color:var(--olive);border-bottom-color:var(--gold)}

/* Type */
h1,h2,h3,summary,.intro,.quote,.quote-block,.hero-bottom p{font-family:var(--display)}
h1{font-weight:500;letter-spacing:-.01em;line-height:1.04}
.page h1{font-size:clamp(46px,6.2vw,86px)}
.hero h1,.portrait-layout h1{font-size:clamp(54px,7vw,96px)}
h1 em,em{color:var(--sage)}h1 em{font-style:italic}
h2{font-weight:500;letter-spacing:-.005em;font-size:clamp(32px,4.2vw,54px)}
h3,.card h3{font-family:var(--display);font-weight:600;letter-spacing:0}
.intro{font-size:clamp(22px,2.4vw,28px);line-height:1.5;color:#2f3a2c}
.hero-bottom p{font-size:clamp(22px,2.4vw,28px);line-height:1.5}
.eyebrow{font-family:var(--text);font-size:12px;font-weight:600;letter-spacing:.24em;color:var(--gold-text)}
.label{font-size:12px;letter-spacing:.18em;color:#6b7a5a}
.credentials{color:#55644a}
p{text-wrap:pretty}h1,h2,h3{text-wrap:balance}

/* Surfaces */
.band,.note-box{background:var(--mist)}
.about{background:var(--olive)}.about p{color:#e8eddc}.about .eyebrow{color:#e0c878}
.quote-band{background:var(--sky)}
.quote-band blockquote{font-family:var(--display);font-weight:500;font-style:italic;font-size:clamp(32px,5.2vw,70px);line-height:1.18}
.quote-band figcaption{font-family:var(--text);color:#3f5a2c}
.quote-block{border-left:2px solid var(--gold);font-family:var(--display);font-style:italic;font-weight:500;font-size:clamp(24px,2.6vw,32px)}
.card{border-top:1px solid #d9cfae}
.card h3{font-size:30px}
details{border-top:1px solid var(--line)}summary{font-weight:500}

/* Buttons */
.button{background:var(--olive);color:#fff;font-family:var(--text);font-size:15px;letter-spacing:.03em;padding:14px 26px;border-radius:2px;text-decoration:none}
.button:hover{background:var(--olive-2);color:#fff}
.button-outline{background:transparent;color:var(--olive);box-shadow:inset 0 0 0 1px var(--olive)}.button-outline:hover{background:var(--olive);color:#fff}

/* Images */
.portrait-image img,.portrait-layout img{border-radius:2px}

/* Footer: centered */
.balance-close{padding:64px 0 6px}
footer{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;font-size:13.5px;color:#55644a;border-top:1px solid var(--line)}
footer a{text-decoration:none}footer a:hover{text-decoration:underline}
.footer-note{margin:4px auto 0;max-width:720px;font-size:12.5px;line-height:1.6;color:#66735c}

@media(max-width:650px){.brand{font-size:30px}nav{gap:6px 20px;font-size:12px}header{padding:26px 0 16px}}
