/*
Theme Name: PK Family Child
Template: Divi
*/
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&family=Source+Sans+3:wght@400;600;700&display=swap');

:root{
  --ink:#22313d; --blue:#1e5a78; --blue-dark:#15455e; --coral:#e2725b; --coral-dark:#c95f49;
  --cream:#faf6ef; --sand:#f1e8d8; --white:#ffffff; --muted:#5b6b76;
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body{font-family:'Source Sans 3',sans-serif;color:var(--ink);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;background:var(--cream);}
h1,h2,h3{font-family:'Fraunces',serif;font-weight:600;line-height:1.15;margin:0;}

/* Divi chrome reset (Theme Builder supplies header/footer) */
#page-container{padding-top:0!important;}
#main-content{padding:0!important;}
.home .entry-title.main_title,.page .entry-title.main_title{display:none!important;}
#main-header,#main-footer,#top-header{display:none!important;}
.et_pb_section{padding:0!important;}
.et_pb_row{padding:0!important;margin:0 auto;}
.et_pb_row .et_pb_column{margin-bottom:0;}
.et_pb_text p{padding-bottom:0;}
.et_pb_text{margin-bottom:0;}
.et_pb_text_inner>:last-child{margin-bottom:0;}
img{max-width:100%;height:auto;}

/* Buttons - one style, one corner, uniform width */
.et_pb_button,a.pk-btn{font-family:'Source Sans 3',sans-serif!important;display:inline-flex!important;box-sizing:border-box;max-width:100%;align-items:center;justify-content:center;min-width:220px;padding:14px 28px!important;border-radius:12px!important;font-weight:700!important;font-size:16px!important;line-height:1.2!important;letter-spacing:.02em;text-decoration:none!important;transition:background .2s,color .2s,border-color .2s!important;}
.et_pb_button:after,.et_pb_button:before{display:none!important;content:none!important;}
.et_pb_button:hover{padding:14px 28px!important;}
.et_pb_button_module_wrapper{display:inline-block;margin:6px 12px 6px 0;}
.et_pb_button.pk-btn-primary,.et_pb_button.pk-btn-primary:visited,a.pk-btn.pk-btn-primary{background:var(--blue)!important;color:#fff!important;border:none!important;}
.et_pb_button.pk-btn-primary:hover,a.pk-btn.pk-btn-primary:hover{background:var(--blue-dark)!important;color:#fff!important;}
.et_pb_button.pk-btn-outline,.et_pb_button.pk-btn-outline:visited{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.85)!important;}
.et_pb_button.pk-btn-outline:hover{background:rgba(255,255,255,.14)!important;color:#fff!important;}
.et_pb_button.pk-btn-outline-dark,.et_pb_button.pk-btn-outline-dark:visited{background:transparent!important;color:var(--blue)!important;border:2px solid var(--blue)!important;}
.et_pb_button.pk-btn-outline-dark:hover{background:rgba(30,90,120,.08)!important;}
.et_pb_button.pk-btn-white,.et_pb_button.pk-btn-white:visited{background:#fff!important;color:var(--blue)!important;border:none!important;}
.et_pb_button.pk-btn-white:hover{background:var(--sand)!important;color:var(--blue)!important;}
a.pk-btn-inline{margin-top:10px;}

/* Header */
.pk-header.et_pb_section{background:var(--white);border-bottom:1px solid #e9e0d2;position:sticky;top:0;z-index:50;}
.pk-header-row{max-width:1160px;margin:0 auto;padding:14px 28px!important;align-items:center;}
.pk-brand .et_pb_text_inner{text-align:left;}
.pk-brand a{font-family:'Fraunces',serif;font-weight:700;font-size:26px;color:var(--ink);text-decoration:none;letter-spacing:.01em;}
.pk-brand a:hover{color:var(--blue);}
.pk-menu .et_pb_menu__wrap{justify-content:flex-end;}
.pk-menu ul.et_pb_menu__menu>li>a{font-family:'Source Sans 3',sans-serif;font-weight:600;font-size:16px;color:var(--ink)!important;padding:10px 14px;}
.pk-menu ul.et_pb_menu__menu>li>a:hover{color:var(--blue)!important;}
.pk-menu .et_mobile_nav_menu .mobile_nav .mobile_menu_bar:before{color:var(--ink);}

/* Hero - split composition (proposed portrait direction)
   Left: text panel. Right: portrait photo panel. The 3:4 photo keeps its
   intrinsic aspect and drives the hero height, so a vertical family original
   shows in full - nobody is cropped. Panel background shows behind the photo
   where ratios differ. Until an approved photo is supplied, the panel renders
   as a neutral sand slot. */
.pk-hero.et_pb_section{padding:0!important;background:var(--blue-dark);}
.pk-hero-split{display:grid;grid-template-columns:1.05fr 1fr;align-items:stretch;max-width:1440px;margin:0 auto;}
.pk-hero-text{display:flex;flex-direction:column;justify-content:center;padding:72px 56px;}
.pk-hero-text .pk-h1 h1{font-size:54px;max-width:520px;}
.pk-hero-text .pk-lede p{color:#e8f0f4;max-width:480px;margin-bottom:0;}
.pk-hero-photo{background:var(--sand);display:flex;align-items:center;justify-content:center;}
.pk-hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;margin:0;}
@media (max-width:820px){
  .pk-hero-split{grid-template-columns:1fr;}
  .pk-hero-photo{order:-1;aspect-ratio:3/4;}
  .pk-hero-text{padding:44px 22px 52px;}
  .pk-hero-text .pk-h1 h1{font-size:33px;}
  .pk-hero-text .pk-lede p{font-size:18px;}
}
.pk-eyebrow{color:var(--coral);font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:13px;margin-bottom:14px;}
.pk-hero .pk-eyebrow{color:#f6b8a6;}
.pk-h1 h1{color:#fff;font-size:60px;font-weight:600;max-width:720px;margin:0 0 18px;padding:0;text-wrap:balance;}
.pk-lede p{color:#f4ede2;font-size:20px;line-height:1.55;max-width:600px;margin:0 0 30px;font-weight:400;}

/* Section headers */
.pk-section-head h2{font-size:40px;color:var(--ink);text-align:center;margin:0 0 10px;}
.pk-section-sub p{text-align:center;color:var(--muted);font-size:18px;margin:0 0 40px;}
.pk-h2 h2{font-size:38px;color:var(--ink);margin:0 0 16px;}
.pk-body p{margin:0 0 16px;max-width:760px;}
.pk-body a{color:var(--blue);font-weight:600;}
.pk-body-img img{border-radius:12px;margin:8px 0 6px;max-width:min(560px,100%);}

/* Girls cards */
.pk-girls.et_pb_section{padding:88px 0!important;background:var(--cream);}
.pk-girls-row{max-width:1160px;gap:36px;}
.pk-girls-row .et_pb_column{background:#fff;border-radius:12px;padding:0 0 30px!important;box-shadow:0 8px 30px rgba(34,49,61,.08);overflow:hidden;display:flex;flex-direction:column;}
.pk-card-img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px 12px 0 0;}
.pk-card-name h3{font-size:30px;color:var(--ink);padding:26px 30px 6px;}
.pk-card-line p{color:var(--muted);padding:0 30px 18px;font-size:17px;}
.pk-girls-row .et_pb_button_module_wrapper{margin:0 30px;}

/* Book band */
.pk-book.et_pb_section{background:var(--blue);padding:88px 0!important;}
.pk-book-row{max-width:820px;}
.pk-book .pk-h2 h2{color:#fff;text-align:center;}
.pk-book .pk-eyebrow{text-align:center;color:#f6b8a6;}
.pk-book-text p{color:#e8f0f4;font-size:18px;text-align:center;max-width:680px;margin:0 auto 28px;}
.pk-book .et_pb_button_module_wrapper{display:block;text-align:center;}

/* Media strip */
.pk-media.et_pb_section{padding:88px 0!important;background:var(--sand);}
.pk-media-row{max-width:900px;}
.pk-media .pk-eyebrow,.pk-media .pk-h2 h2{text-align:center;}
.pk-media-links .et_pb_text_inner{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:26px 0 30px;}
a.pk-media-link{display:inline-block;padding:10px 20px;border-radius:12px;background:#fff;border:1px solid #e2d6c2;color:var(--blue);font-weight:600;text-decoration:none;font-size:15.5px;}
a.pk-media-link:hover{border-color:var(--blue);background:var(--blue);color:#fff;}
.pk-media .et_pb_button_module_wrapper{display:block;text-align:center;}

/* Gallery */
.pk-gallery.et_pb_section{padding:88px 0!important;}
.pk-gallery-row{max-width:1160px;}
.pk-gallery .pk-eyebrow,.pk-gallery .pk-h2 h2{text-align:center;}
.pk-gal .et_pb_text_inner{margin:26px 0 30px;}
.pk-gal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,240px));gap:16px;justify-content:center;}
.pk-gal-grid a{display:block;border-radius:12px;overflow:hidden;line-height:0;}
.pk-gal-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .25s;}
.pk-gal-grid a:hover img{transform:scale(1.03);}
.pk-gallery .et_pb_button_module_wrapper{display:block;text-align:center;}

/* CTA band */
.pk-cta.et_pb_section{background:var(--coral);padding:72px 0!important;}
.pk-cta-row{max-width:820px;}
.pk-cta .pk-h2 h2{color:#fff;text-align:center;}
.pk-cta-text p{color:#fff3ee;text-align:center;font-size:18px;margin:0 auto 26px;max-width:620px;}
.pk-cta .et_pb_button_module_wrapper{display:block;text-align:center;}

/* Footer */
.pk-footer.et_pb_section{background:var(--ink);padding:56px 0 40px!important;}
.pk-footer-row{max-width:1160px;text-align:center;}
.pk-footer-brand .et_pb_text_inner{font-family:'Fraunces',serif;font-weight:700;font-size:24px;color:#fff;}
.pk-footer-tag p{color:#b7c4cd;margin:8px 0 20px;font-size:15.5px;}
.pk-footer-links .et_pb_text_inner p{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;margin:0 0 22px;}
.pk-footer-links a{color:#e8dfd2;font-weight:600;font-size:15.5px;text-decoration:none;}
.pk-footer-links a:hover{color:#fff;text-decoration:underline;}
.pk-footer-copy p{color:#7c8b95;font-size:13.5px;margin:0;}

/* Interior page hero */
.pk-page-hero.et_pb_section{background:var(--blue);padding:64px 0 56px!important;}
.pk-page-hero-row{max-width:1160px;}
.pk-page-hero .pk-eyebrow{color:#f6b8a6;}
.pk-page-hero .pk-h1 h1{font-size:46px;max-width:820px;}
.pk-page-hero .pk-lede p{margin-bottom:0;font-size:19px;}

/* Content sections */
.pk-content.et_pb_section{padding:72px 0!important;background:var(--cream);}
.pk-content-alt.et_pb_section{background:#fff;}
.pk-content-row{max-width:880px;}
.pk-next.et_pb_section{padding:64px 0!important;background:var(--sand);}
.pk-next-row{max-width:820px;text-align:center;}
.pk-next .pk-h2 h2{margin-bottom:20px;}
.pk-next .et_pb_button_module_wrapper{display:block;text-align:center;}

/* Media cards */
.pk-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;}
a.pk-media-card{display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #e7ddcd;border-radius:12px;padding:22px 24px;text-decoration:none;transition:box-shadow .2s,border-color .2s;}
a.pk-media-card:hover{border-color:var(--blue);box-shadow:0 8px 24px rgba(34,49,61,.10);}
.pk-media-outlet{font-size:13px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--coral);}
.pk-media-title{font-family:'Fraunces',serif;font-weight:600;font-size:20px;color:var(--ink);line-height:1.25;}
.pk-media-desc{font-size:15px;color:var(--muted);}

/* Draft note (dev only) */
.pk-draft-note .et_pb_text_inner{border:2px dashed var(--coral);background:#fff7f2;border-radius:12px;padding:16px 20px;margin-top:26px;}
.pk-draft-note p{font-size:15px;color:#8a4a3a;margin:0;}

/* Contact form */
.pk-contact-row{max-width:680px;}
.pk-form .gform_wrapper input[type=text],.pk-form .gform_wrapper input[type=email],.pk-form .gform_wrapper textarea{border-radius:12px;border:1px solid #d8cdbb;padding:12px 16px;font-family:'Source Sans 3',sans-serif;font-size:16px;}
.pk-form .gform_wrapper .gform_button,.pk-form .gform_wrapper input[type=submit]{min-width:220px;border-radius:12px!important;background:var(--blue)!important;color:#fff!important;font-weight:700!important;font-size:16px!important;padding:14px 28px!important;border:none!important;}
.pk-form .gform_wrapper .gform_button:hover{background:var(--blue-dark)!important;}

/* Fallback hero (non-builder pages, 404, search) */
.pk-fallback-hero{background:var(--blue);padding:64px 28px 56px;}
.pk-fallback-hero-inner{max-width:1160px;margin:0 auto;}
.pk-fallback-hero h1{font-size:46px;color:#fff;}
.pk-fallback-eyebrow{color:#f6b8a6;font-weight:700;letter-spacing:.18em;text-transform:uppercase;font-size:13px;margin-bottom:14px;}
.pk-fallback-content{max-width:880px;margin:0 auto;padding:72px 28px;}
.pk-search-form{display:flex;gap:10px;margin-top:18px;}
.pk-search-form input[type=search]{flex:1;border-radius:12px;border:1px solid #d8cdbb;padding:12px 16px;font-size:16px;font-family:'Source Sans 3',sans-serif;}
.pk-search-form button{min-width:160px;border-radius:12px;background:var(--blue);color:#fff;font-weight:700;border:none;padding:12px 24px;font-size:16px;cursor:pointer;}

/* Responsive */
@media (max-width:980px){
  .pk-h1 h1{font-size:40px;}
  .pk-girls-row{flex-wrap:wrap!important;gap:24px;}
  .pk-girls-row .et_pb_column{flex-basis:100%!important;}
  .pk-gal-grid{grid-template-columns:repeat(2,1fr);}
  .pk-media-grid{grid-template-columns:1fr;}
  .pk-header-row{flex-wrap:nowrap!important;}
}
@media (max-width:640px){
  .pk-h1 h1{font-size:33px;}
  .pk-page-hero .pk-h1 h1{font-size:32px;}
  .pk-h2 h2{font-size:29px;}
  .pk-section-head h2{font-size:30px;}
  .pk-girls-row .et_pb_column,.pk-card-name h3{font-size:26px;}
  .et_pb_button,a.pk-btn{min-width:200px;width:100%;}
  .et_pb_button_module_wrapper{display:block;margin:8px 0;}
}

/* Header nav: module CSS fallback (layout created programmatically) */
.pk-header .et_pb_menu__menu, .pk-header .et_pb_menu__menu ul, .pk-header nav ul { list-style:none !important; margin:0; padding:0; display:flex; gap:26px; align-items:center; flex-wrap:nowrap; }
.pk-header .et_pb_menu li, .pk-header nav li { list-style:none !important; margin:0; padding:0; }
.pk-header .et_pb_menu a, .pk-header nav a { color:var(--ink,#2b2320); text-decoration:none; font-weight:600; font-size:15px; white-space:nowrap; }
.pk-header .et_pb_menu a:hover { color:var(--blue-dark); }
.pk-header .et_pb_menu__menu { justify-content:flex-end; }
.pk-header .et_mobile_nav_menu, .pk-header .et_mobile_menu { display:none; }
.pk-header-row .et_pb_column { display:flex; align-items:center; }
.pk-header-row .et_pb_column_1_tb_header { justify-content:flex-end; }
@media (max-width:980px){
  .pk-header .et_pb_menu__menu, .pk-header .et_pb_menu__menu ul, .pk-header nav ul { gap:14px; flex-wrap:wrap; }
  .pk-header .et_pb_menu a, .pk-header nav a { font-size:13px; }
}

/* (retired hero cover/background rules removed - see Hero - split composition above) */

@media (max-width:767px){
  .pk-header.et_pb_section{position:static;}
  .pk-header .pk-header-row{flex-direction:column !important;gap:6px;align-items:center !important;padding:12px 16px !important;}
  .pk-header-row .et_pb_column_1_tb_header{justify-content:center !important;}
  .pk-header .et_pb_menu__menu, .pk-header nav ul{justify-content:center;gap:8px 16px;flex-wrap:wrap;}
}

/* ==========================================================
   DEV repair additions (appended; see redesign-spec v4)
   ========================================================== */

/* Repair 2 - story page mobile overflow guard (scoped to interior content
   wrappers). Account side confirmed the cause: the story photo's 560px
   max-width had no responsive cap (now min(560px,100%) at the source above);
   this guard is the safety net for any other fixed-width module. */
@media (max-width:980px){
  .pk-content .et_pb_row,.pk-content-alt .et_pb_row,.pk-next .et_pb_row{width:100% !important;max-width:100% !important;padding-left:20px !important;padding-right:20px !important;}
  .pk-content img,.pk-content-alt img,.pk-next img{max-width:100% !important;height:auto;}
  .pk-content iframe,.pk-content-alt iframe,.pk-next iframe{max-width:100% !important;}
}



/* Repair 3 - gallery grid holds shape if an image file is missing.
   Note: DEV inspection confirmed IMG_1146-scaled.jpg is actually missing;
   this keeps the cell square but does not restore the image. */
.pk-gal-grid a{aspect-ratio:1/1;background:var(--sand);}
.pk-gal-grid img{width:100%;height:100%;object-fit:cover;}



/* Repair 4 - mobile body size (design proposal, not a sourced requirement) */
@media (max-width:640px){body{font-size:18px;}.pk-card-line p{font-size:18px;}}

/* Repair 5 - focus visibility + reduced motion */
a:focus-visible,.et_pb_button:focus-visible,button:focus-visible{outline:3px solid var(--coral);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important;}}

/* ==========================================================
   Account-side Divi compatibility (2026-10-31): Divi's flex row
   rule adds 5.5%/40px gap to .et_flex_row; the split hero is a
   grid and the approved composition is flush, so gap is zeroed
   here. Appended, not part of Miranda's v3 stylesheet text.
   ========================================================== */
.pk-hero-split{gap:0;}
/* Implementation-fit compat (added by Phil side, disclosed): Divi .et_pb_row width:80% also applies to the grid row; force full-width so the split spans the viewport up to her max-width:1440px, matching her mock. */
.pk-hero.et_pb_section .pk-hero-split{width:100%;max-width:1440px;}

/* Review repair (2026-10-31, Miranda request): collapse the EMPTY
   hero photo panel at mobile/tablet so text leads until an approved
   image exists. et_pb_column_empty is Divi's empty marker; an
   image-bearing panel keeps her 3:4 stack. Replaces the earlier
   display:flex override, which matched her pre-review mock. */
@media (max-width:820px){
  .pk-hero.et_pb_section .pk-hero-split .pk-hero-photo.et_pb_column_empty{display:none;}
}
/* Review repair (2026-10-31, Miranda request): Gravity Forms complex
   input group uses -6px side margins that overflowed a 390px viewport
   (measured 402px wide, scrollWidth 396). Scoped to the pk-form wrapper. */
.pk-form .ginput_complex.ginput_container{margin-left:0;margin-right:0;}

/* Review repair (2026-10-31, Miranda request): book-band "About the
   book" button switches to outline on the blue band. Her outline rules
   only matched .et_pb_button; the band link is a.pk-btn, so the same
   styles are mirrored for that form. Words and href unchanged. */
a.pk-btn.pk-btn-outline,a.pk-btn.pk-btn-outline:visited{background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.85)!important;}
a.pk-btn.pk-btn-outline:hover{background:rgba(255,255,255,.14)!important;color:#fff!important;}

/* ==========================================================
   Mobile hamburger navigation (Miranda proposal 2026-11-01, owner-approved)
   Collapses the inline header links behind Divi's native
   hamburger at 980px and below. Desktop is unchanged.
   Append at the end of pk-child/style.css - no markup or
   module changes needed (the menu module already carries its
   native mobile toggle markup and JS).
   ========================================================== */
@media (max-width:980px){
  /* Hide the inline link list, show the native mobile toggle */
  .pk-header .et_pb_menu__menu{display:none !important;}  /* desktop list only; the wrap also holds the mobile toggle */
  .pk-header .et_mobile_nav_menu{display:block !important;}

  /* One-row header: brand left, hamburger right */
  .pk-header .pk-header-row{flex-direction:row !important;flex-wrap:nowrap !important;align-items:center !important;gap:0 !important;padding:10px 16px !important;}
  .pk-header-row .et_pb_column_0_tb_header{justify-content:flex-start !important;}
  .pk-header-row .et_pb_column_1_tb_header{justify-content:flex-end !important;}
  .pk-brand a{font-size:22px;white-space:nowrap;}
  .pk-brand .et_pb_text_inner{text-align:left !important;}

  /* Hamburger target: comfortable tap size */
  .pk-header .mobile_menu_bar{display:block;padding:10px 4px 10px 16px;cursor:pointer;background:transparent !important;border:none !important;box-shadow:none !important;}
  .pk-header .mobile_menu_bar:before{font-size:32px;line-height:1;color:var(--ink);}

  /* Open panel: full-width cream dropdown anchored to the header bottom.
     Divi positions the menu wrap, so neutralize every intermediate and
     anchor only the panel to the (relative) header section. */
  .pk-header.et_pb_section{position:relative !important;}
  .pk-header .pk-header-row,.pk-header-row .et_pb_column,.pk-header .et_pb_menu,.pk-header .et_pb_menu_inner_container,.pk-header .et_pb_menu__wrap,.pk-header .et_mobile_nav_menu,.pk-header .mobile_nav{position:static !important;}
  .pk-header .et_mobile_nav_menu,.pk-header .mobile_nav{background:transparent;box-shadow:none;}
  .pk-header .mobile_nav.opened .et_mobile_menu{display:block !important;position:absolute;top:100%;left:0;right:0;background:var(--white);border-top:1px solid #e9e0d2;border-bottom:1px solid #e9e0d2;box-shadow:0 12px 24px rgba(34,49,61,.08);padding:6px 20px 14px;z-index:60;}
  .pk-header .et_mobile_menu{text-align:left !important;}
  .pk-header .et_mobile_menu li{margin:0;text-align:left !important;}
  .pk-header .et_mobile_menu a{display:block;padding:13px 4px;font-size:17px;font-weight:600;color:var(--ink);border-bottom:1px solid #f0e8da;white-space:normal;}
  .pk-header .et_mobile_menu li:last-child a{border-bottom:none;}
  .pk-header .et_mobile_menu a:hover{color:var(--blue);}
}

/* Implementation-fit repairs (2026-11-01, account side): Divi 5 renders
   theme-builder header columns as flex-direction:column, so the
   proposal's justify-content rules acted vertically, and its
   device-specific tablet flex classes outrank plain two-class repairs.
   These higher-specificity selectors supply the horizontal pinning the
   proposal intends: brand left, hamburger right. Same <=980px scope. */
@media (max-width:980px){
  .pk-header .pk-header-row .et_pb_column_0_tb_header.et_pb_column{align-items:flex-start !important;}
  .pk-header .pk-header-row .et_pb_column_1_tb_header.et_pb_column{align-items:flex-end !important;flex-grow:1 !important;}
}

/* HOME Elliana card: show exact 1181x733 asset at natural ratio (owner go 2026-11-01, origin-accepted DEV baseline) */
.pk-card-img img[src*=elliana-card-2026]{aspect-ratio:auto;height:auto;}

/* Header logo 2026-11-01 (owner-approved): original 2017 pk.png restored in the brand slot, transparent/unboxed, links home; brand text kept for screen readers. <=980px: brand column flexes so the wide logo stays undistorted beside the hamburger */
.pk-brand .et_pb_text_inner p{padding-bottom:0;}
.pk-logo-link{display:inline-flex;align-items:center;text-decoration:none;}
.pk-logo-img{height:52px;width:auto;display:block;}
.pk-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media (max-width:980px){.pk-header-row .et_pb_column_0_tb_header.et_pb_column{flex:1 1 auto;} .pk-header-row .et_pb_column_1_tb_header.et_pb_column{flex:0 0 auto;} .pk-logo-img{height:40px;width:auto;max-width:none;} .pk-logo-link{max-width:100%;}}

/* ==========================================================
   Media outlet buttons - layout + spacing repair (origin
   Miranda FINAL proposal 2026-11-01; owner-flagged issue;
   owner-approved live Go 2026-11-01). Two independent
   problems:
   1) The five outlet links sit adjacent inside one <p>, so
      the flex container's gap:12px never reaches them - they
      render touching and wrap ragged at every width.
      p{display:contents} makes the links real flex items, so
      the existing gap and centered wrap apply everywhere,
      desktop included.
   2) Phone vertical rhythm: the section's desktop 88px
      padding and 26/30px link margins leave oversized gaps
      around the button cluster on small screens; trimmed
      modestly at <=640px (64px padding, 18/22px margins).
   Width behavior: 2 equal columns at 361-640px; a single tidy
   full-width stack at <=360px (measured: the longest label
   pair overflows the ~256px content width at 320px).
   No copy, link, target, or desktop styling changes.
   ========================================================== */
.pk-media-links .et_pb_text_inner p{display:contents;}
@media (max-width:640px){
  .pk-media.et_pb_section{padding:64px 0 !important;}
  .pk-media-links .et_pb_text_inner{margin:18px 0 22px;}
  a.pk-media-link{box-sizing:border-box;text-align:center;white-space:nowrap;}
}
@media (min-width:361px) and (max-width:640px){
  a.pk-media-link{flex:0 0 calc(50% - 6px);padding:12px 6px;font-size:14px;}
}
@media (max-width:360px){
  a.pk-media-link{flex:0 0 100%;padding:12px 10px;font-size:14.5px;}
}

/* ==========================================================
   Origin review repairs, LIVE deployment (2026-11-01; owner Go
   via iMessage 14:38 ET answering the explicit 18-photo publish
   question; origin-accepted DEV design from dev.philgraves.me).
   NEW-photo display only - approved sideways Elliana card, all
   existing tiles, and header unchanged:
   A) Hero photo keeps its natural ratio: no letterbox bands, no
      crops. Photo column centers transparently over the section
      panel so the hero reads as one coherent composition.
   B) New grid photos (a.pk-new) render full-frame at natural
      ratio; preexisting tiles keep the approved square cover crop.
   ========================================================== */
.pk-hero-split{align-items:center;}
.pk-hero-photo{background:transparent;}
.pk-hero-photo img{width:100%;height:auto;object-fit:initial;}
@media (max-width:820px){
  .pk-hero-photo{aspect-ratio:auto;}
}
.pk-gal-grid a.pk-new{aspect-ratio:auto;background:none;}
.pk-gal-grid a.pk-new img{width:100%;height:auto;aspect-ratio:auto;object-fit:initial;}
