/*
Theme Name: BenefitsLookUp
Theme URI: https://benefitslookup.com
Author: Hunter Creative Media & Design
Author URI: https://huntercreativemedia.com
Description: Custom block theme for Boris Mitnik, Independent Insurance Broker. Built on WordPress core blocks only, with no page builder and no premium block plugin, so the site keeps working exactly as it is whoever maintains it. Every page is made of ordinary blocks that can be edited, moved and copied in the block editor.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: benefitslookup
Tags: block-theme, full-site-editing, accessibility-ready
*/

/*
The design is Direction B2 (Boris picked it 2026-09-30, Round 10 on 2026-10-20).
Large type and big tap targets on purpose: most visitors are 65 and over.
Sections are core Group blocks carrying the class names used below (sec, phead,
cta, faq...), so a section copied in the editor keeps its look.
*/

:root{
  --navy:var(--wp--preset--color--navy,#003366); --navy-dark:var(--wp--preset--color--navy-dark,#002347);
  --green:var(--wp--preset--color--green,#347f45); --green-hover:#2f7340; --green-name:#4a9a5c;
  --green-text:var(--wp--preset--color--green-text,#2f7a3f);
  --sage:var(--wp--preset--color--sage,#8cc79a); --mint:var(--wp--preset--color--mint,#eef6ef);
  --mint-2:var(--wp--preset--color--mint-2,#dcefdf); --mint-3:#c9e5cf;
  --paper:var(--wp--preset--color--paper,#fbfbf8); --ink:var(--wp--preset--color--ink,#10202e);
  --ink-2:var(--wp--preset--color--ink-2,#435565); --rule:#dde3dc; --white:#fff;
  --sans:"Segoe UI",Arial,Helvetica,sans-serif; --serif:Georgia,"Times New Roman",serif;
  /* What's Hot Now (Boris, 2026-10-31): light blue with his sailboat in red */
  --sky:#e6f0fa; --sky-2:#d4e5f6; --sky-rule:#bcd3ea; --red:#c62828; --red-text:#a31f1f;
}
*{box-sizing:border-box}
:where(body, h1, h2, h3, h4, p, ul, ol, li, figure, blockquote, fieldset, legend, dl, dd){margin:0;padding:0}
:where(figure.wp-block-image, .wp-block-image figure){margin:0}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.125rem;line-height:1.7;margin:0}
img{max-width:100%;display:block;height:auto}
a{color:var(--navy)}
.wrap{max-width:1240px;margin:0 auto;padding-inline:24px}
@media(max-width:600px){.wrap{padding-inline:16px}}
.nw{white-space:nowrap}

/* skip link */
.skip-link.screen-reader-text:focus{position:fixed;top:1rem;left:1rem;z-index:100000;padding:.75rem 1.25rem;background:#fff;color:var(--navy);font-weight:700;border:3px solid var(--navy);border-radius:8px;clip:auto;clip-path:none;width:auto;height:auto}

/* ------------------------------------------------------------------ buttons
   Button block styles: Green (the default), Outline, Price (a quote button) and
   Price, ask me (no online quote). Plain HTML buttons in forms use .btn. */
.btn,.wp-block-button .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:10px 22px;border-radius:999px;font-weight:700;font-size:1.08rem;line-height:1.3;text-decoration:none;border:2px solid transparent;font-family:var(--sans);cursor:pointer;text-align:center}
.btn-green,.wp-block-button .wp-block-button__link{background:var(--green);color:#fff}
.btn-green:hover,.wp-block-button .wp-block-button__link:hover{background:var(--green-hover);color:#fff}
.btn-line,.wp-block-button.is-style-line .wp-block-button__link{background:#fff;color:var(--navy);border-color:var(--sage)}
.btn-line:hover,.wp-block-button.is-style-line .wp-block-button__link:hover{background:var(--mint);color:var(--navy)}
.wp-block-buttons.row,.row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.wp-block-buttons > .wp-block-button{margin:0}

/* quote buttons (block styles "Price" and "Price, ask me"). Round 9 (2026-10-18) made them about
   25% larger; on 2026-10-20 Boris asked for his original size (52px tall, 1.02rem text, 8px apart)
   made a little larger instead. */
.wp-block-button.is-style-quote,.wp-block-button.is-style-quote-ask{width:100%}
.wp-block-button.is-style-quote .wp-block-button__link,.wp-block-button.is-style-quote-ask .wp-block-button__link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:9px 10px 9px 16px;background:var(--mint-2);border:1px solid var(--sage);border-radius:12px;color:var(--ink);font-weight:700;font-size:1.125rem;line-height:1.3;text-align:left;transition:background .15s}
.wp-block-button.is-style-quote .wp-block-button__link:hover{background:var(--mint-3);color:var(--ink)}
.wp-block-button.is-style-quote .wp-block-button__link::after,.wp-block-button.is-style-quote-ask .wp-block-button__link::after{content:"\203A";flex:none;display:grid;place-items:center;width:36px;height:36px;background:var(--green);color:#fff;font-size:1.5rem;line-height:1;border-radius:50%;padding-bottom:3px;box-sizing:border-box}
.wp-block-button.is-style-quote .wp-block-button__link:hover::after{background:var(--green-hover)}
.wp-block-button.is-style-quote-ask .wp-block-button__link{background:#fff;border:2px solid var(--sage)}
.wp-block-button.is-style-quote-ask .wp-block-button__link:hover{background:var(--mint);color:var(--ink)}
.wp-block-button.is-style-quote-ask .wp-block-button__link::after{content:"";padding:0;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/%3E%3C/svg%3E") center/18px 18px no-repeat}
.wp-block-buttons.qlist{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin-top:12px}
.pgroup .wp-block-buttons.qlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));gap:10px 16px;align-items:start;margin-top:0}
@media(max-width:600px){.wp-block-button.is-style-quote .wp-block-button__link,.wp-block-button.is-style-quote-ask .wp-block-button__link{font-size:1.1rem}.pgroup .wp-block-buttons.qlist{grid-template-columns:1fr}}
.qnote{font-size:1rem;line-height:1.5;color:var(--ink-2);margin-top:14px}
.btn:focus-visible,.wp-block-button__link:focus-visible,.nav a:focus-visible,.sub-nav a:focus-visible,.linkcard a:focus-visible{outline:3px solid var(--navy);outline-offset:2px}

/* ------------------------------------------------------------------ type */
h2{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.18}
h3{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:1.4rem;line-height:1.2}
.label{font-size:.92rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-text);margin-bottom:8px}
.mt-6{margin-top:6px}.mt-12{margin-top:12px}.mt-14{margin-top:14px}.mt-20{margin-top:20px}.mt-22{margin-top:22px}.mt-34{margin-top:34px}.bt-0{border-top:0 !important}

/* ------------------------------------------------------------------ header */
.mast{background:var(--white);border-bottom:3px solid var(--sage)}
.mast > .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding-block:10px}
.mast .mark,.mast .mark img{width:56px;height:56px}
.mast .n{font-family:var(--serif);color:var(--green-name);font-size:2rem;line-height:1}
.mast .n a{color:inherit;text-decoration:none}
/* "Medicare and Health Insurance Broker" right under his name (Boris, 2026-10-31). On the
   homepage it is the page's H1, so both forms look the same. */
.mast .role,.mast h1.role{font-family:var(--sans);font-weight:700;color:var(--green-text);font-size:1.05rem;line-height:1.3;margin:5px 0 0;letter-spacing:0}
.mast .t{font-family:var(--serif);font-style:italic;font-size:1.05rem;color:var(--ink);margin-top:2px}
/* Top right (Boris, 2026-10-31): "Ph: (847) 456-6655", his email address in the space the
   buttons had, and the Call, Text and Email buttons a little lower */
.mast .phone{text-align:right}
.mast .phone .num a{font-weight:800;font-size:1.45rem;color:var(--ink);text-decoration:none;display:block;line-height:1.2}
.mast .phone .em a{font-weight:700;font-size:1.1rem;color:var(--navy);text-decoration:none;display:block;line-height:1.3;margin-top:2px;word-break:break-word}
.mast .phone .em a:hover{text-decoration:underline}
.mast .phone .row{justify-content:flex-end;margin-top:10px}
.mast .phone .wp-block-button__link{min-height:44px;padding:7px 18px;font-size:1rem}
@media(max-width:860px){
  .mast > .wrap{grid-template-columns:auto 1fr}
  .mast .mark,.mast .mark img{width:50px;height:50px}
  .mast .n{font-size:1.75rem}
  .mast .phone{grid-column:1/-1;text-align:left;border-top:1px solid var(--rule);padding-top:12px}
  .mast .phone .row{justify-content:flex-start}
}
.nav{background:var(--white);border-bottom:1px solid var(--rule)}
.nav .wp-block-navigation__container,.nav .wp-block-navigation{gap:0 4px;flex-wrap:wrap}
.nav .wp-block-navigation-item__content,.sub-nav .wp-block-navigation-item__content{display:flex;align-items:center;min-height:46px;padding:0 11px;color:var(--navy);font-weight:600;text-decoration:none;border-bottom:3px solid transparent}
.nav .wp-block-navigation-item__content:hover,.nav .current-menu-item > .wp-block-navigation-item__content,.nav [aria-current] ,.sub-nav .wp-block-navigation-item__content:hover,.sub-nav .current-menu-item > .wp-block-navigation-item__content{border-bottom-color:var(--sage);color:var(--ink)}
/* What's Hot Now in the menu, marked with his sailboat in red */
.nav .hot > .wp-block-navigation-item__content{color:var(--red-text);font-weight:700}
.nav .hot > .wp-block-navigation-item__content::before{content:"";flex:none;width:22px;height:22px;margin-right:7px;background:url(assets/sailboat-mark-red.png) center/contain no-repeat}
.nav .hot > .wp-block-navigation-item__content:hover,.nav .hot.current-menu-item > .wp-block-navigation-item__content{border-bottom-color:var(--red);color:var(--red-text)}

/* The inquiry button, in the same place near the top of every page, and the one form it opens
   right under it (Boris, 2026-10-31, items 5 to 7). Closed until a link to #inquiry is followed:
   site.js opens and closes it, CSS :target opens it without the script. */
.askbar{background:#fff;border-bottom:1px solid var(--rule)}
.askbar > .wrap{padding-block:12px}
.askrow{display:flex;justify-content:center}
.askrow .wp-block-button__link{min-height:56px;padding:12px 30px;font-size:1.15rem}
@media(max-width:600px){.askrow .wp-block-button,.askrow .wp-block-button__link{width:100%}.askrow .wp-block-button__link{font-size:1.08rem;padding:10px 18px}}
.inq{display:none;max-width:720px;margin:14px auto 6px;scroll-margin-top:8px}
.inq:target,.inq.open{display:block}
.inq form.bl-form{background:var(--mint);border-color:var(--sage)}

.sub-nav{background:#fff;border-bottom:1px solid var(--rule)}
.sub-nav > .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:0 4px}
.sub-nav .k{font-size:.92rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--green-text);margin-right:8px}
.sub-nav .wp-block-navigation__container,.sub-nav .wp-block-navigation{gap:0 4px;flex-wrap:wrap}
.sub-nav .wp-block-navigation-item__content{min-height:44px;padding:0 10px}

/* ------------------------------------------------------------------ page head */
.phead{background:var(--mint);border-bottom:1px solid var(--rule);padding-block:22px 32px}
.crumbs{font-size:.98rem;color:var(--ink-2);margin-bottom:12px}
.crumbs a{color:var(--ink-2)}
.crumbs span{margin:0 6px}
.phead .grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:48px;align-items:start}
.phead.solo .grid{grid-template-columns:minmax(0,1fr)}
@media(max-width:900px){.phead .grid{grid-template-columns:1fr;gap:26px}}
.jump{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.jump .wp-block-button__link{min-height:50px}
@media(max-width:600px){.wp-block-buttons.jump{display:grid;grid-template-columns:1fr 1fr;gap:10px}.jump .wp-block-button,.jump .wp-block-button__link{width:100%}.jump .wp-block-button__link{min-height:48px;padding:8px 10px;font-size:1rem;line-height:1.25}}
.phead h1{font-family:var(--sans);font-weight:700;color:var(--green-text);font-size:1.05rem;line-height:1.35;margin-bottom:8px}
.phead .display{font-family:var(--serif);color:var(--navy);font-size:clamp(1.9rem,3.6vw,2.5rem);line-height:1.12;margin-bottom:12px}
.phead h1.display{font-weight:400}
.phead .lede{color:var(--ink-2);max-width:60ch}
.phead .lede + .lede{margin-top:12px}
.phead .row{margin-top:22px}
/* Resources and the Library (Boris, 2026-10-20): the heading area explained little and took a
   screen, so it is one short band and more of the list shows straight away */
.phead.compact{padding-block:14px 18px}
.phead.compact .crumbs{font-size:.95rem;margin-bottom:6px}
.phead.compact h1:not(.display){font-size:.98rem;margin-bottom:2px}
.phead.compact .display{font-size:clamp(1.6rem,2.6vw,2rem);margin-bottom:4px}
.phead.compact .lede{font-size:1.02rem;line-height:1.55}
.phead.compact .jump{margin-top:12px;gap:8px}
.phead.compact .jump .wp-block-button__link{min-height:44px;padding:6px 18px;font-size:1rem}
.phead.compact .demo{margin-top:10px;padding:8px 14px;font-size:.95rem}
.phead.compact + .sec{padding-top:22px}
.demo{background:#fff6d6;color:#5a4500;border:1px solid #eadfb4;border-radius:10px;padding:12px 18px;font-size:1rem;line-height:1.5;margin-top:18px;max-width:72ch}

/* ------------------------------------------------------------------ sections */
.sec{padding-block:52px}
.sec.white{background:#fff;border-block:1px solid var(--rule)}
.sec + .sec.white,.sec.white + .sec{border-top:0}
.sec .side{display:grid;grid-template-columns:250px minmax(0,1fr);gap:48px;align-items:start}
@media(max-width:900px){.sec .side{grid-template-columns:1fr;gap:16px}}
.sec .side > header h2{font-size:clamp(1.6rem,2.6vw,2rem)}
.sec .side > header .label{margin-bottom:6px}
.copy{max-width:66ch}
.copy p{margin-bottom:14px}
.copy p:last-child{margin-bottom:0}
.copy .intro{color:var(--ink-2)}
.copy > .wp-block-buttons{margin-top:6px}
ul.dots{list-style:none}
ul.dots li{padding:12px 0 12px 30px;border-bottom:1px solid var(--rule);position:relative}
ul.dots li:first-child{border-top:1px solid var(--rule)}
ul.dots li::before{content:"";position:absolute;left:4px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--sage)}
.promise{font-family:var(--serif);font-style:italic;font-size:1.4rem;line-height:1.5;color:var(--navy);border-left:4px solid var(--sage);padding-left:20px;margin:24px 0}

/* call panel */
.cta{display:flex;justify-content:space-between;align-items:center;gap:20px 32px;flex-wrap:wrap;background:#fff;border:1px solid var(--rule);border-left:6px solid var(--green);border-radius:12px;padding:22px 24px;margin-top:30px}
.cta > p{font-family:var(--serif);font-size:1.35rem;line-height:1.35;color:var(--navy);max-width:34ch;margin:0}
.cta > p small{display:block;font-family:var(--sans);font-size:1rem;color:var(--ink-2);margin-top:4px}
.endband{background:var(--mint);border-top:1px solid var(--rule);padding-block:44px}
.endband .cta{margin-top:0}

/* Get a Price rows: heading above the buttons */
.pgroup{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;padding:24px 0 28px;border-top:1px solid var(--rule);scroll-margin-top:12px}
.pgroup:last-child{border-bottom:1px solid var(--rule)}
.pgroup h2{font-size:1.6rem}
.pgroup .for{font-weight:700;color:var(--green-text);margin:2px 0 8px}
.pgroup p{color:var(--ink-2);max-width:70ch}

/* contact */
.ways{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
@media(max-width:1020px){.ways{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.ways{grid-template-columns:1fr}}
.way{background:#fff;border:1px solid var(--rule);border-top:4px solid var(--sage);border-radius:12px;padding:20px 18px;display:flex;flex-direction:column}
.way h3{font-family:var(--serif);font-weight:400;font-size:1.4rem;color:var(--navy)}
.way .v{font-weight:800;font-size:1.3rem;color:var(--ink);margin:4px 0 6px;word-break:break-word}
.way .v.sm{font-size:1rem}
.way p:not(.v){color:var(--ink-2);font-size:1rem;line-height:1.5;margin-bottom:14px}
.way > .wp-block-buttons{margin-top:auto}
.way .wp-block-button,.way .wp-block-button__link,.fbcard .wp-block-button,.fbcard .wp-block-button__link{width:100%}
.lines{margin-top:22px;border-top:1px solid var(--rule)}
.lines > p{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:14px 0;border-bottom:1px solid var(--rule)}
@media(max-width:600px){.lines > p{grid-template-columns:1fr}}
.lines b{font-size:1.25rem}
.lines span{color:var(--ink-2)}

/* forms (plain HTML blocks, posted to the site's message endpoint) */
.formwrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:40px;align-items:start}
@media(max-width:860px){.formwrap{grid-template-columns:1fr;gap:20px}}
.formwrap .copy p{color:var(--ink-2)}
form.bl-form{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:22px;margin:0}
.bl-form fieldset{border:0;margin:0;padding:0}
.bl-form legend{font-weight:700;margin-bottom:6px;padding:0}
/* Call, Text, Email: small standard checkboxes, any combination (Boris, 2026-10-31) */
.bl-form .choice{display:flex;gap:4px 30px;flex-wrap:wrap}
.bl-form .choice label{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0;border:0;font-weight:600;margin:0;cursor:pointer}
.bl-form .choice input[type="checkbox"]{width:22px;height:22px;min-height:0;padding:0;margin:0;border:0;accent-color:var(--green);cursor:pointer}
.bl-form label{display:block;font-weight:700;margin:14px 0 6px}
.bl-form label .opt{font-weight:400;color:var(--ink-2)}
.bl-form input,.bl-form select,.bl-form textarea{width:100%;font:inherit;font-size:1.08rem;padding:12px 14px;min-height:52px;border:2px solid #9aa79a;border-radius:8px;background:#fff;color:var(--ink);margin:0}
.bl-form textarea{min-height:120px;resize:vertical}
.bl-form input:focus,.bl-form select:focus,.bl-form textarea:focus{outline:3px solid var(--sage);border-color:var(--green)}
.bl-form .btn{width:100%;margin-top:20px}
.bl-form .btn[disabled]{opacity:.7;cursor:wait}
.bl-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.bl-form .status{margin-top:14px;font-weight:700;line-height:1.5}
.bl-form .status.ok{color:var(--green-text)}
.bl-form .status.err{color:#9b1c1c}
.bl-form .small{font-size:.98rem;color:var(--ink-2);margin-top:12px;line-height:1.5}

/* about */
.bio{display:grid;grid-template-columns:340px minmax(0,1fr);gap:56px;align-items:start}
@media(max-width:900px){.bio{grid-template-columns:1fr;gap:28px}}
.photo{background:#fff;border:1px solid var(--rule);border-radius:10px;padding:10px 10px 14px;max-width:340px}
.photo img{border-radius:6px;width:100%}
.photo figcaption{padding:12px 4px 0;margin:0;font-size:1rem;color:var(--ink-2);line-height:1.45;text-align:left}
.photo figcaption b{color:var(--green-name);font-family:var(--serif);font-weight:400;font-size:1.5rem;display:block}
.photo figcaption i{font-family:var(--serif);color:var(--ink)}
.sail{display:grid;grid-template-columns:96px minmax(0,1fr);gap:24px;align-items:center;margin-top:30px;padding-top:26px;border-top:1px solid var(--rule)}
.sail figure,.sail img{width:96px;height:96px}

/* stock photos */
.pic{margin-top:22px;border-radius:12px;overflow:hidden;border:1px solid var(--rule);background:#fff}
.pic img{width:100%;aspect-ratio:4/3;object-fit:cover}
@media(max-width:900px){.pic{max-width:420px;margin-top:16px}}
.headpic{border-radius:14px;overflow:hidden;border:1px solid var(--rule);background:#fff;align-self:center}
.headpic img{width:100%;aspect-ratio:3/2;object-fit:cover}
@media(max-width:900px){.headpic{display:none}}

/* a card that is one big link: the heading's link stretches over the whole card */
.linkcard{position:relative}
.linkcard h2 a,.linkcard h3 a{text-decoration:none;color:inherit}
.linkcard h2 a::after,.linkcard h3 a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.linkcard:hover h2,.linkcard:hover h3{text-decoration:underline}

/* ------------------------------------------------------------------ library */
.lib-sec{padding-block:28px}
.lib-sec header{display:flex;justify-content:space-between;align-items:end;gap:8px 24px;flex-wrap:wrap;margin-bottom:14px}
.lib-sec header h2{font-size:1.6rem}
.lib-sec header .label{margin-bottom:2px}
.lib-sec header p:not(.label){color:var(--ink-2);max-width:70ch;margin-top:2px;font-size:1rem;line-height:1.5}
.cards .wp-block-post-template{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;margin:0;padding:0}
@media(max-width:1100px){.cards .wp-block-post-template{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.cards .wp-block-post-template{grid-template-columns:1fr 1fr}}
.cards .wp-block-post{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:12px;overflow:hidden;color:var(--ink);transition:border-color .15s;margin:0}
.cards .wp-block-post:hover{border-color:var(--sage)}
.cards .wp-block-post:hover .wp-block-post-title{text-decoration:underline}
.cards .wp-block-post-featured-image{margin:0}
.cards .wp-block-post-featured-image img{width:100%;aspect-ratio:3/2;object-fit:cover;border-bottom:1px solid var(--rule)}
/* the featured image block writes style="object-fit:cover" on the img, so this one needs !important */
.cards .tag-whole-picture .wp-block-post-featured-image img{object-fit:contain !important;background:#fff;padding:6px}
.cards .b{padding:12px 14px 16px}
.cards .kind,.cards .kind a{font-size:.92rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green-text);text-decoration:none;position:relative;z-index:1}
.cards .wp-block-post-title{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:1.25rem;line-height:1.2;margin:2px 0 4px}
.cards .wp-block-post-title a{color:inherit;text-decoration:none}
.cards .wp-block-post-title a::after{content:"";position:absolute;inset:0}
.cards .wp-block-post-title a:focus-visible{outline:none}
.cards .wp-block-post:focus-within{outline:3px solid var(--navy);outline-offset:2px}
.cards .wp-block-post-excerpt,.cards .wp-block-post-excerpt__excerpt{font-size:.98rem;line-height:1.45;color:var(--ink-2);margin:0}
.cards .wp-block-post-excerpt__more-text{display:none}
.cards .tag-sample::before{content:"Sample";position:absolute;top:12px;left:12px;z-index:2;background:#fff6d6;color:#5a4500;border:1px solid #eadfb4;border-radius:999px;padding:2px 12px;font-size:.9rem;font-weight:700}
.cards .wp-block-query-no-results p{color:var(--ink-2)}
@media(max-width:600px){
  .cards .wp-block-post-template{grid-template-columns:1fr;gap:12px}
  .cards .wp-block-post{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:stretch}
  .cards .wp-block-post-featured-image{position:relative;min-height:112px;border-right:1px solid var(--rule)}
  .cards .wp-block-post-featured-image img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-bottom:0}
  .cards .b{padding:10px 12px 12px}
  .cards .wp-block-post-title{font-size:1.15rem}
  .cards .tag-sample::before{top:6px;left:6px;padding:0 8px;font-size:.8rem}
}
/* Published and updated dates (2026-11-01): under the title on every Library item's page, and
   on the Earlier What's Hot Now cards. "Updated" only appears after a later edit. */
.dates{display:flex;flex-wrap:wrap;gap:2px 22px;font-size:1rem;color:var(--ink-2)}
.dates .wp-block-post-date{margin:0}
.dates .upd{color:var(--navy);font-weight:700}
.phead .dates{margin-top:2px}
.cards .wp-block-post-date{font-size:.92rem;color:var(--ink-2);margin:0 0 4px}
.libitem{max-width:760px}
.libitem .copy{margin-top:22px}
.libitem figure{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:12px;max-width:640px}
.libitem figure img{border-radius:6px}
.libitem figcaption{font-size:1rem;color:var(--ink-2);padding:10px 4px 0;margin:0;line-height:1.5;text-align:left}
.libitem .row{margin-top:24px}
.crumbs-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:0;font-size:.98rem;color:var(--ink-2);margin-bottom:18px}
.crumbs-row .crumbs{margin:0}
.crumbs-row .wp-block-post-terms a{color:var(--ink-2)}

/* ------------------------------------------------------------------ resources */
.rlist{border-top:1px solid var(--rule)}
.rlist > .linkcard{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 24px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--rule);color:var(--ink)}
.rlist h2{font-size:1.3rem}
.rlist p{color:var(--ink-2);margin-top:0;font-size:1rem;line-height:1.5}
.rlist .where{font-size:.95rem;font-weight:700;color:var(--green-text);white-space:nowrap}
@media(max-width:700px){.rlist > .linkcard{grid-template-columns:1fr}.rlist .where{white-space:normal}}
.faq{max-width:72ch;border-top:1px solid var(--rule)}
.faq > div{padding:20px 0;border-bottom:1px solid var(--rule)}
.faq h2{font-size:1.35rem;line-height:1.3;margin-bottom:6px}
.faq p{color:var(--ink-2)}
.vids{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:800px){.vids{grid-template-columns:1fr}}
.vids figure{background:#fff;border:1px solid var(--rule);border-radius:12px;padding:12px;margin:0}
.vids iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:6px}
.vids figcaption{padding:12px 4px 2px;font-family:var(--serif);font-size:1.2rem;line-height:1.3;color:var(--navy)}
.links-list{list-style:none;max-width:72ch;border-top:1px solid var(--rule)}
.links-list li{padding:18px 0;border-bottom:1px solid var(--rule)}
.links-list a{font-weight:700;font-size:1.15rem}
.links-list span{display:block;color:var(--ink-2);font-size:1rem;margin-top:2px}
table.compare{width:100%;max-width:820px;border-collapse:collapse;background:#fff;border:1px solid var(--rule);margin:18px 0 8px;font-size:1.02rem;line-height:1.45}
table.compare th,table.compare td{padding:12px 14px;border-bottom:1px solid var(--rule);text-align:left;vertical-align:top}
table.compare thead th{background:var(--mint);font-family:var(--serif);font-weight:400;font-size:1.15rem;color:var(--navy)}
table.compare thead td{background:var(--mint)}
table.compare tbody th{color:var(--navy);width:24%}
@media(max-width:600px){table.compare{font-size:.95rem}table.compare th,table.compare td{padding:10px 8px}}

/* ------------------------------------------------------------------ reviews, feedback */
.reviews{background:#fff;border-top:1px solid var(--rule);padding-block:40px}
.reviews > .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px 40px;flex-wrap:wrap}
.reviews h2{font-size:clamp(1.5rem,2.6vw,1.9rem)}
.reviews p:not(.label){color:var(--ink-2);max-width:58ch;margin-top:6px}
@media(max-width:600px){.reviews .row .wp-block-button,.reviews .row .wp-block-button__link{width:100%}}
.fbcards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;align-items:start}
@media(max-width:860px){.fbcards{grid-template-columns:1fr}}
.fbcards.one{grid-template-columns:minmax(0,680px)}
.fbcard{background:#fff;border:1px solid var(--rule);border-top:5px solid var(--green);border-radius:12px;padding:24px 22px}
.fbcard + .fbcard{border-top-color:var(--navy)}
.fbcard h2{font-size:1.6rem;margin-bottom:8px}
.fbcard p{color:var(--ink-2);margin-bottom:12px}
.fbcard form.bl-form{border:0;padding:0;margin-top:6px}

/* ------------------------------------------------------------------ footer */
.site-footer{background:var(--navy-dark);color:#d5e0ea;padding-block:44px 34px;font-size:1rem}
.site-footer .top{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;align-items:center;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.18)}
.site-footer .lk{display:flex;gap:16px;align-items:center}
.site-footer .lk figure,.site-footer .lk img{width:60px;height:60px}
.site-footer .lk .n{font-family:var(--serif);font-size:1.8rem;color:#fff;line-height:1}
.site-footer .lk .t{font-family:var(--serif);font-style:italic;color:#fff}
.site-footer .lk p{color:#fff}
.site-footer a.ph{display:inline-block;font-weight:800;font-size:1.45rem;color:#fff;text-decoration:none}
.site-footer a.em{color:#fff;text-underline-offset:4px;word-break:break-word}
/* His Insurance Q&A group on Facebook (Boris, 2026-10-31) */
.site-footer a.fbg{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#fff;font-weight:700;text-underline-offset:4px}
.site-footer a.fbg::before,.more2 .fbg .label::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:#1877f2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M13.5 21v-7.2h2.4l.4-2.8h-2.8V9.2c0-.8.2-1.4 1.4-1.4h1.5V5.3c-.3 0-1.1-.1-2.2-.1-2.2 0-3.6 1.3-3.6 3.7V11H8.2v2.8h2.4V21z'/%3E%3C/svg%3E") center/16px 16px no-repeat}
.site-footer .links{display:flex;flex-wrap:wrap;gap:0 6px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.site-footer .links a{color:#fff;display:flex;align-items:center;min-height:44px;padding:0 8px;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:4px}
.site-footer .links a:hover{text-decoration-color:#fff}
.site-footer .legal{padding-top:22px;line-height:1.65;color:#c3d0dc}
.site-footer .legal p{margin-bottom:10px;max-width:110ch}

/* Call / Text / Email on a computer: the note the site script adds under the button */
.devnote{font-size:1rem;line-height:1.5;color:#3d3200;background:#fff6d6;border:1px solid #eadfb4;border-radius:8px;padding:10px 14px;margin-top:12px;max-width:44ch;text-align:left;font-weight:400}
.mast .devnote{margin-left:auto}
.devnote-text{font-size:1.05rem;max-width:48ch}
.devnote .num{font-size:1.2rem}
.devnote a{display:inline-block;margin-top:4px;font-size:.95rem;color:var(--navy)}

/* ------------------------------------------------------------------ home page */
.prices{background:var(--mint);padding-block:22px 30px;border-bottom:1px solid var(--rule)}
.prices .top{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px);gap:14px 40px;align-items:center;margin-bottom:18px}
@media(max-width:860px){.prices .top{grid-template-columns:1fr}}
/* Boris's headline is the big display text. The homepage H1 is "Medicare and Health Insurance
   Broker" under his name in the header (2026-10-31). */
.prices .display{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:clamp(1.9rem,3.6vw,2.6rem);line-height:1.1;margin-bottom:6px}
.prices .lede{color:var(--ink-2);max-width:62ch}
.prices .help{margin-top:16px;color:var(--ink);font-weight:700}
/* Seasonal note (Boris, 2026-10-20): a small box he edits on the Home page for the season, a
   slogan or a holiday greeting. Deleting its text hides the box. */
.season{background:#fff;border:1px solid var(--sage);border-left:6px solid var(--green);border-radius:12px;padding:10px 16px 12px}
.season .label{font-size:.85rem;margin-bottom:2px}
.season p:not(.label){font-size:1.02rem;line-height:1.5;color:var(--ink)}
.season:not(:has(p:not(.label):not(:empty))){display:none}
.prices .help a{font-weight:700}
/* Welcome note (Boris's own wording, 2026-10-20): under the price buttons, before the contact
   section. Plain text on the section's background, not a banner. "Let's talk" opens Contact. */
.welcome{margin-top:24px;padding-top:20px;border-top:1px solid var(--mint-3)}
.welcome > *{max-width:76ch}
.welcome > * + *{margin-top:10px}
.welcome p{line-height:1.6;color:var(--ink)}
.welcome .talk{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:16px}
.welcome .talk p{font-weight:700;color:var(--navy)}
@media(max-width:600px){.welcome{margin-top:20px;padding-top:16px}}
/* Boris's original arrangement (2026-10-20): the groups side by side, so every choice shows at
   once on a computer. Dental and Vision sits under Life and Long-Term Care. Two columns on a
   tablet, one on a phone. A new group needs a place in these areas. */
.qgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 1fr;grid-template-areas:"med health life misc" "med health dental misc";gap:16px}
#q-medicare{grid-area:med}#q-health{grid-area:health}#q-life{grid-area:life}#q-dental{grid-area:dental}#q-misc{grid-area:misc}
@media(max-width:1179px){.qgrid{grid-template-columns:1fr 1fr;grid-template-rows:auto;grid-template-areas:"med health" "life health" "dental misc"}}
@media(max-width:700px){.qgrid{grid-template-columns:1fr;grid-template-areas:none;gap:14px}#q-medicare,#q-health,#q-life,#q-dental,#q-misc{grid-area:auto}}
.qg{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:16px 16px 18px;box-shadow:0 1px 0 rgba(16,32,46,.04)}
.qg .hd{display:flex;align-items:center;gap:10px;margin-bottom:2px}
.qg .hd::before{content:"";width:34px;height:34px;border-radius:50%;flex:none;background:var(--mint-2) var(--ic) center/19px 19px no-repeat}
.qg h3{font-family:var(--serif);font-weight:400;font-size:1.35rem;color:var(--navy);line-height:1.15}
.qg .for{font-size:.95rem;color:var(--ink-2);line-height:1.35}
.ic-heart{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7a3f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 11c0 5.6-7 10-7 10z'/%3E%3C/svg%3E")}
.ic-cross{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7a3f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6v6h6v6h-6v6H9v-6H3V9h6z'/%3E%3C/svg%3E")}
.ic-house{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7a3f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11l9-7 9 7'/%3E%3Cpath d='M5 10v10h14V10'/%3E%3Cpath d='M10 20v-6h4v6'/%3E%3C/svg%3E")}
.ic-tooth{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7a3f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.5 3.5C5.3 3.5 4 5.2 4 7.6c0 2.8 1.4 4.6 1.9 7.3.5 2.7 1 5.6 2.3 5.6 1.5 0 1.6-3.6 2.6-5.4.5-.9 1.9-.9 2.4 0 1 1.8 1.1 5.4 2.6 5.4 1.3 0 1.8-2.9 2.3-5.6.5-2.7 1.9-4.5 1.9-7.3 0-2.4-1.3-4.1-3.5-4.1-1.9 0-2.9 1-4.5 1s-2.6-1-4.5-1z'/%3E%3C/svg%3E")}
.ic-globe{--ic:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232f7a3f' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E")}
.home h2{font-size:clamp(1.8rem,3.2vw,2.4rem);line-height:1.15}
.reach{padding-block:40px}
.reach .top{margin-bottom:26px}
.reach .top p:not(.label){color:var(--ink-2);max-width:60ch;margin-top:8px}
.reach .other{margin-top:18px;color:var(--ink-2)}
.fb{margin-top:34px;display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:start;background:var(--mint);border:1px solid var(--rule);border-radius:14px;padding:30px}
@media(max-width:860px){.fb{grid-template-columns:1fr;padding:22px}}
.fb h3{font-family:var(--serif);font-weight:400;font-size:1.7rem;color:var(--navy);line-height:1.2;margin-bottom:8px}
.fb .intro p{color:var(--ink-2);margin-bottom:10px}
.bl-form textarea[rows]{min-height:160px}
.bl-form fieldset:not(:first-child){margin-top:18px}
.more2{background:#fff;border-block:1px solid var(--rule);padding-block:48px}
.more2 .pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:760px){.more2 .pair{grid-template-columns:1fr}}
.more2 .linkcard{display:block;background:var(--mint);border:1px solid var(--rule);border-left:6px solid var(--sage);border-radius:12px;padding:22px 24px;color:var(--ink)}
/* What's Hot Now and his Facebook group join Resources and the Library (2026-10-31) */
.more2 .pair.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
@media(max-width:1100px){.more2 .pair.four{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.more2 .pair.four{grid-template-columns:1fr}}
.more2 .linkcard.hot{background:var(--sky);border-color:var(--sky-rule);border-left-color:var(--red)}
.more2 .linkcard.hot .label{color:var(--red-text);display:flex;align-items:center;gap:8px}
.more2 .linkcard.hot .label::before{content:"";flex:none;width:24px;height:24px;background:url(assets/sailboat-mark-red.png) center/contain no-repeat}
.more2 .linkcard.fbg{background:#fff;border-left-color:#1877f2}
.more2 .fbg .label{display:flex;align-items:center;gap:8px;color:var(--navy)}
.home .more2 h2{font-size:clamp(1.5rem,2.6vw,1.9rem)}
.more2 p:not(.label){color:var(--ink-2);margin-top:4px}
.about{padding-block:60px}
.about > .wrap{display:grid;grid-template-columns:260px 1fr;gap:56px;align-items:start}
@media(max-width:860px){.about > .wrap{grid-template-columns:1fr;gap:28px}}
.about .photo{max-width:260px}
.about .photo figcaption{padding:10px 4px 0;font-size:.98rem;line-height:1.4}
.about .photo figcaption b{color:var(--ink);font-size:1.15rem;display:inline}
.about p{max-width:62ch;margin-bottom:14px}
.about .label{margin-bottom:8px}
.how{margin-top:30px;padding-top:26px;border-top:1px solid var(--rule)}
.how h3{font-family:var(--serif);font-weight:400;font-size:1.6rem;color:var(--navy);margin-bottom:10px}
.how ul{list-style:none}
.how li{padding:10px 0 10px 30px;border-bottom:1px solid var(--rule);position:relative}
.how li::before{content:"";position:absolute;left:4px;top:20px;width:12px;height:12px;border-radius:50%;background:var(--sage)}

/* ------------------------------------------------------------------ what's hot now
   Boris, 2026-10-31: a light blue page with his sailboat in red as the accent. The article is
   the newest Library item in the What's Hot Now category, with its dates. */
.hotpage{background:var(--sky)}
.hotpage .phead.hothead{background:var(--sky-2);border-bottom-color:var(--sky-rule)}
.hothead .grid > div{position:relative;padding-left:108px;min-height:92px;display:flex;flex-direction:column;justify-content:center}
.hothead .grid > div::before{content:"";position:absolute;left:0;top:50%;width:88px;height:88px;margin-top:-44px;background:url(assets/sailboat-mark-red.png) center/contain no-repeat}
.hothead h1.display{margin-bottom:6px}
.hothead .lede a{font-weight:700}
@media(max-width:600px){.hothead .grid > div{padding-left:74px;min-height:62px}.hothead .grid > div::before{width:58px;height:58px;margin-top:-29px}}
.hotsec{padding-top:32px}
.hotq .wp-block-post-template{list-style:none;margin:0;padding:0}
.hotq .wp-block-post{margin:0}
.hotpost{background:#fff;border:1px solid var(--sky-rule);border-top:5px solid var(--red);border-radius:14px;padding:28px 32px 32px;max-width:880px}
@media(max-width:600px){.hotpost{padding:20px 16px 24px}}
.hotpost .wp-block-post-title{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:clamp(1.7rem,3.2vw,2.3rem);line-height:1.15}
.hotpost .dates{margin:10px 0 20px;padding-bottom:14px;border-bottom:1px solid var(--rule)}
.hotpost .dates .upd{color:var(--red-text)}
.hotpost .wp-block-post-content > * + *{margin-top:16px}
.hotpost .wp-block-post-content p{max-width:68ch}
.hotpost .wp-block-post-content .demo{margin-top:0}
.hotpost .libitem{max-width:none}
.hotpost .libitem figure{max-width:680px}
.hotq .wp-block-query-no-results p{background:#fff;border:1px solid var(--sky-rule);border-radius:12px;padding:22px 24px;max-width:70ch}
.hotpage .endband{background:var(--sky-2);border-top-color:var(--sky-rule)}
.hotpage .cta{border-left-color:var(--red)}

/* 404 */
.notfound{padding-block:72px}
.notfound h1{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:clamp(2rem,4.2vw,2.8rem);line-height:1.12;margin-bottom:14px}
.notfound p{color:var(--ink-2);max-width:60ch}
