/* Technique: Focus Frame by Izzy, Framer Marketplace (Free, Limited licence) https://www.framer.com/marketplace/components/focus-frame/ */
/* Layout ref (structure only, no template code/copy/images): DevFolios template by Anayatul Islam, Framer Marketplace (Free, Limited licence). Full lines: CREDITS.md */
/* people_contact_v1 · People > Contact (PEOPLE_SPEC_v1 §D + SITE_PAGES_COMMON_v1 + RESOURCE_BANK_PICKS_v1_1 §3D + Designer calls 10:04/10:40). Template: people_about_v1.
   Layout only: no text, no ::before/::after words. The live page has no form, so the §3D form skins (Email Form, Animated Search Bar) are not used.
   Rhythm: hero + band 72 desktop / 40 phone, no floors; gaps measured outline to outline (Growth rule). */
main > section.band,main > section.hero{padding-top:72px!important;padding-bottom:72px!important}
main .sec-head{margin-bottom:32px}
main .sec-head h2{margin-bottom:0}
main > section > .wrap > :first-child{margin-top:0!important}
main > section.band > .wrap > :last-child,main > section.band > .wrap > :last-child > :last-child{margin-bottom:0!important}
h1,h2,h3{text-wrap:balance} main p{text-wrap:pretty}
/* focus-frame: 8px mat + 1px line, outer radius 22 / inner 14 */
.pc-frame{position:relative;border:1px solid #D6DCE8!important;border-radius:22px!important;padding:8px!important;background:rgba(255,255,255,.66)!important;box-shadow:0 8px 24px rgba(20,32,74,.08);overflow:hidden;clip-path:none!important;height:auto!important;aspect-ratio:auto!important}
.pc-frame img{border-radius:14px!important;display:block;width:100%;height:auto!important;aspect-ratio:587/640;object-fit:cover}
/* frosted card (C3) */
.pc-card{background:rgba(255,255,255,.66)!important;border:1px solid #D6DCE8!important;border-radius:22px!important;box-shadow:0 8px 24px rgba(20,32,74,.08)!important;padding:32px!important;
  backdrop-filter:saturate(160%) blur(18px);-webkit-backdrop-filter:saturate(160%) blur(18px)}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.pc-card{background:#fff!important}}
.pc-card > :first-child{margin-top:0!important}.pc-card > :last-child{margin-bottom:0!important}
@media (min-width:769px){
  .pc-hero .wrap{grid-template-columns:1fr 1fr!important;gap:48px!important}
  .pc-hero .hero-art{max-width:460px;justify-self:center;width:100%}
  /* 5/7: heading left, details card right */
  .pc-contact .wrap{display:grid;grid-template-columns:5fr 7fr;gap:24px 48px;align-items:start}
  .pc-contact .wrap > .sec-head{margin-bottom:0}
  .pc-contact .pc-card{max-width:none;margin:0}
}
@media (max-width:768px){
  main > section.band,main > section.hero{padding-top:40px!important;padding-bottom:40px!important}
  main .sec-head{margin-bottom:24px}
  .pc-hero .pc-frame{padding:6px!important;max-width:360px;margin-left:auto;margin-right:auto}
  .pc-hero .pc-frame img{max-height:300px}
  .pc-card{padding:20px!important}
}
main > section.band .sec-head h2{text-box:trim-both cap alphabetic}
main > section .sec-head > .eyebrow:first-child{display:flex;width:fit-content;text-box:trim-both cap alphabetic}
.tn-ok,.tn-hide{min-height:44px!important;min-width:44px!important;display:inline-flex!important;align-items:center;justify-content:center}
.tn-x{min-width:44px!important;min-height:44px!important}
/* orphan fix (orphans5 at 900): small desktops get 6/6 and a slightly smaller H2 so "Leave contact details" holds one line */
@media (min-width:769px) and (max-width:1100px){
  .pc-contact .wrap{grid-template-columns:1fr 1fr}
  .pc-contact .sec-head h2{font-size:clamp(28px,3.3vw,40px)}
}
/* Technique: Email Form by KO Studio, Framer Marketplace (Free, Limited licence) https://www.framer.com/marketplace/components/email-waitlist-form/ (field + button skin) */
/* Technique: Animated Search Bar by Ratheo Designer, Framer Marketplace (Free, Limited licence) https://www.framer.com/marketplace/components/animated-search-bar/ (field focus skin only; no typing/placeholder animation) */
/* Rowan 12:15: contact form. Info left (no card), form right in the glass card. Fields 48 tall, 16px, labels visible, inline errors, gap 16. */
.pc-info{max-width:none}
.pc-form{display:grid;gap:16px;margin:0}
.pc-form h3{margin:0;font-size:22px;color:#14204A}
.pc-form p{margin:0}
.pc-req-note,.pc-help{font-size:15px;color:#4A5578}
.pc-field{display:grid;gap:6px}
.pc-field label{font-weight:700;font-size:16px;color:#14204A}
.pc-req{color:#A1360B}
.pc-form input,.pc-form textarea{box-sizing:border-box;width:100%;min-height:48px;padding:12px 14px;font:inherit;font-size:16px;color:#14204A;background:#fff;border:1px solid #6B7591;border-radius:12px}
.pc-form textarea{min-height:120px;resize:vertical}
.pc-form input:focus,.pc-form textarea:focus{outline:none;border:2px solid #253679;padding:11px 13px;box-shadow:0 0 0 3px rgba(37,54,121,.25)}
.pc-form [aria-invalid="true"]{border:2px solid #B42318;padding:11px 13px}
.pc-err{color:#B42318;font-size:15px;font-weight:600}
.pc-status{font-size:15px;color:#14204A;min-height:0}
.pc-status:empty{display:none}
.pc-form .btn-row{margin:0}
.pc-form .btn{min-height:48px}
@media (min-width:769px){.pc-contact .wrap{grid-template-rows:auto 1fr}.pc-contact .wrap > .sec-head{grid-column:1;grid-row:1}.pc-contact .pc-info{grid-column:1;grid-row:2;margin:0}.pc-contact .pc-form{grid-column:2;grid-row:1 / span 2;align-self:start}}
@media (max-width:768px){.pc-contact .pc-form{margin-top:24px}}
/* Web Designer 12:24: white card with the #D6DCE8 outline (not frosted); single column; fields 48 tall / 16px; gap 16, 24 before the button;
   errors under each field; submit #BF5508 white text, full width on phone, auto on desktop. */
form.pc-form.pc-card{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border:1px solid #D6DCE8!important;box-shadow:0 8px 24px rgba(20,32,74,.06)!important}
.pc-form{gap:16px}
.pc-form .pc-field{gap:6px}
.pc-form input,.pc-form select{box-sizing:border-box;width:100%;height:48px;min-height:48px;padding:0 14px;font:inherit;font-size:16px;line-height:46px;color:#14204A;background:#fff;border:1px solid #6B7591;border-radius:12px}
.pc-form select{appearance:none;-webkit-appearance:none;padding-right:44px;
  background:#fff linear-gradient(45deg,transparent 50%,#253679 50%) calc(100% - 22px) 50%/7px 7px no-repeat,#fff linear-gradient(-45deg,transparent 50%,#253679 50%) calc(100% - 17px) 50%/7px 7px no-repeat}
.pc-form select{background:linear-gradient(45deg,transparent 50%,#253679 50%) calc(100% - 22px) calc(50% + 1px)/6px 6px no-repeat,linear-gradient(-45deg,transparent 50%,#253679 50%) calc(100% - 16px) calc(50% + 1px)/6px 6px no-repeat,#fff}
.pc-form textarea{padding:12px 14px;font-size:16px}
.pc-form input:focus,.pc-form select:focus{outline:none;border:2px solid #253679;padding:0 13px;box-shadow:0 0 0 3px rgba(37,54,121,.25)}
.pc-form select:focus{padding-right:43px}
.pc-form input[aria-invalid="true"]{border:2px solid #B42318;padding:0 13px}
.pc-form textarea:focus,.pc-form textarea[aria-invalid="true"]{padding:11px 13px}
.pc-form .pc-submit{margin-top:8px!important} /* 16 grid gap + 8 = 24 before the button */
.pc-form .btn.btn-primary{background:#BF5508!important;border-color:#BF5508!important;color:#fff!important;min-height:48px}
.pc-form .btn.btn-primary:hover{background:#A64508!important;border-color:#A64508!important}
.pc-form .btn.btn-primary:focus-visible{outline:3px solid #253679;outline-offset:3px}
@media (min-width:769px){.pc-form .pc-submit{display:flex}.pc-form .pc-submit .btn{width:auto}}
@media (max-width:768px){.pc-form .pc-submit{display:block}.pc-form .pc-submit .btn{width:100%;display:flex;justify-content:center}}
.pc-privacy{font-size:15px;color:#4A5578;margin-top:12px}.pc-privacy a{color:#1F3A93;text-decoration:underline;display:inline-block;min-height:24px}