/* HighGrain component classes — lifted from highgrain-web index.html / thinking.html / contact.js, prefixed hg- */
/* type */
.hg-ey{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--fm);font-size:.67rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--green);margin-bottom:1.5rem}
.hg-ey::before{content:'';display:block;width:1.2rem;height:1px;background:var(--green);flex-shrink:0}
.hg-ey.on-dark{color:var(--green2)}.hg-ey.on-dark::before{background:var(--green2)}
.hg-ey.center{display:flex;justify-content:center}
.hg-h2{font-family:var(--fd);font-size:clamp(1.8rem,3vw,3.2rem);font-weight:900;letter-spacing:-.02em;line-height:1.05;color:var(--head);margin:0}
.hg-h2.on-dark{color:var(--on-dark)}
.hg-lede{font-size:1.02rem;color:var(--mid);line-height:1.88;margin:0}
.hg-hh1{font-family:var(--fd);font-size:clamp(2.6rem,5.5vw,6.2rem);font-weight:900;letter-spacing:-.025em;line-height:.97;color:var(--head);margin:0 0 1.75rem}
.hg-hh1 .acc{color:var(--green);font-style:italic}.hg-hh1 .lit{font-weight:400;color:var(--mid)}
sup.hg-r{font-size:.6em;color:var(--green);vertical-align:super;line-height:0;font-family:var(--fm);font-weight:400;margin-left:.05em}
/* links + buttons */
.hg-tlink{font-family:var(--fm);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);text-decoration:none;display:inline-flex;align-items:center;gap:.4rem;border-bottom:1px solid rgba(45,122,79,.3);padding-bottom:.15rem;transition:border-color .2s,color .2s;background:none;border-top:0;border-left:0;border-right:0;cursor:pointer}
.hg-tlink:hover{color:var(--head);border-color:var(--head)}
.hg-btn{font-family:var(--fd);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;border:none;border-radius:2px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;transition:background .2s,color .2s,border-color .2s,opacity .2s;line-height:1.2}
.hg-btn[disabled]{opacity:.6;cursor:default}
.hg-btn.solid{background:var(--btn-solid);padding:.875rem 2rem}.hg-btn.solid:hover{background:var(--green);color:#fff}
.hg-btn.accent{background:var(--green);padding:.9rem 2.1rem}.hg-btn.accent:hover{background:var(--green2);color:#fff}
.hg-btn.nav{background:var(--btn-solid);font-size:.78rem;padding:.6rem 1.3rem}.hg-btn.nav:hover{background:var(--green);color:#fff}
.hg-btn.text{background:none;padding:0;font-size:.85rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--mid);gap:.35rem}.hg-btn.text:hover{color:var(--head)}
.hg-btn.ghost{background:none;font-size:.85rem;font-weight:400;letter-spacing:0;text-transform:none;color:var(--on-dark-60);border:1px solid rgba(237,234,226,.15);padding:.9rem 1.75rem;gap:.4rem}.hg-btn.ghost:hover{color:var(--on-dark);border-color:rgba(237,234,226,.35)}
.hg-btn.block{display:flex;justify-content:center;width:100%}
.hg-btn .arr{transition:transform .2s}.hg-btn:hover .arr{transform:translateX(4px)}
.hg-btn .spin{width:.9rem;height:.9rem;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:hgcspin .8s linear infinite}
/* tag */
.hg-tag{font-family:var(--fm);font-size:.59rem;letter-spacing:.06em;color:var(--mid);border:1px solid var(--border);padding:.2rem .5rem;border-radius:2px;display:inline-block;line-height:1.5}
.hg-tag.filled{background:var(--paper2);padding:.25rem .55rem;letter-spacing:.05em}
.hg-tags{display:flex;flex-wrap:wrap;gap:.4rem}
/* icon tile */
.hg-ico{border:1px solid var(--border);display:flex;align-items:center;justify-content:center;border-radius:3px;flex-shrink:0;transition:border-color .2s;color:var(--green)}
.hg-ico svg{stroke:var(--green);fill:none}
.hg-ico.lg{width:2.6rem;height:2.6rem}.hg-ico.lg svg{width:1.2rem;height:1.2rem;stroke-width:1.75}
.hg-ico.md{width:2.4rem;height:2.4rem}.hg-ico.md svg{width:1.15rem;height:1.15rem;stroke-width:1.75}
.hg-ico.sm{width:1.8rem;height:1.8rem}.hg-ico.sm svg{width:.85rem;height:.85rem;stroke-width:2}
.hg-ico.xs{width:1.6rem;height:1.6rem;border-radius:2px}.hg-ico.xs svg{width:.8rem;height:.8rem;stroke-width:2}
/* logo */
.hg-logo{font-family:var(--fd);font-size:1.2rem;font-weight:700;color:var(--head);text-decoration:none;display:inline-flex;align-items:center;gap:.55rem;flex-shrink:0;line-height:1}
.hg-logo .logo-accent{color:var(--green)}
.hg-logo.on-dark{color:var(--on-dark);font-size:1.1rem;gap:.5rem}.hg-logo.on-dark .logo-accent{color:var(--green2)}
/* theme toggle */
.hg-theme{background:none;border:1px solid var(--border2);color:var(--mid);cursor:pointer;width:2.1rem;height:2.1rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:border-color .2s,color .2s;flex-shrink:0;padding:0}
.hg-theme:hover{border-color:var(--green);color:var(--green)}
.hg-theme svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* stat card */
.hg-sc{border:1px solid var(--border);background:var(--surface-card);padding:2.25rem;border-radius:4px;box-shadow:0 2px 24px rgba(26,25,22,.06);position:relative;overflow:hidden}
.hg-sc::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--green),var(--green2),transparent)}
.hg-clbl{font-family:var(--fm);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mid);margin:0 0 2rem}
.hg-sg{display:grid;grid-template-columns:1fr 1fr;gap:1.75rem;margin-bottom:2rem}
.hg-sv{font-family:var(--fd);font-size:2.8rem;font-weight:900;letter-spacing:-.03em;color:var(--head);line-height:1;margin-bottom:.3rem}
.hg-sv em{font-style:normal;color:var(--green)}
.hg-sl{font-size:.82rem;color:var(--mid);line-height:1.5}
.hg-cb{border-top:1px solid var(--border);padding-top:1.4rem;display:flex;align-items:center;gap:.75rem}
.hg-cp{width:7px;height:7px;background:var(--green);border-radius:50%;flex-shrink:0;animation:pipPulse 2.5s ease-in-out infinite}
.hg-ct{font-family:var(--fm);font-size:.62rem;letter-spacing:.08em;color:var(--mid);margin:0}
/* numbered rows */
.hg-rows{list-style:none;margin:0;padding:0}
.hg-ti{display:grid;grid-template-columns:2.5rem 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--on-dark-25)}
.hg-ti:first-child{border-top:1px solid var(--on-dark-25)}
.hg-tn{font-family:var(--fm);font-size:.6rem;letter-spacing:.1em;color:rgba(45,122,79,.5);padding-top:.3rem}
.hg-tc{font-size:1rem;color:var(--on-dark-60);line-height:1.82;margin:0}.hg-tc strong{font-weight:600;color:var(--on-dark)}
.hg-dr{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--border);transition:padding-left .2s}
.hg-dr:first-child{border-top:1px solid var(--border)}.hg-dr:hover{padding-left:.4rem}
.hg-dc{font-family:var(--fd);font-size:1.05rem;font-weight:700;color:var(--green);line-height:1;padding-top:.1rem}
.hg-dc sub{font-size:.55em;opacity:.5;vertical-align:sub;line-height:normal;display:inline}
.hg-dn{font-size:.87rem;font-weight:500;color:var(--head);margin:0 0 .28rem}
.hg-db{font-size:.86rem;color:var(--mid);line-height:1.65;margin:0}
.hg-di{padding:1.65rem 0;border-bottom:1px solid var(--border)}.hg-di:first-child{border-top:1px solid var(--border)}
.hg-dhd{display:flex;align-items:center;gap:.85rem;margin-bottom:.55rem}
.hg-dname{font-size:.87rem;font-weight:500;color:var(--head);margin:0}
.hg-dcopy{font-size:.9rem;color:var(--mid);line-height:1.78;padding-left:2.65rem;margin:0}
/* service columns */
.hg-srow{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));border:1px solid var(--border);border-radius:4px;overflow:hidden;background:var(--surface-card)}
.hg-scol{padding:2.5rem;border-right:1px solid var(--border);position:relative;transition:background .28s}
.hg-scol:last-child{border-right:none}.hg-scol:hover{background:var(--paper)}
.hg-scol::after{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.hg-scol:hover::after{transform:scaleX(1)}.hg-scol:hover .hg-ico{border-color:var(--green)}
.hg-scol .hg-ico{margin-bottom:1.75rem}
.hg-sn{font-family:var(--fm);font-size:.6rem;letter-spacing:.14em;color:var(--mid);margin:0 0 .6rem}
.hg-stit{font-family:var(--fd);font-size:1.3rem;font-weight:700;color:var(--head);margin:0 0 .9rem;line-height:1.15}
.hg-sd{font-size:.92rem;color:var(--mid);line-height:1.82;margin:0 0 1.5rem}.hg-sd strong{color:var(--head);font-weight:600}
/* engagement card */
.hg-ec{border:1px solid var(--border);background:var(--paper);padding:2.25rem;border-radius:4px;position:relative;transition:border-color .28s,transform .2s}
.hg-ec:hover{border-color:var(--border2);transform:translateY(-2px)}
.hg-ec.ft{border-color:var(--green);background:var(--surface-card)}
.hg-ec-badge{position:absolute;top:-1px;right:1.5rem;font-family:var(--fm);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;background:var(--green);color:#fff;padding:.25rem .6rem;border-radius:0 0 3px 3px}
.hg-ec .hg-ico{margin-bottom:1.75rem}
.hg-etype{font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);margin:0 0 .5rem}
.hg-etit{font-family:var(--fd);font-size:1.35rem;font-weight:700;color:var(--head);margin:0 0 .85rem;line-height:1.15}
.hg-edesc{font-size:.92rem;color:var(--mid);line-height:1.82;margin:0 0 1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}
.hg-dash{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin:0;padding:0}
.hg-dash li{font-size:.9rem;color:var(--body);display:flex;gap:.65rem;align-items:flex-start;line-height:1.5}
.hg-dash li::before{content:'—';color:var(--green);flex-shrink:0}
/* role / hire card */
.hg-rc{border:1px solid var(--border);padding:1.4rem;background:var(--paper);border-radius:3px;transition:border-color .2s,transform .2s}
.hg-rc:hover{border-color:var(--border2)}
.hg-rc.lift{padding:1.5rem;background:var(--surface-card)}.hg-rc.lift:hover{border-color:var(--green);transform:translateY(-2px)}
.hg-trole{font-family:var(--fm);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 .45rem}
.hg-tnam{font-size:.85rem;font-weight:500;color:var(--head);margin:0 0 .4rem;line-height:1.3}
.hg-rc.lift .hg-tnam{font-family:var(--fd);font-size:1rem;font-weight:700;line-height:1.2;margin-bottom:.5rem}
.hg-tbl{font-size:.85rem;color:var(--mid);line-height:1.65;margin:0}
/* wave step */
.hg-wc{padding:0 .75rem;position:relative;z-index:1}
.hg-wnode{width:3.2rem;height:3.2rem;border:1px solid var(--border);background:var(--surface-card);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;transition:border-color .2s,box-shadow .2s,background .2s}
.hg-wc:hover .hg-wnode{border-color:var(--green);box-shadow:0 0 0 4px var(--greenbg);background:var(--greenbg)}
.hg-wn{font-family:var(--fd);font-size:.95rem;font-weight:800;color:var(--green);letter-spacing:-.03em}
.hg-wlbl{font-family:var(--fm);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--green);text-align:center;margin:0 0 .5rem}
.hg-wtit{font-family:var(--fd);font-size:.88rem;font-weight:700;color:var(--head);text-align:center;margin:0 0 .55rem;line-height:1.25}
.hg-wdesc{font-size:.84rem;color:var(--mid);text-align:center;line-height:1.68;margin:0}
.hg-wg{display:grid;grid-template-columns:repeat(6,1fr);position:relative}
.hg-wg::before{content:'';position:absolute;top:1.6rem;left:calc(100%/12);right:calc(100%/12);height:1px;background:linear-gradient(90deg,transparent,var(--green) 25%,var(--green) 75%,transparent);opacity:.35}
/* tabs */
.hg-tabs{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden;flex-wrap:wrap}
.hg-tab{flex:1;min-width:80px;padding:.75rem .5rem;font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mid);background:var(--paper);border:none;border-right:1px solid var(--border);cursor:pointer;transition:background .2s,color .2s;text-align:center;line-height:1.4}
.hg-tab:last-child{border-right:none}.hg-tab:hover{background:var(--greenbg);color:var(--green)}
.hg-tab.active{background:var(--green);color:#fff;font-weight:700}
.hg-tab .sub{display:block;opacity:.7}
/* governance */
.hg-gstat{padding:1.25rem;border:1px solid var(--border);background:var(--paper);border-radius:3px}
.hg-gstat-val{font-family:var(--fd);font-size:2.2rem;font-weight:900;letter-spacing:-.03em;color:var(--head);line-height:1;margin-bottom:.3rem}
.hg-gstat-val em{font-style:normal;color:var(--green)}
.hg-gstat-lbl{font-size:.82rem;color:var(--mid);line-height:1.45}
.hg-gnote{font-family:var(--fm);font-size:.68rem;letter-spacing:.06em;color:var(--mid);padding-top:.75rem;border-top:1px solid var(--border);margin-top:.25rem}
.hg-forum{border:1px solid var(--border);border-radius:3px;overflow:hidden;background:var(--paper);transition:border-color .2s}
.hg-forum:hover{border-color:var(--green)}
.hg-forum.rec{border-color:var(--greenbg)}
.hg-forum-hd{display:flex;align-items:center;gap:.85rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);background:var(--paper2)}
.hg-forum.rec .hg-forum-hd{background:var(--greenbg)}
.hg-forum-name{font-family:var(--fd);font-size:.9rem;font-weight:700;color:var(--head)}
.hg-forum.rec .hg-forum-name{color:var(--green)}
.hg-forum-fn{font-family:var(--fm);font-size:.57rem;letter-spacing:.1em;text-transform:uppercase;color:var(--green);margin-left:auto;flex-shrink:0}
.hg-forum.rec .hg-forum-fn{color:var(--mid)}
.hg-forum-body{padding:.8rem 1.1rem}
.hg-forum-arts{font-family:var(--fm);font-size:.6rem;letter-spacing:.08em;color:var(--mid);margin-bottom:.4rem}
.hg-forum-desc{font-size:.87rem;color:var(--mid);line-height:1.65}
.hg-forum.rec .hg-forum-desc{color:var(--body)}
/* article card */
.hg-agrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}
.hg-ac{background:var(--paper);padding:1.5rem;transition:background .2s;cursor:pointer;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;height:100%;border:0;text-align:left;font:inherit}
.hg-ac:hover{background:var(--paper2)}
.hg-ac-num{font-family:var(--fm);font-size:.6rem;letter-spacing:.12em;color:var(--green);margin:0 0 .5rem}
.hg-ac-title{font-family:var(--fd);font-size:1rem;font-weight:700;color:var(--head);margin:0 0 .4rem;line-height:1.2}
.hg-ac-sub{font-size:.84rem;color:var(--mid);line-height:1.55;margin:0}
.hg-part{font-family:var(--fm);font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--green);margin:0 0 1rem;display:flex;align-items:center;gap:.8rem}
.hg-part::after{content:'';flex:1;height:1px;background:var(--border)}
/* callout / definition / quote */
.hg-callout{background:var(--greenbg);border:1px solid rgba(45,122,79,.2);border-left:3px solid var(--green);padding:1.25rem 1.5rem;margin:2rem 0;border-radius:0 3px 3px 0}
.hg-callout p{font-size:.95rem;color:var(--mid);line-height:1.72;margin:0}
.hg-callout strong{color:var(--green);font-weight:600}
.hg-def{border-left:3px solid var(--green);padding:.9rem 0 .9rem 1.25rem;margin:1rem 0}
.hg-def-term{font-family:var(--fd);font-size:.92rem;font-weight:700;color:var(--head);margin:0 0 .3rem;letter-spacing:-.01em}
.hg-def-body{font-size:.95rem;color:var(--body);line-height:1.72;margin:0}
/* prose */
.hg-prose{color:var(--body);font-size:1.05rem;line-height:1.82}
.hg-prose h2{font-family:var(--fd);font-size:1.55rem;font-weight:700;letter-spacing:-.02em;color:var(--head);margin:2.75rem 0 .9rem;line-height:1.15}
.hg-prose h3{font-family:var(--fd);font-size:1.12rem;font-weight:700;color:var(--head);margin:2rem 0 .7rem}
.hg-prose p{margin:0 0 1.4rem}
.hg-prose strong{font-weight:600;color:var(--head)}
.hg-prose blockquote{border-left:3px solid var(--green);padding:.25rem 0 .25rem 1.5rem;margin:2rem 0;font-size:1.1rem;color:var(--mid);line-height:1.7;font-style:italic}
/* nav */
.hg-nav{position:sticky;top:0;z-index:900;display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);height:var(--nav-h);border-bottom:1px solid transparent;transition:background .3s,border-color .3s;background:rgba(247,245,240,0.6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hg-nav.scrolled{background:rgba(247,245,240,.98);backdrop-filter:blur(16px);border-color:var(--border)}
html.dark .hg-nav{background:rgba(15,15,13,0.6)}html.dark .hg-nav.scrolled{background:rgba(15,15,13,.95)}
.hg-nl{list-style:none;display:flex;gap:1.5rem;align-items:center;margin:0;padding:0}
.hg-nl a{font-size:.82rem;font-weight:400;color:var(--mid);text-decoration:none;transition:color .2s;white-space:nowrap;cursor:pointer}
.hg-nl a:hover,.hg-nl a.active{color:var(--head)}
.hg-nl a.accent{color:var(--green);font-weight:600}
.hg-nav-right{display:flex;align-items:center;gap:.75rem}
.hg-ham{display:none;background:none;border:1px solid var(--border2);color:var(--mid);cursor:pointer;width:2.4rem;height:2.4rem;border-radius:4px;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.hg-ham span{display:block;width:16px;height:1.5px;background:currentColor;border-radius:2px}
@media(max-width:820px){.hg-nl{display:none}.hg-ham{display:flex}}
/* mobile bar */
.hg-mbar{display:flex;justify-content:space-around;background:var(--paper);border-top:1px solid var(--border)}
.hg-mbar-item{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;font-family:var(--fm);font-size:.56rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mid);transition:color .18s;padding:.6rem .25rem;flex:1;min-height:52px;justify-content:center;background:none;border:none;cursor:pointer}
.hg-mbar-item.active,.hg-mbar-item:hover{color:var(--green)}
.hg-mbar-item svg{width:1.25rem;height:1.25rem;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;margin-bottom:1px}
/* footer */
.hg-footer{background:var(--dark-bg);border-top:1px solid rgba(128,128,128,.15);padding:4rem 0 2.5rem}
.hg-ftop{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;padding-bottom:3rem;margin-bottom:2rem;border-bottom:1px solid var(--on-dark-25)}
@media(max-width:820px){.hg-ftop{grid-template-columns:1fr 1fr}}
.hg-ftag{font-size:.86rem;color:var(--on-dark-40);line-height:1.75;max-width:28ch;margin:.85rem 0 0}
.hg-fch{font-family:var(--fm);font-size:.59rem;letter-spacing:.16em;text-transform:uppercase;color:var(--on-dark-30);margin:0 0 1.1rem}
.hg-fli{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0}
.hg-fli a{font-size:.88rem;color:var(--on-dark-50);text-decoration:none;transition:color .2s;cursor:pointer}
.hg-fli a:hover{color:var(--on-dark)}
.hg-fbase{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.hg-fcopy{font-family:var(--fm);font-size:.61rem;letter-spacing:.07em;color:var(--on-dark-25);margin:0}
.hg-fmeth{font-family:var(--fm);font-size:.61rem;letter-spacing:.07em;color:rgba(45,122,79,.6);margin:0}
/* forms / dialog */
.hg-ov{position:fixed;inset:0;z-index:5000;background:rgba(15,15,13,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}
.hg-ov.inline{position:relative;inset:auto;z-index:auto}
.hg-dlg{position:relative;width:100%;max-width:560px;background:var(--surface-card);color:var(--body);border:1px solid var(--border);border-radius:4px;padding:2.25rem 2rem 2rem;box-shadow:0 30px 80px rgba(0,0,0,.35);font-family:var(--fb);margin:auto}
.hg-dlg h2{font-family:var(--fd);font-size:1.7rem;font-weight:900;letter-spacing:-.02em;line-height:1.1;color:var(--head);margin:0 0 .5rem}
.hg-dlg-sub{font-size:.95rem;color:var(--mid);margin:0 0 1.5rem;line-height:1.6}
.hg-dlg .hg-ey{margin-bottom:.9rem}
.hg-x{position:absolute;top:.9rem;right:.9rem;width:2.2rem;height:2.2rem;border:none;background:none;color:var(--mid);cursor:pointer;border-radius:2px;display:flex;align-items:center;justify-content:center}
.hg-x:hover{color:var(--head);background:var(--paper2)}
.hg-x svg{width:1.1rem;height:1.1rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.hg-frow{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:520px){.hg-frow{grid-template-columns:1fr}}
.hg-f{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}
.hg-f label{font-family:var(--fm);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--mid)}
.hg-f label .req{color:var(--green)}
.hg-f input,.hg-f select,.hg-f textarea{font-family:var(--fb);font-size:1rem;color:var(--head);background:var(--paper);border:1px solid var(--border2);border-radius:2px;padding:.7rem .85rem;outline:none;transition:border-color .2s,box-shadow .2s;width:100%;-webkit-appearance:none;appearance:none}
.hg-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27%235E5C56%27 stroke-width=%272%27%3E%3Cpolyline points=%276 9 12 15 18 9%27/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:1rem;padding-right:2.4rem}
.hg-f textarea{min-height:130px;resize:vertical;line-height:1.55}
.hg-f input:focus,.hg-f select:focus,.hg-f textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--greenbg)}
.hg-f.err input,.hg-f.err select,.hg-f.err textarea{border-color:#B4453A}
.hg-f .msg{font-size:.78rem;color:#B4453A}
.hg-dlg-foot{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:.5rem}
.hg-dlg-note{font-size:.78rem;color:var(--mid);line-height:1.5;max-width:300px;margin:0}
.hg-alert{border-radius:2px;padding:.8rem 1rem;font-size:.9rem;margin-bottom:1rem;line-height:1.5;background:rgba(180,69,58,.1);color:#B4453A;border:1px solid rgba(180,69,58,.3)}
.hg-done{text-align:center;padding:1.5rem 0 .5rem}
.hg-tick{width:3.2rem;height:3.2rem;border-radius:50%;background:var(--greenlight);display:flex;align-items:center;justify-content:center;margin:0 auto 1.2rem}
.hg-tick svg{width:1.5rem;height:1.5rem;stroke:var(--green);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.hg-done p{color:var(--mid);margin:.5rem 0 1.5rem;line-height:1.6}
/* surfaces */
.hg-grain{position:relative}
.hg-grain::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:1000;opacity:.022;background-image:var(--grain);background-size:200px 200px}
.hg-wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
