/* Puck layer: the generic blocks (puck/generic.config.tsx), the layout controls (puck/fields/layout.ts,
   section-style.ts), rich text output (components/ui/RichText.tsx) and WordPress post bodies (.wp-prose).
   Every class is pk-prefixed so nothing here collides with rockets.css. Sizes are design pixels on the
   1920px desktop stage; the phone steps sit under max-width:900px, the site's own breakpoint. */

/* ---- wrappers */
.pk-band{position:relative;width:100%}
.pk-sec{position:relative;width:100%}
.pk-inner{margin-inline:auto;width:100%;position:relative}
.pk-w-full{width:100%}
.pk-w-site{width:min(var(--max),100% - 2*var(--gutter))}
.pk-w-wide{width:min(1200px,100% - 2*var(--gutter))}
.pk-w-medium{width:min(960px,100% - 2*var(--gutter))}
.pk-w-narrow{width:min(760px,100% - 2*var(--gutter))}

/* ---- tones */
.pk-bg-cream{background:var(--cream)}
.pk-bg-sand{background:var(--cream-2)}
.pk-bg-white{background:var(--white)}
.pk-bg-navy{background:var(--navy)}
.pk-bg-wine{background:var(--wine)}
.pk-bg-red{background:var(--red)}
.pk-bg-black{background:var(--black)}
.pk-text-ink{color:var(--black)}
.pk-text-navy{color:var(--navy)}
.pk-text-red{color:var(--red)}
.pk-text-muted{color:var(--muted-2)}
.pk-text-gold{color:var(--gold)}
.pk-text-white{color:var(--white)}
.pk-left{text-align:left}
.pk-center{text-align:center}
.pk-right{text-align:right}

/* ---- vertical space */
.pk-py-xs{padding-block:24px}
.pk-py-sm{padding-block:48px}
.pk-py-md{padding-block:96px}
.pk-py-lg{padding-block:140px}
.pk-py-xl{padding-block:190px}
.pk-pt-sm{padding-top:48px}.pk-pt-md{padding-top:96px}.pk-pt-lg{padding-top:140px}
.pk-pb-sm{padding-bottom:48px}.pk-pb-md{padding-bottom:96px}.pk-pb-lg{padding-bottom:140px}
.pk-rule-top{border-top:1px solid var(--gold-line)}
.pk-rule-bottom{border-bottom:1px solid var(--gold-line)}
.pk-spacer{width:100%}
.pk-h-xs{height:24px}.pk-h-sm{height:48px}.pk-h-md{height:96px}.pk-h-lg{height:160px}.pk-h-xl{height:240px}
.pk-hr{height:1px;width:100%;border:0;background:linear-gradient(90deg,rgba(175,156,115,0),var(--gold-line) 50%,rgba(175,156,115,0))}

/* ---- flex */
.pk-flex{display:flex}
.pk-row{flex-direction:row}.pk-row-reverse{flex-direction:row-reverse}
.pk-col{flex-direction:column}.pk-col-reverse{flex-direction:column-reverse}
.pk-justify-start{justify-content:flex-start}.pk-justify-center{justify-content:center}.pk-justify-end{justify-content:flex-end}
.pk-justify-between{justify-content:space-between}.pk-justify-around{justify-content:space-around}
.pk-items-start{align-items:flex-start}.pk-items-center{align-items:center}.pk-items-end{align-items:flex-end}
.pk-items-stretch{align-items:stretch}.pk-items-baseline{align-items:baseline}
.pk-gap-0{gap:0}.pk-gap-xs{gap:12px}.pk-gap-sm{gap:20px}.pk-gap-md{gap:32px}.pk-gap-lg{gap:56px}.pk-gap-xl{gap:88px}
.pk-wrap{flex-wrap:wrap}.pk-nowrap{flex-wrap:nowrap}
.pk-col-cell{min-width:0;width:100%}
.pk-grow{flex:1 1 0}
.pk-basis-2{flex:2 1 0}
.pk-basis-1{flex:1 1 0}

/* ---- blocks */
.pk-kicker{margin-bottom:22px}
.pk-center .pk-kicker{justify-content:center}
.pk-h2{color:var(--navy);max-width:1100px}
.pk-dark .pk-h2,.pk-text-white .pk-h2{color:var(--white)}
.pk-center .pk-h2,.pk-center .pk-intro{margin-inline:auto}
.pk-intro{margin-top:24px;max-width:900px;font-size:20px;line-height:1.7;color:var(--muted-2)}
.pk-dark .pk-intro,.pk-dark .pk-prose{color:rgba(255,255,255,.86)}
.pk-prose{font-size:18px;line-height:1.75;color:var(--muted-2)}
.pk-split .pk-prose{margin-top:24px}
.pk-btn{margin-top:32px}
.pk-figure figcaption{margin-top:12px;font-size:15px;color:var(--muted)}
.pk-media{position:relative;width:100%;overflow:hidden}
.pk-media img{width:100%;height:100%;object-fit:cover}
.pk-ar-3-2{aspect-ratio:3/2}.pk-ar-16-9{aspect-ratio:16/9}.pk-ar-4-3{aspect-ratio:4/3}.pk-ar-1-1{aspect-ratio:1/1}
.pk-ar-auto img{height:auto}
.pk-split{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.pk-split-rev>:first-child{order:2}
.pk-split-copy{max-width:680px}
.pk-grid{display:grid;gap:24px}
.pk-cols-2{grid-template-columns:repeat(2,1fr)}.pk-cols-3{grid-template-columns:repeat(3,1fr)}.pk-cols-4{grid-template-columns:repeat(4,1fr)}
.pk-card{display:flex;flex-direction:column;gap:10px;padding:32px;background:var(--white);border:1px solid var(--gold-bd);color:var(--black)}
.pk-card b{font-family:var(--display);font-weight:600;font-size:26px;line-height:1.2;color:var(--navy)}
.pk-card span{font-size:16px;line-height:1.65;color:var(--muted-2)}
.pk-card-link{transition:transform .2s,box-shadow .2s}
.pk-card-link:hover{transform:translateY(-3px);box-shadow:0 10px 30px rgba(13,36,58,.12)}

/* ---- rich text with blocks (components/ui/RichText.tsx renders <div class="rich">) */
.rich>*+*{margin-top:.8em}
.rich h2{font-family:var(--display);font-weight:600;font-size:1.6em;line-height:1.15;color:inherit}
.rich h3{font-size:1em;margin-top:1.2em}
.rich ul,.rich ol{padding-left:1.3em}
.rich ul{list-style:disc}.rich ol{list-style:decimal}
.rich li+li{margin-top:.35em}
.rich blockquote{padding:.6em 1.1em;border-left:3px solid var(--gold)}
.rich a,.pk-prose a{color:var(--red);text-decoration:underline;text-underline-offset:3px}

/* ---- WordPress post bodies (rules articles fall back to this when a body is not in the expected shape) */
.wp-prose{font-size:17px;line-height:1.7;color:var(--muted-2)}
.wp-prose>*+*{margin-top:1em}
.wp-prose h2{font-family:var(--display);font-weight:600;font-size:34px;line-height:1.1;color:var(--navy);margin-top:1.6em}
.wp-prose h3{margin-top:1.4em;color:var(--navy)}
.wp-prose a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.wp-prose ul,.wp-prose ol{padding-left:1.4em}
.wp-prose ul{list-style:disc}.wp-prose ol{list-style:decimal}
.wp-prose li+li{margin-top:.4em}
.wp-prose blockquote{padding:1em 1.4em;border-left:3px solid var(--gold);background:var(--cream-2)}
.wp-prose img{width:100%;height:auto}
.wp-prose figcaption{margin-top:.6em;font-size:14px;color:var(--muted);text-align:center}
.wp-prose table{width:100%;border-collapse:collapse;font-size:15px}
.wp-prose th,.wp-prose td{padding:.7em .9em;border-bottom:1px solid var(--gold-bd);text-align:left;vertical-align:top}

/* ---- draft banner + editor states (components/DraftBanner.tsx, components/posts/PostsState.tsx) */
.pk-draft{position:relative;z-index:60;width:100%;padding:10px 16px;background:#f5c542;color:#111;font-size:14px;font-weight:600;text-align:center}
.pk-state{padding:32px 28px;text-align:center;border:1px dashed var(--gold-line);background:var(--white);color:var(--muted-2)}
.pk-state b{display:block;font-size:18px;color:var(--navy);margin-bottom:6px}
.pk-state.pk-state-error{border-color:var(--red)}

/* ---- phones */
@media (max-width:900px){
  .pk-py-xs{padding-block:16px}.pk-py-sm{padding-block:32px}.pk-py-md{padding-block:60px}
  .pk-py-lg{padding-block:84px}.pk-py-xl{padding-block:112px}
  .pk-pt-sm{padding-top:32px}.pk-pt-md{padding-top:60px}.pk-pt-lg{padding-top:84px}
  .pk-pb-sm{padding-bottom:32px}.pk-pb-md{padding-bottom:60px}.pk-pb-lg{padding-bottom:84px}
  .pk-h-md{height:60px}.pk-h-lg{height:96px}.pk-h-xl{height:140px}
  .pk-flex.pk-row,.pk-flex.pk-row-reverse{flex-direction:column}
  .pk-flex.pk-row-reverse{flex-direction:column-reverse}
  .pk-gap-lg{gap:36px}.pk-gap-xl{gap:48px}
  .pk-split{grid-template-columns:1fr;gap:36px}
  .pk-split-rev>:first-child{order:0}
  .pk-cols-3,.pk-cols-4{grid-template-columns:repeat(2,1fr)}
  .pk-intro{font-size:17px}
  .pk-prose{font-size:16px}
  .pk-card{padding:24px}
  .pk-card b{font-size:22px}
  .pk-hide-phone{display:none!important}
}
@media (max-width:600px){
  .pk-cols-2,.pk-cols-3,.pk-cols-4{grid-template-columns:1fr}
}
@media (min-width:901px){
  .pk-hide-desktop{display:none!important}
}
.pk-render{width:100%}
.rich-link{text-decoration:underline;text-underline-offset:2px}

/* ---- the editor's own chrome (/admin/editor): rockets.css styles every h1/h2/h3 with the display
   font; Puck's panel titles are headings too. The canvas is an iframe, so this never reaches the page. */
#puck-editor-root h1,#puck-editor-root h2,#puck-editor-root h3,#puck-editor-root h4{font-family:system-ui,sans-serif;font-weight:600;font-size:inherit;line-height:inherit;letter-spacing:normal;text-transform:none}
