/* ============================================================
   CHAMPP INSURANCE — shared layer (all pages)
   Self-hosted fonts · unified header · mobile menu · a11y · photos
   Loaded AFTER the page's own CSS on every page.
   ============================================================ */

/* ---------- fonts (self-hosted, latin subset) ---------- */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fraunces-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/fraunces-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/fraunces-latin-600-italic.woff2) format("woff2")}
@font-face{font-family:"Fraunces";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fraunces-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/inter-latin-800-normal.woff2) format("woff2")}
/* Gurmukhi/Devanagari greetings fall back to system fonts by design */

/* ---------- accessibility ---------- */
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:var(--gold);color:#2c1d05;font-weight:800;padding:10px 16px;border-radius:10px;transition:top .2s}
.skip:focus{top:12px}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.btn:focus-visible{outline-offset:4px}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--emerald-soft);outline-offset:0;border-color:var(--emerald-soft)}
.dark .sub{color:#c4d9cf}
.phero .pdesc{color:#cfe2d8}

/* ---------- announcement bar (inner pages) ---------- */
.announce{background:var(--pine);color:#cfe4d9;font-size:13px;padding:9px 0;position:relative;z-index:60}
.announce .wrap{display:flex;justify-content:center;align-items:center;gap:10px;text-align:center}
.announce b{color:var(--gold)}
.announce .rot{min-height:20px}

/* ---------- unified header ---------- */
header .nav{gap:18px}
.nav-links{gap:22px;font-size:13.5px}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-phone{display:inline-flex;align-items:center;gap:7px;color:var(--gold);font-weight:800;font-size:14px;white-space:nowrap}
.nav-phone svg{width:16px;height:16px}
.nav-burger{display:none;width:44px;height:44px;border-radius:12px;border:1px solid rgba(255,255,255,.18);background:transparent;color:#fff;cursor:pointer;place-items:center;flex-shrink:0}
.nav-burger svg{width:22px;height:22px}
.nav-burger .x{display:none}
body.menu-open .nav-burger .bars{display:none}
body.menu-open .nav-burger .x{display:block}

/* mobile drawer */
.mnav{position:fixed;inset:0;z-index:95;display:none;flex-direction:column;background:linear-gradient(160deg,var(--pine-2),var(--pine));color:#fff;padding:136px 26px 32px;overflow:auto}
body.menu-open .mnav{display:flex}
body.menu-open{overflow:hidden}
.mnav a{display:block;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1);font-family:var(--fd);font-size:24px;font-weight:600;color:#fff}
.mnav a.sm{font-family:var(--fb);font-size:15px;font-weight:600;color:#cfe0d7;padding:11px 0}
.mnav .mnav-cta{margin-top:auto;display:grid;gap:10px;padding-top:26px}
.mnav .mnav-cta .btn{width:100%}
.mnav .mnav-lang{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#9dbcac;font-weight:700;text-align:center;margin-top:14px}
@media(max-width:980px){
  .nav-links,.nav-phone{display:none}
  .nav-burger{display:grid}
  header.menu-open-header{position:fixed;left:0;right:0}
  body.menu-open header{z-index:101}
}
@media(max-width:560px){.nav .btn{padding:10px 14px;font-size:12px;white-space:nowrap}.nav-cta{gap:8px}.logo-word{font-size:19px}}
@media(max-width:400px){.nav .btn{padding:9px 11px;font-size:11.5px}}
@media(max-width:760px){body{padding-bottom:0}.has-mobile-cta{padding-bottom:70px}}
.trust-row{flex-wrap:wrap}.tr{white-space:nowrap}

/* ---------- icons ---------- */
.ico{width:1em;height:1em;display:inline-block;vertical-align:-.12em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.stamp .ico,.jdot .ico{width:26px;height:26px}
.stamp{display:grid;place-items:center}
.ccard .ic .ico{width:24px;height:24px}
.bthumb .ico,.bix-thumb .ico{width:44px;height:44px;stroke-width:1.6}
.tr .ico,.fine .ico,.fcol li .ico{width:14px;height:14px;margin-right:4px}

/* ---------- photos ---------- */
.frame .photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.byline .avatar{overflow:hidden;padding:0}
.byline .avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.about-gallery{display:grid;grid-template-columns:1.4fr 1fr;gap:14px;margin:0 0 34px}
.about-gallery figure{margin:0;position:relative;border-radius:18px;overflow:hidden;box-shadow:var(--shadow);background:var(--pine)}
.about-gallery figure:first-child{grid-row:span 2}
.about-gallery img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:4/5}
.about-gallery figure:not(:first-child) img{height:auto}
.about-gallery figure:not(:first-child) img{aspect-ratio:1/1}
.about-gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;font-size:12px;color:#fff;background:linear-gradient(transparent,rgba(6,33,25,.85))}
@media(max-width:640px){.about-gallery{grid-template-columns:1fr}.about-gallery figure:first-child{grid-row:auto}.about-gallery figure:not(:first-child) img{aspect-ratio:3/2}}
.side-photo{padding:0;overflow:hidden;position:relative}
.side-photo img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 15%;display:block}
.side-photo .cap{position:absolute;left:0;right:0;bottom:0;padding:16px 20px;color:#fff;background:linear-gradient(transparent,rgba(6,33,25,.9))}
.side-photo .cap b{display:block;font-family:var(--fd);font-size:18px}
.side-photo .cap span{font-size:12px;color:#cfe0d7}
.contact-hero-photo{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:28px;position:relative}
.contact-hero-photo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:50% 22%;display:block}
.contact-hero-photo .cap{position:absolute;left:18px;bottom:18px;background:rgba(255,253,247,.94);border-radius:14px;padding:12px 18px;color:var(--ink)}
.contact-hero-photo .cap b{display:block;font-family:var(--fd);font-size:17px}
.contact-hero-photo .cap span{font-size:12px;color:var(--ink-soft)}

/* ---------- forms: WhatsApp handoff state ---------- */
.form-note{font-size:12.5px;color:var(--ink-soft);text-align:center;margin-top:12px}
.form-note .ico{color:var(--emerald)}
form.sent button[type=submit]{background:var(--emerald)!important;color:#fff!important}

/* ---------- analytics hook (no-op until configured) ---------- */
