/* Hendrickson Insurance — Quote Applications
   PART A: site chrome (lifted verbatim from index.html so /apply matches the site)
   PART B: form components, themed to the parchment brand.
   forms.js keys off the PART B class names — do not rename them. */

/* ============================================================
   PART A — SITE CHROME (parchment brand)
   ============================================================ */
:root{--ink:#0a0a0a;--paper:#f5f1eb;--warm:#e8e0d4;--gold:#b8952a;--gold-lt:#d4ac3a;--navy:#1C3058;--muted:#6b6258;--rule:#d0c8bc;--ok:#1f7a4d;--err:#b3261e;}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{background:var(--paper);color:var(--ink);font-family:'Cormorant Garamond',Georgia,serif;font-size:18px;line-height:1.6;overflow-x:hidden;}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");pointer-events:none;z-index:999;}

header{border-bottom:1px solid var(--rule);padding:0 4vw;display:flex;align-items:center;justify-content:space-between;height:72px;position:sticky;top:0;background:var(--paper);z-index:200;}
.wordmark{display:flex;align-items:center;gap:14px;text-decoration:none;}
.wordmark-logo{width:38px;height:38px;border-radius:6px;object-fit:cover;}
.wordmark-text{font-family:'Great Vibes',cursive;font-size:1.55rem;color:var(--navy);line-height:1;}

.primary-nav{display:flex;gap:0.2rem;align-items:center;}
.nav-item{position:relative;}
.nav-link{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color 0.2s;padding:0.5rem 0.75rem;display:inline-flex;align-items:center;gap:0.3rem;background:none;border:none;cursor:pointer;font-weight:400;white-space:nowrap;}
.nav-link:hover,.nav-link.active{color:var(--ink);}
.nav-link .caret{font-size:0.5rem;line-height:1;transition:transform 0.2s;}
.nav-item:hover .caret,.nav-item.open .caret{transform:rotate(180deg);}

.dropdown{position:absolute;top:100%;left:0;background:var(--paper);border:1px solid var(--rule);min-width:240px;padding:0.6rem 0;margin-top:0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity 0.2s, transform 0.2s, visibility 0.2s;box-shadow:0 8px 24px rgba(28,48,88,0.08);z-index:201;}
.nav-item:hover .dropdown,.nav-item.open .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translateY(0);}
.dropdown a{display:block;padding:0.65rem 1.3rem;font-family:'Cormorant Garamond',serif;font-size:0.98rem;color:var(--ink);text-decoration:none;transition:background 0.15s, color 0.15s;}
.dropdown a:hover{background:var(--warm);color:var(--gold);}
.dropdown a.active{color:var(--gold);font-weight:500;}

.nav-cta{background:var(--ink);color:var(--paper)!important;padding:0.55rem 1rem;letter-spacing:0.08em;transition:background 0.2s!important;margin-left:0.4rem;}
.nav-cta:hover{background:var(--gold)!important;color:var(--ink)!important;}
.nav-cta.gold{background:var(--gold);color:var(--ink)!important;}
.nav-cta.gold:hover{background:var(--gold-lt)!important;}

.hamburger{display:none;background:none;border:none;cursor:pointer;padding:0.5rem;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;}
.hamburger span{display:block;width:24px;height:2px;background:var(--ink);transition:transform 0.25s, opacity 0.2s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.mobile-drawer{position:fixed;top:72px;right:0;width:100%;max-width:380px;height:calc(100vh - 72px);background:var(--paper);border-left:1px solid var(--rule);transform:translateX(100%);transition:transform 0.3s ease;z-index:199;overflow-y:auto;padding:1.5rem 0;}
.mobile-drawer.open{transform:translateX(0);}
.mobile-drawer-overlay{position:fixed;top:72px;left:0;right:0;bottom:0;background:rgba(10,10,10,0.4);opacity:0;visibility:hidden;transition:opacity 0.3s, visibility 0.3s;z-index:198;}
.mobile-drawer-overlay.open{opacity:1;visibility:visible;}
.mobile-section{border-bottom:1px solid var(--rule);}
.mobile-section-header{font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);padding:1rem 1.5rem 0.5rem;display:flex;justify-content:space-between;align-items:center;background:none;border:none;width:100%;text-align:left;cursor:pointer;}
.mobile-section-header .caret{font-size:0.6rem;transition:transform 0.2s;}
.mobile-section.open .mobile-section-header .caret{transform:rotate(180deg);}
.mobile-section-items{max-height:0;overflow:hidden;transition:max-height 0.3s ease;}
.mobile-section.open .mobile-section-items{max-height:900px;}
.mobile-section-items a{display:block;padding:0.85rem 2rem;font-family:'Cormorant Garamond',serif;font-size:1.05rem;color:var(--ink);text-decoration:none;border-top:1px solid rgba(208,200,188,0.4);}
.mobile-section-items a:hover,.mobile-section-items a.active{background:var(--warm);color:var(--gold);}
.mobile-flat{padding:1rem 1.5rem;border-bottom:1px solid var(--rule);font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;display:block;}
.mobile-flat:hover,.mobile-flat.active{background:var(--warm);color:var(--ink);}
.mobile-cta{margin:1.5rem 1.5rem 0;padding:1rem;background:var(--ink);color:var(--paper)!important;text-decoration:none;font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.14em;text-transform:uppercase;text-align:center;display:block;transition:background 0.2s;}
.mobile-cta:hover{background:var(--gold)!important;color:var(--ink)!important;}
.mobile-cta.gold{background:var(--gold);color:var(--ink)!important;}

footer{padding:4rem 5vw 2rem;background:var(--paper);border-top:1px solid var(--rule);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:3rem;}
.footer-brand .footer-wordmark{font-family:'Great Vibes',cursive;font-size:1.8rem;color:var(--navy);text-decoration:none;display:block;margin-bottom:0.8rem;}
.footer-nap{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;color:var(--muted);line-height:2;}
.footer-nap strong{color:var(--ink);display:block;margin-bottom:0.3rem;font-weight:500;}
.footer-nap a{color:var(--muted);text-decoration:none;}
.footer-nap a:hover{color:var(--gold);}
.footer-col-header{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:block;}
.footer-col ul{list-style:none;padding:0;margin:0;}
.footer-col li{margin-bottom:0.55rem;}
.footer-col a{font-family:'Cormorant Garamond',serif;font-size:0.92rem;color:var(--ink);text-decoration:none;transition:color 0.2s;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid var(--rule);padding-top:1.5rem;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;color:var(--muted);line-height:1.8;text-align:center;}

@media(max-width:1100px){
  .primary-nav{display:none;}
  .hamburger{display:flex;}
  .footer-grid{grid-template-columns:1fr 1fr 1fr;gap:2rem;}
}
@media(max-width:900px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr;}
}

/* ============================================================
   PART B — FORM COMPONENTS (parchment brand)
   ============================================================ */
.wrap{max-width:820px;margin:0 auto;padding:3vw 5vw 6vw;}

.apply-hero{padding:5vw 0 2.5rem;border-bottom:1px solid var(--rule);margin-bottom:2.5rem;}
.eyebrow{font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;display:block;}
.apply-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-0.01em;margin-bottom:1.2rem;}
.apply-title em{font-style:italic;color:var(--gold);}
.intro{font-size:1.08rem;font-weight:300;color:var(--muted);line-height:1.8;}

/* Section bar — mirrors the site's navy section labels */
.section{margin-bottom:1.8rem;border:1px solid var(--rule);background:var(--paper);}
.section > h2{background:var(--navy);color:var(--paper);font-family:'DM Mono',monospace;font-size:0.7rem;font-weight:400;text-transform:uppercase;letter-spacing:0.16em;margin:0;padding:0.9rem 1.2rem;}
.section .body{padding:1.5rem 1.3rem;}

/* Field */
.field{margin:0 0 1.1rem;}
.field:last-child{margin-bottom:0;}
.field > label,.grp > legend{display:block;font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:0.5rem;font-weight:400;}
.req{color:var(--err);margin-left:2px;}
.field input[type=text],.field input[type=email],.field input[type=tel],
.field input[type=number],.field input[type=date],.field textarea,.field select{
  width:100%;min-height:46px;padding:0.6rem 0.8rem;font-family:'Cormorant Garamond',Georgia,serif;font-size:1.05rem;color:var(--ink);
  border:1px solid var(--rule);border-radius:0;background:#fffdf9;transition:border-color 0.15s, box-shadow 0.15s;}
.field textarea{min-height:88px;resize:vertical;line-height:1.5;}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(28,48,88,0.12);}
.field .help{font-size:0.85rem;color:var(--muted);margin-top:0.35rem;font-style:italic;}
.money{position:relative;}
.money::before{content:"$";position:absolute;left:0.65rem;top:calc(50% + 0.35rem);transform:translateY(-50%);color:var(--muted);font-family:'DM Mono',monospace;font-size:0.9rem;}
.money input{padding-left:1.5rem;}

/* Rows */
.row{display:grid;gap:0.9rem;}
@media(min-width:620px){
  .row.c2{grid-template-columns:1fr 1fr;}
  .row.c3{grid-template-columns:1fr 1fr 1fr;}
  .row.c4{grid-template-columns:1fr 1fr 1fr 1fr;}
}

/* Radio / Yes-No pills */
.grp{border:0;margin:0 0 1.1rem;padding:0;}
.grp.inline .opts{display:flex;flex-wrap:wrap;gap:0.5rem;}
.opts{display:flex;flex-wrap:wrap;gap:0.5rem;}
.pill{position:relative;}
.pill input{position:absolute;opacity:0;width:0;height:0;}
.pill label{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0.5rem 1.1rem;border:1px solid var(--rule);background:#fffdf9;cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--ink);user-select:none;transition:background 0.15s, border-color 0.15s, color 0.15s;}
.pill input:checked + label{background:var(--navy);border-color:var(--navy);color:var(--paper);}
.pill input:focus-visible + label{box-shadow:0 0 0 3px rgba(28,48,88,0.25);}

/* Checkbox grid */
.checks{display:grid;gap:0.5rem;}
@media(min-width:520px){.checks.c2{grid-template-columns:1fr 1fr;}}
@media(min-width:680px){.checks.c3{grid-template-columns:1fr 1fr 1fr;}}
.chk{display:flex;align-items:flex-start;gap:0.6rem;padding:0.6rem 0.7rem;border:1px solid var(--rule);background:#fffdf9;cursor:pointer;font-family:'Cormorant Garamond',serif;font-size:0.98rem;line-height:1.35;transition:background 0.15s, border-color 0.15s;}
.chk input{width:18px;height:18px;margin-top:2px;accent-color:var(--navy);flex:0 0 auto;}
.chk.on{border-color:var(--navy);background:var(--warm);}

/* Caution note */
.note{background:#f6edd8;color:#7a5a12;border-left:3px solid var(--gold);padding:0.9rem 1.1rem;font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;line-height:1.55;margin:0 0 1.2rem;}

/* Buttons */
.actions{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center;}
.btn{font-family:'DM Mono',monospace;font-size:0.72rem;letter-spacing:0.14em;text-transform:uppercase;padding:0.9rem 2rem;cursor:pointer;text-decoration:none;display:inline-block;border:1px solid var(--ink);transition:background 0.25s, color 0.25s, border-color 0.25s;}
.btn.primary{background:var(--ink);color:var(--paper);}
.btn.primary:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);}
.btn.ghost{background:transparent;color:var(--ink);}
.btn.ghost:hover{background:var(--ink);color:var(--paper);}
.btn:disabled{opacity:0.6;cursor:default;}
@media(max-width:560px){.btn.primary{width:100%;text-align:center;}}

/* Validation */
.field.invalid input,.field.invalid textarea,.field.invalid select{border-color:var(--err);}
.grp.invalid legend{color:var(--err);}
.err-msg{color:var(--err);font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;margin-top:0.4rem;display:none;}
.field.invalid .err-msg,.grp.invalid .err-msg{display:block;}

/* Success / error panels */
.panel{display:none;background:#fffdf9;border:1px solid var(--rule);padding:2.5rem 2rem;text-align:center;margin-top:1rem;}
.panel.show{display:block;}
.panel .badge{width:56px;height:56px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:28px;color:var(--paper);margin-bottom:0.8rem;}
.panel.success .badge{background:var(--ok);}
.panel.error .badge{background:var(--err);}
.panel h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:1.8rem;color:var(--navy);margin:0.4rem 0 0.6rem;}
.panel p{color:var(--muted);font-size:1.05rem;font-weight:300;margin:0.3rem 0;}

/* Honeypot */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden;}

/* Conditional reveal */
[data-show-if]{display:none;}
[data-show-if].reveal{display:block;}

/* Coverage sign-off rows (coverages-personal / -commercial) */
.cov-group{margin-bottom:1.4rem;}
.cov-group-header{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);margin:1.4rem 0 0.7rem;display:block;}
.cov-row{display:grid;grid-template-columns:1fr auto;gap:0.8rem 1rem;align-items:center;padding:0.7rem 0;border-top:1px solid var(--rule);}
.cov-row:first-of-type{border-top:none;}
.cov-name{font-family:'Cormorant Garamond',serif;font-size:1.02rem;color:var(--ink);}
.cov-name small{display:block;font-size:0.82rem;color:var(--muted);font-style:italic;line-height:1.4;margin-top:0.15rem;}

/* Quote-hub cards (renamed from .card to avoid site chrome collision) */
.qcards{display:grid;gap:1rem;margin-top:0.5rem;}
@media(min-width:620px){.qcards{grid-template-columns:1fr 1fr;}}
.qcard{display:block;background:#fffdf9;border:1px solid var(--rule);padding:1.6rem 1.5rem;text-decoration:none;color:var(--ink);transition:border-color 0.15s, box-shadow 0.2s, transform 0.15s;}
.qcard:hover{border-color:var(--navy);box-shadow:0 6px 18px rgba(28,48,88,0.10);transform:translateY(-2px);}
.qcard .qcard-eyebrow{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:0.5rem;}
.qcard h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:1.35rem;color:var(--navy);margin:0 0 0.35rem;}
.qcard p{margin:0;color:var(--muted);font-size:0.98rem;font-weight:300;line-height:1.5;}
.qcard .go{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);margin-top:0.9rem;display:inline-block;}
.qgroup-label{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--gold);margin:2rem 0 0.2rem;display:block;}
