/* =====================================================================
   Protect Princeville: shared styles for every page
   The menu, the footer, headings and the brand colors all live here,
   so a change in this file shows up on the whole site.
   The colors come straight from the logo.
   ===================================================================== */

:root{
  --pp-ink:#1F4D3A;      /* deep forest: the logo's lettering and rings */
  --pp-ink-dk:#173A2C;
  --pp-forest:#2F5A45;   /* the front range */
  --pp-green:#3E7B5C;    /* "Protecting Princeville" accents */
  --pp-sage:#A9C1A6;     /* the far range */
  --pp-sea:#2D6468;      /* Hanalei Bay */
  --pp-sun:#E2A548;      /* sunset gold: hope, the light */
  --pp-sun-dk:#D4952F;
  --pp-glow:#F0C98A;
  --pp-paper:#F7F2E8;    /* page background */
  --pp-line:#E6DDCC;
  --pp-text:#1c1a17;
  --pp-muted:#5b564e;
  --pp-rust:#B9532C;     /* "Pushing development" and warnings */
  --pp-serif:Baskerville,"Libre Baskerville","Baskerville Old Face",Georgia,"Times New Roman",serif;
  --pp-caps:Optima,"Avenir Next","Segoe UI",-apple-system,Helvetica,Arial,sans-serif;
  --pp-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --pp-head-h:63px;      /* height of the sticky menu, used to land links below it */
}
@media(min-width:1100px){:root{--pp-head-h:146px}}
@media(min-width:820px) and (max-width:1099px){:root{--pp-head-h:146px}}
@media(max-width:559px){:root{--pp-head-h:57px}}

html{scroll-padding-top:calc(var(--pp-head-h) + 14px)}
body{background:var(--pp-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:var(--pp-ink);text-underline-offset:.18em}
p,li{text-wrap:pretty}
::selection{background:rgba(226,165,72,.35)}
:focus-visible{outline:2px solid var(--pp-sea);outline-offset:3px;border-radius:4px}

/* ---------- headings: the logo's serif ---------- */
h1,h2{font-family:var(--pp-serif);font-weight:600;letter-spacing:-.005em;text-wrap:balance}
h1{color:var(--pp-ink);font-size:clamp(30px,3.6vw,42px);line-height:1.12}
.sec h2{font-weight:600;font-size:clamp(28px,3vw,36px);color:var(--pp-ink)}
.eyebrow{font-family:var(--pp-caps);letter-spacing:.16em;font-weight:700}

/* =====================================================================
   The menu: a top line of main pages, and under it a second line of
   links for the section you are in. Narrow screens get a Menu button.
   ===================================================================== */
.pp-header{position:sticky;top:0;z-index:50;background:rgba(247,242,232,.97);-webkit-backdrop-filter:saturate(1.3) blur(10px);backdrop-filter:saturate(1.3) blur(10px);border-bottom:1px solid var(--pp-line);font-family:var(--pp-sans);line-height:1.3;transition:box-shadow .25s}
.pp-header.is-scrolled{box-shadow:0 8px 24px rgba(31,77,58,.09)}
.pp-in{max-width:1280px;margin:0 auto;padding:0 20px}
.pp-top .pp-in{display:flex;align-items:center;gap:18px;height:62px}

.pp-brand{display:inline-flex;align-items:center;gap:12px;color:var(--pp-ink);text-decoration:none;min-width:0;flex:none}
.pp-brand img{width:42px;height:42px;display:block;flex:none;transition:transform .3s}
.pp-brand:hover img{transform:rotate(-6deg)}
.pp-name{display:flex;flex-direction:column;font-family:var(--pp-serif);font-size:21px;font-weight:600;letter-spacing:.2px;line-height:1;white-space:nowrap}
.pp-name small{font-family:var(--pp-caps);font-size:9.5px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--pp-sea);margin-top:6px}

/* top line */
.pp-main{flex:1 1 auto;align-self:stretch;display:flex;justify-content:center;gap:0 26px}
.pp-main a{position:relative;display:flex;align-items:center;color:var(--pp-text);opacity:.86;font-size:15px;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .15s,opacity .15s}
.pp-main a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px 3px 0 0;background:var(--pp-sun);transform:scaleX(0);transition:transform .22s ease-out}
.pp-main a:hover{opacity:1;color:var(--pp-ink)}
.pp-main a:hover::after{transform:scaleX(.45)}
.pp-main a[aria-current="page"],.pp-main a.is-section{opacity:1;color:var(--pp-ink)}
.pp-main a[aria-current="page"]::after,.pp-main a.is-section::after{transform:scaleX(1)}

.pp-cta{flex:none;display:inline-flex;align-items:center;gap:7px;background:var(--pp-sun);color:var(--pp-ink-dk);font-weight:700;font-size:14.5px;letter-spacing:.01em;text-decoration:none;padding:10px 18px;border-radius:999px;white-space:nowrap;box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 2px 6px rgba(160,105,20,.18);transition:background .15s,transform .15s,box-shadow .15s}
.pp-cta:hover{background:var(--pp-sun-dk);color:var(--pp-ink-dk);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 6px 14px rgba(160,105,20,.22)}
.pp-cta svg{width:15px;height:15px;flex:none}

@media(min-width:1100px) and (max-width:1339px){.pp-top .pp-in{gap:12px}.pp-main{gap:0 17px}.pp-main a{font-size:14px}.pp-name{font-size:20px}}
@media(min-width:1100px) and (max-width:1199px){.pp-cta svg{display:none}.pp-cta{padding:9px 16px}.pp-main{gap:0 13px}.pp-name{font-size:19px}}
/* Tablets and narrower laptop windows: the name and Take Action on top, the main pages on their own row */
@media(min-width:820px){
  .pp-top .pp-in{flex-wrap:wrap;height:auto;padding-top:9px;row-gap:0}
  .pp-brand{margin-right:auto}
  .pp-main{order:3;flex:1 0 100%;height:44px;margin-top:9px;border-top:1px solid var(--pp-line);gap:0 22px}
  .pp-main a{font-size:14.5px}
}
@media(min-width:820px) and (max-width:979px){.pp-main{gap:0 14px}.pp-main a{font-size:13.5px}}
@media(min-width:820px) and (max-width:1039px){.pp-main{flex-wrap:wrap;height:auto;padding:5px 0;row-gap:0}.pp-main a{padding:6px 0}:root{--pp-head-h:176px}}
@media(min-width:1040px) and (max-width:1099px){.pp-main{gap:0 14px}.pp-main a{font-size:14px}}
@media(max-width:819px){.pp-top .pp-cta{display:none}}

/* second line of links */
.pp-sub{border-top:1px solid var(--pp-line);background:rgba(255,255,255,.45)}
.pp-sub .pp-in{display:flex;justify-content:center;flex-wrap:wrap;column-gap:28px;min-height:39px;align-items:stretch}
.pp-sub a{display:flex;align-items:center;color:var(--pp-muted);font-size:13.5px;font-weight:600;letter-spacing:.01em;text-decoration:none;white-space:nowrap;transition:color .15s}
@media(min-width:820px) and (max-width:1079px){.pp-sub .pp-in{column-gap:18px}.pp-sub a{font-size:13px}}
.pp-sub a::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--pp-sage);margin-right:9px;flex:none;transition:background .15s,transform .15s}
.pp-sub a:hover{color:var(--pp-ink)}
.pp-sub a:hover::before{background:var(--pp-sun)}
.pp-sub a[aria-current="page"],.pp-sub a.is-active{color:var(--pp-ink)}
.pp-sub a[aria-current="page"]::before,.pp-sub a.is-active::before{background:var(--pp-sun);transform:scale(1.35)}

/* the Menu button and its panel (narrow screens only) */
.pp-menu-btn{display:none;flex:none;align-items:center;gap:9px;background:#fff;border:1px solid rgba(31,77,58,.22);border-radius:999px;padding:8px 15px 8px 13px;font:600 14.5px/1 var(--pp-sans);color:var(--pp-ink);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.pp-menu-btn:hover{border-color:rgba(31,77,58,.45);box-shadow:0 2px 8px rgba(31,77,58,.10)}
.pp-burger{position:relative;width:18px;height:12px;display:block}
.pp-burger i{position:absolute;left:0;right:0;height:2px;border-radius:2px;background:currentColor;transition:transform .25s,opacity .2s,top .25s}
.pp-burger i:nth-child(1){top:0}
.pp-burger i:nth-child(2){top:5px}
.pp-burger i:nth-child(3){top:10px}
.is-open .pp-burger i:nth-child(1){top:5px;transform:rotate(45deg)}
.is-open .pp-burger i:nth-child(2){opacity:0}
.is-open .pp-burger i:nth-child(3){top:5px;transform:rotate(-45deg)}
.pp-panel{display:none}

@media(max-width:819px){
  .pp-main,.pp-sub{display:none}
  .pp-brand{margin-right:auto}
  .pp-menu-btn{display:inline-flex}
  .pp-panel{display:block;background:var(--pp-paper);border-top:1px solid var(--pp-line)}
  .js .pp-panel{display:none;position:absolute;left:0;right:0;top:100%;border-top:0;border-bottom:1px solid var(--pp-line);box-shadow:0 18px 30px rgba(31,77,58,.14);max-height:calc(100vh - var(--pp-head-h));max-height:calc(100dvh - var(--pp-head-h));overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .js .is-open .pp-panel{display:block;animation:pp-drop .2s ease-out}
  .pp-panel .pp-in{padding-top:4px;padding-bottom:18px}
  .pp-grp{padding:13px 0;border-bottom:1px solid var(--pp-line)}
  .pp-grp-t{position:relative;display:block;padding:2px 0 2px 14px;font-size:17px;font-weight:700;color:var(--pp-text);text-decoration:none}
  .pp-grp-t::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:3px;border-radius:3px;background:var(--pp-sun);opacity:0}
  .pp-grp.is-section .pp-grp-t,.pp-grp-t[aria-current="page"]{color:var(--pp-ink)}
  .pp-grp.is-section .pp-grp-t::before,.pp-grp-t[aria-current="page"]::before{opacity:1}
  .pp-grp-l{display:flex;flex-wrap:wrap;gap:7px 7px;padding:9px 0 0 14px}
  .pp-grp-l:empty{display:none}
  .pp-grp-l a{font-size:14px;font-weight:600;color:var(--pp-muted);text-decoration:none;background:#fff;border:1px solid var(--pp-line);border-radius:999px;padding:6px 12px}
  .pp-grp-l a:hover{color:var(--pp-ink);border-color:rgba(31,77,58,.3)}
  .pp-grp-l a[aria-current="page"]{color:var(--pp-ink);border-color:var(--pp-sun);box-shadow:0 0 0 1px var(--pp-sun) inset}
  .pp-panel-cta{display:none}
}
@keyframes pp-drop{from{opacity:0;transform:translateY(-8px)}}

/* Phones: slimmer bar; "Take Action" moves into the panel */
@media(max-width:559px){
  .pp-top .pp-in{height:56px;padding:0 14px;gap:10px}
  .pp-brand{gap:9px}
  .pp-brand img{width:36px;height:36px}
  .pp-name{font-size:19px}
  .pp-name small{display:none}
  .pp-top .pp-cta{display:none}
  .pp-menu-btn{padding:8px 13px 8px 12px;font-size:14px}
  .pp-panel .pp-in{padding-left:14px;padding-right:14px}
  .pp-panel-cta{display:flex;justify-content:center;margin-top:18px;padding:14px 18px;font-size:16px;font-weight:700;background:var(--pp-sun);color:var(--pp-ink-dk);border-radius:999px;text-decoration:none}
}
@media(max-width:359px){.pp-name{font-size:17px}.pp-menu-lbl{display:none}}

/* =====================================================================
   The footer: every page, grouped by section
   ===================================================================== */
.pp-footer{background:var(--pp-ink);color:#E4ECE3;font-family:var(--pp-sans);line-height:1.45}
.pp-foot-in{max-width:1280px;margin:0 auto;padding:50px 20px 28px;display:grid;grid-template-columns:minmax(220px,290px) 1fr;gap:34px 56px;align-items:start}
.pp-foot-id{display:flex;flex-direction:column;align-items:flex-start}
.pp-foot-badge{width:104px;height:104px;display:block;margin-bottom:14px}
.pp-foot-name{font-family:var(--pp-serif);font-size:26px;font-weight:600;color:#fff;margin:0;line-height:1.1}
.pp-foot-tag{font-family:var(--pp-caps);font-size:12px;font-weight:600;letter-spacing:.2em;line-height:1.7;text-transform:uppercase;color:var(--pp-glow);margin:10px 0 0}
.pp-foot-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 30px}
.pp-foot-col{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.pp-foot-h{font-family:var(--pp-caps);font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-glow);text-decoration:none;margin-bottom:3px}
a.pp-foot-h:hover{color:#fff}
.pp-foot-col a:not(.pp-foot-h){color:#E4ECE3;text-decoration:none;font-size:14.5px;opacity:.9}
.pp-foot-col a:not(.pp-foot-h):hover{opacity:1;color:#fff;text-decoration:underline;text-decoration-color:var(--pp-sun);text-underline-offset:4px}
.pp-foot-base{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.14);padding-top:16px;font-size:12.5px;color:rgba(228,236,227,.7)}
.pp-foot-base a{color:#E4ECE3;text-decoration:underline;text-decoration-color:rgba(226,165,72,.6);text-underline-offset:3px;overflow-wrap:anywhere}
.pp-foot-base a:hover{color:#fff}
@media(max-width:1000px){
  .pp-foot-in{grid-template-columns:1fr}
  .pp-foot-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .pp-foot-in{padding-top:40px;gap:30px}
  .pp-foot-id{align-items:center;text-align:center}
  .pp-foot-nav{gap:26px 18px}
  .pp-foot-base{text-align:center}
}

/* =====================================================================
   Home page
   ===================================================================== */
.pg-home .wrap{padding-top:18px}
.pg-home .brandline img{filter:drop-shadow(0 10px 22px rgba(31,77,58,.13))}
.pg-home .eyebrow{color:var(--pp-sea);font-size:clamp(13px,1.25vw,15px);letter-spacing:.2em;margin:4px 0 12px;text-wrap:balance}
.pg-home h1{font-size:clamp(34px,4.6vw,56px);line-height:1.08;margin:0 auto 14px;max-width:1000px}
.pg-home .votesub{font-family:var(--pp-caps);font-size:clamp(14px,1.5vw,17px);font-weight:700;letter-spacing:.12em;color:var(--pp-green);margin:0 0 20px;text-wrap:balance}
.pg-home .lede{font-size:clamp(16px,1.5vw,18px);line-height:1.6;max-width:840px;margin-bottom:18px}
.pg-home .mission{position:relative;border:1px solid var(--pp-line);border-top:4px solid var(--pp-sun);border-radius:16px;padding:24px 30px 22px;margin:8px auto 18px;box-shadow:0 10px 30px rgba(31,77,58,.06)}
.pg-home .mission .m1{font-family:var(--pp-serif);font-size:clamp(19px,1.9vw,23px);font-weight:600;color:var(--pp-ink);line-height:1.3;margin-bottom:12px;text-wrap:balance}
.pg-home .mission p{font-size:16px;line-height:1.65}
.pg-home .focus{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.pg-home .focus li{display:inline-flex;align-items:center;gap:9px;background:var(--pp-paper);border:1px solid var(--pp-line);border-radius:999px;padding:6px 16px 6px 7px;font-size:15px;font-weight:600;color:var(--pp-ink);white-space:nowrap}
.pg-home .focus .fi{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:#E4EDE4;color:var(--pp-ink);flex:none}
.pg-home .focus .fi svg{width:19px;height:19px}
.pg-home .mission .join{display:inline-block;margin-top:16px;font-weight:700;font-size:15.5px;color:var(--pp-ink);text-decoration:underline;text-decoration-color:var(--pp-sun);text-decoration-thickness:2px;text-underline-offset:5px}
.pg-home .mission .join:hover{color:var(--pp-green)}
@media(max-width:560px){.pg-home .focus{display:grid;grid-template-columns:1fr 1fr;gap:8px;text-align:left}.pg-home .focus li{white-space:normal;font-size:13.5px;line-height:1.2;padding:5px 10px 5px 5px;border-radius:14px}.pg-home .focus .fi{width:28px;height:28px}}
.pg-home .alert{border-width:1.5px;border-radius:16px;padding:20px 26px;box-shadow:0 10px 26px rgba(185,83,44,.07)}
.pg-home .alert .t{font-family:var(--pp-serif);font-size:22px;font-weight:600;letter-spacing:0;margin-bottom:6px}
.pg-home .candnote{border-radius:16px;padding:16px 22px}
.pg-home .camp-title{font-family:var(--pp-caps);font-weight:700;letter-spacing:.1em;font-size:clamp(17px,1.9vw,22px)}
.pg-home .stage{border-radius:18px}
.pg-home .camp-cap a{font-weight:600;color:inherit;text-decoration:underline;text-underline-offset:3px}
.pg-home .camp-cap a:hover{color:var(--pp-rust)}
.pg-home .val{border-radius:14px;padding:20px 22px;transition:transform .18s,box-shadow .18s}
.pg-home .val:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(31,77,58,.08)}
.pg-home .val .vi{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#EEF3EC;color:var(--pp-ink);margin-bottom:12px}
.pg-home .val .vi svg{width:30px;height:30px}
.pg-home .val.wide{grid-column:1/-1;display:grid;grid-template-columns:auto 1fr;column-gap:18px;align-items:center;border-top:4px solid var(--pp-sun)}
.pg-home .val.wide .vi{grid-row:1/3;margin:0}
.pg-home .val.wide h4{align-self:end}
.pg-home .val.wide p{align-self:start}
.pg-home .val h4{font-size:16.5px;color:var(--pp-ink)}
.pg-home .val-go{color:var(--pp-sea);font-weight:700;white-space:nowrap;text-decoration:none}
.pg-home .val-go:hover{text-decoration:underline}
.pg-home .plan li::before{background:var(--pp-ink)}
.pg-home .partner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;box-sizing:border-box;width:fit-content;max-width:100%;margin:34px auto 0;padding:22px 44px 24px;text-align:center;background:#fff;border:1px solid var(--pp-line);border-radius:22px;text-decoration:none;color:var(--pp-text);box-shadow:0 10px 26px rgba(31,77,58,.08);transition:transform .15s,box-shadow .15s}
.pg-home .partner:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(31,77,58,.13)}
.pg-home .partner img{width:92px;height:92px;border-radius:50%;flex:none}
.pg-home .pt-k{display:block;font-family:var(--pp-caps);font-size:12.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--pp-muted)}
.pg-home .pt-name{display:block;font-family:var(--pp-serif);font-size:clamp(24px,2.6vw,30px);font-weight:600;line-height:1.15;color:var(--pp-ink);margin:3px 0 10px}
.pg-home .pt-go{display:inline-flex;align-items:center;gap:6px;background:var(--pp-ink);color:#fff;font-weight:700;font-size:15.5px;padding:9px 18px;border-radius:999px;transition:background .15s}
.pg-home .partner:hover .pt-go{background:var(--pp-green)}
@media(max-width:560px){.pg-home .partner{gap:10px;padding:18px 22px 20px}.pg-home .partner img{width:80px;height:80px}}
@media(max-width:700px){
  .pg-home .mission{padding:20px 18px 18px}
  .pg-home .alert{padding:18px 18px}
}

/* the vote banner */
.pg-home .votebox{max-width:860px;margin:2px auto 20px;padding:16px 22px 16px;border-radius:18px;background:var(--pp-ink);color:#fff;text-align:center;box-shadow:0 12px 28px rgba(31,77,58,.18)}
.pg-home .vb-h{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;margin:0;font-family:var(--pp-serif);font-size:clamp(22px,2.6vw,29px);font-weight:600;line-height:1.2;color:#fff}
.pg-home .vb-c{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none}
.pg-home .vb-c img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:3px solid var(--pp-sun);flex:none}
.pg-home .vb-c:hover{color:var(--pp-glow)}
.pg-home .vb-when{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 14px;margin:10px 0 0;font-size:14.5px;color:rgba(255,255,255,.88)}
.pg-home .vb-when b{color:#fff}
.pg-home .vb-btn{display:inline-flex;align-items:center;background:var(--pp-sun);color:var(--pp-ink-dk);font-weight:700;font-size:15px;text-decoration:none;padding:7px 18px;border-radius:999px;transition:background .15s}
.pg-home .vb-btn:hover{background:var(--pp-sun-dk);color:var(--pp-ink-dk)}
.pg-home .vb-no{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 12px;margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.18);font-size:18px;line-height:1.4;color:#fff}
.pg-home .vb-no b{color:var(--pp-glow)}
.pg-home .vb-no-tag{display:inline-flex;align-items:center;gap:6px;background:#C0391B;color:#fff;font-family:var(--pp-caps);font-weight:800;font-size:16px;letter-spacing:.14em;text-transform:uppercase;padding:5px 12px;border-radius:7px;white-space:nowrap}
.pg-home .vb-no-tag::before{content:"\2715";font-size:14px;letter-spacing:0}
@media(max-width:560px){
  .pg-home .votebox{padding:14px 14px 14px;border-radius:16px}
  .pg-home .vb-c img{width:34px;height:34px}
  .pg-home .vb-when{font-size:13.5px}
  .pg-home .vb-no{font-size:16px}
}

/* =====================================================================
   Other pages
   ===================================================================== */
.pg-who .prof{scroll-margin-top:6px}
.pg-acerose h1{font-size:clamp(26px,2.8vw,34px)}
.pg-reply h1{font-size:clamp(34px,4vw,46px)}

@media(prefers-reduced-motion:reduce){
  .pp-header,.pp-main a::after,.pp-sub a::before,.pp-brand img,.pp-cta,.pp-burger i,.pg-home .val{transition:none}
  .js .is-open .pp-panel{animation:none}
}
@media print{.pp-header,.pp-footer{display:none}}

/* ---- Join the voting bloc: the sign-up forms (big on the home and How to Vote pages, slim at the top of every other footer) ---- */
.pp-join{font-family:var(--pp-sans)}
.pp-join h2{font-family:var(--pp-serif);font-weight:600;line-height:1.15;margin:0}
.pp-join-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin:0}
.pp-join-form input[type=email],.pp-join-form input[type=text]{box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:16px;padding:11px 14px;border-radius:10px;border:1.5px solid #CFC4AE;background:#fff;color:var(--pp-text)}
.pp-join-form input[type=email]:focus,.pp-join-form input[type=text]:focus{outline:3px solid rgba(226,165,72,.5);outline-offset:1px;border-color:var(--pp-sun)}
.pp-jf{display:flex;flex-direction:column;gap:5px;flex:1 1 220px;font-size:14px;font-weight:600}
.pp-jf i{font-style:normal;font-weight:400;opacity:.75}
.pp-jc{display:flex;align-items:center;gap:9px;flex:1 1 100%;font-size:15px;cursor:pointer}
.pp-jc input{width:18px;height:18px;margin:0;flex:none;accent-color:var(--pp-sun-dk)}
.pp-join-form button{font:inherit;font-size:16px;font-weight:800;background:var(--pp-sun);color:var(--pp-ink-dk);border:0;border-radius:999px;padding:12px 26px;cursor:pointer;white-space:nowrap;transition:background .15s}
.pp-join-form button:hover{background:var(--pp-sun-dk)}
.pp-join-form button[disabled]{opacity:.6;cursor:default}
.pp-join-msg{flex:1 1 100%;margin:0;font-weight:700}
.pp-join-msg:empty{display:none}
.pp-join-fine{font-size:12.5px;line-height:1.45;margin:12px 0 0}
.pp-hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.pp-vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#join{scroll-margin-top:calc(var(--pp-head-h) + 14px)}
.pp-join-full{max-width:860px;margin:26px auto;padding:26px 28px 24px;border-radius:18px;background:#FBF3E4;border:1px solid #EAD9B8;box-shadow:0 10px 26px rgba(31,77,58,.08);color:var(--pp-text)}
.pp-join-eyebrow{font-family:var(--pp-caps);font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--pp-rust);margin:0 0 6px}
.pp-join-full h2{font-size:clamp(25px,3vw,32px);color:var(--pp-ink)}
.pp-join-full .pp-join-lead{font-family:var(--pp-serif);font-size:clamp(18px,2vw,21px);line-height:1.4;color:var(--pp-ink);margin:10px 0 8px}
.pp-join-full p{margin:0 0 14px}
.pp-join-full .pp-join-msg{color:var(--pp-ink);margin:0}
.pp-join-full .pp-join-fine{color:var(--pp-muted);margin:14px 0 0}
.pp-join-strip{border-bottom:1px solid rgba(255,255,255,.14)}
.pp-join-strip .pp-join-in{max-width:1280px;margin:0 auto;padding:34px 20px 28px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:14px 44px;align-items:center}
.pp-join-strip h2{font-size:clamp(22px,2.4vw,27px);color:#fff}
.pp-join-strip .pp-join-txt p{margin:8px 0 0;font-size:15.5px;color:#E4ECE3}
.pp-join-strip .pp-jc{font-size:14px;color:#E4ECE3}
.pp-join-strip .pp-join-msg{color:var(--pp-glow)}
.pp-join-strip .pp-join-fine{grid-column:1/-1;margin:0;color:rgba(228,236,227,.72)}
.pp-join-strip input[type=email]{border-color:transparent}
@media(max-width:820px){.pp-join-strip .pp-join-in{grid-template-columns:1fr;gap:14px}}
@media(max-width:560px){.pp-join-full{margin:20px 0;padding:20px 18px 18px;border-radius:16px}.pp-join-form button{width:100%}}
@media print{.pp-join{display:none}}
