/* Contact page (body class tpc-contact): presentation only; content remains core Gutenberg blocks. */
.tpc-contact .content-page{max-width:1200px;padding-top:36px;padding-bottom:60px}
.tpc-contact .content-page>h1{display:none}
.tpc-contact-page{color:var(--pms-ink,#202b40);font-size:15px;line-height:1.65}
.tpc-contact-page *{box-sizing:border-box}
.tpc-contact-page h1,.tpc-contact-page h2,.tpc-contact-page h3{color:var(--pms-ink,#202b40);line-height:1.2;letter-spacing:-.035em}
.tpc-contact-page h2{font-size:28px;margin:0 0 15px}
.tpc-contact-page h3{font-size:20px;margin:0 0 12px}
.tpc-contact-page p{margin:0 0 16px}
.tpc-contact-hero{background:linear-gradient(115deg,#ecfbfe,#f2efff);border:1px solid var(--pms-border,#dfe5f0);border-radius:20px;padding:52px 56px;margin:0 0 28px}
.tpc-contact-hero h1{font-size:clamp(34px,4vw,52px);max-width:760px;margin:0 0 20px;font-weight:800}
.tpc-contact-hero .tpc-contact-intro{max-width:660px;font-size:17px;color:#586477;margin:0 0 26px}
.tpc-contact-page .tpc-contact-eyebrow,.tpc-contact-page .tpc-contact-label{font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--brand);margin:0 0 14px}
.tpc-contact-page .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 0}
.tpc-contact-page .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-height:46px;background:var(--pms-gradient);border:1px solid transparent;border-radius:7px;padding:12px 21px;font-size:14px;font-weight:700;color:#fff;text-decoration:none;line-height:1.4}
.tpc-contact-page .is-style-outline .wp-block-button__link{background:#fff;border-color:#ccd4e2;color:#334155}
.tpc-contact-page .wp-block-button__link:hover{filter:brightness(.96)}
.tpc-contact-page .wp-block-columns{display:grid;gap:24px;margin:0 0 32px}
.tpc-contact-page .wp-block-column{min-width:0}
.tpc-contact-page .tpc-contact-methods{grid-template-columns:repeat(3,minmax(0,1fr))}
.tpc-contact-card{height:100%;padding:24px;background:#fff;border:1px solid var(--pms-border);border-top:3px solid var(--pms-pink);border-radius:12px}
.tpc-contact-methods>.wp-block-column:nth-child(2) .tpc-contact-card{border-top-color:var(--pms-cyan)}
.tpc-contact-methods>.wp-block-column:nth-child(3) .tpc-contact-card{border-top-color:var(--pms-purple)}
.tpc-contact-card h3{font-size:18px;letter-spacing:-.02em;overflow-wrap:anywhere}
.tpc-contact-card h3 a{color:inherit;text-decoration:none}
.tpc-contact-card h3 a:hover{text-decoration:underline;color:var(--brand)}
.tpc-contact-card p:last-child{color:#69758a;font-size:13px;margin-bottom:0}
.tpc-contact-page .tpc-contact-main{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:32px;margin-top:36px}
.tpc-contact-form{padding:32px;border:1px solid var(--pms-border);border-radius:14px;background:#fff;scroll-margin-top:35px}
.tpc-contact-form>p{color:#69758a;font-size:14px}
.tpc-contact-visit{padding:30px;background:#f3f6fd;border:1px solid var(--pms-border);border-radius:14px;margin:0 0 24px}
.tpc-contact-visit h3{font-size:21px}
.tpc-contact-visit p{font-size:15px;color:#586477}
.tpc-contact-visit h3:not(:first-of-type){margin-top:28px;font-size:16px;letter-spacing:0}
.tpc-contact-prep{padding:8px 4px;color:#69758a;font-size:14px}
.tpc-contact-prep h3{font-size:18px}
.tpc-contact-prep ul{padding-left:20px;margin:0 0 18px}
.tpc-contact-prep li{margin-bottom:10px}
.tpc-contact-map{margin:42px 0 0;padding-top:32px;border-top:1px solid var(--pms-border)}
.tpc-contact-map>p{color:#69758a;margin-bottom:22px}
.tpc-contact-map iframe{display:block;width:100%;max-width:100%;height:360px;border:0;border-radius:14px;background:#f3f6fd}
.tpc-contact #contact-form .wpforms-container{margin:22px 0 0;padding:0}
.tpc-contact #contact-form .wpforms-container .wpforms-field{padding:10px 0}
.tpc-contact #contact-form .wpforms-container .wpforms-field-label{font-size:14px;font-weight:600;color:#334155;margin-bottom:8px}
.tpc-contact #contact-form .wpforms-container input[type=text],.tpc-contact #contact-form .wpforms-container input[type=email],.tpc-contact #contact-form .wpforms-container input[type=tel],.tpc-contact #contact-form .wpforms-container select,.tpc-contact #contact-form .wpforms-container textarea{width:100%;max-width:100%;border:1px solid #ccd5e3;border-radius:6px;background:#fff;font-family:inherit;font-size:16px;color:#334155;box-shadow:none;min-height:46px}
.tpc-contact #contact-form .wpforms-container textarea{min-height:150px;resize:vertical}
.tpc-contact #contact-form .wpforms-container .wpforms-field-medium{max-width:100%}
.tpc-contact #contact-form .wpforms-container .wpforms-field-sublabel{font-size:12px;color:#69758a}
.tpc-contact #contact-form .wpforms-container .wpforms-submit{min-height:48px;border:0;border-radius:7px;background:var(--pms-gradient);color:white;font-size:15px;font-weight:700;padding:12px 28px;cursor:pointer}
.tpc-contact #contact-form .wpforms-container input:focus-visible,.tpc-contact #contact-form .wpforms-container textarea:focus-visible,.tpc-contact #contact-form .wpforms-container select:focus-visible{outline:2px solid var(--pms-blue);outline-offset:2px}
@media(max-width:900px){.tpc-contact-page .tpc-contact-main{grid-template-columns:minmax(0,1fr)}.tpc-contact-hero{padding:40px 32px}.tpc-contact-card{padding:20px}.tpc-contact-card h3{font-size:16px}}
@media(max-width:600px){
 .tpc-contact .content-page{width:calc(100% - 40px);padding-top:22px;padding-bottom:32px}
 .tpc-contact-hero{padding:30px 22px;border-radius:14px;margin-bottom:20px}
 .tpc-contact-hero h1{font-size:34px;letter-spacing:-.035em}
 .tpc-contact-hero .tpc-contact-intro{font-size:15px}
 .tpc-contact-page .wp-block-buttons{display:grid;gap:10px}
 .tpc-contact-page .wp-block-button__link{width:100%;font-size:13px;padding:12px 14px}
 .tpc-contact-page .tpc-contact-methods{grid-template-columns:minmax(0,1fr);gap:12px}
 .tpc-contact-card{padding:20px}
 .tpc-contact-card h3{font-size:18px}
 .tpc-contact-page .tpc-contact-main{margin-top:24px;gap:26px}
 .tpc-contact-form{padding:22px 16px;border-radius:12px}
 .tpc-contact-page h2{font-size:25px}
 .tpc-contact-visit{padding:24px}
 .tpc-contact-map iframe{height:290px}
}
@media(max-width:360px){.tpc-contact #contact-form .wpforms-container .wpforms-recaptcha-container{transform:scale(.82);transform-origin:left top}}

/* v2.10.0: planning cards, location card with map. */
.tpc-contact-page .tpc-contact-visit .wp-block-buttons{margin-top:22px}
.tpc-contact-prep ul{list-style:none;padding-left:0}
.tpc-contact-prep li{position:relative;padding-left:28px}
.tpc-contact-prep li::before{content:"";position:absolute;left:0;top:3px;width:18px;height:18px;border-radius:50%;background:#e9f9fb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8fa3' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center/11px no-repeat}
.tpc-contact-guide{margin:56px 0 0;padding-top:44px;border-top:1px solid var(--pms-border,#dfe5f0)}
.tpc-contact-guide h2{margin-bottom:24px}
.tpc-contact-page .tpc-contact-guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0}
.tpc-guide-card{height:100%;padding:26px 24px 22px;background:#f7f9fd;border:1px solid var(--pms-border,#dfe5f0);border-radius:14px}
.tpc-guide-card::before{content:"";display:block;width:42px;height:42px;border-radius:11px;margin:0 0 18px;background:#fff center/22px no-repeat;box-shadow:0 0 0 1px var(--pms-border,#dfe5f0)}
.tpc-guide-card.is-browse::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e52988' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='3' width='7' height='7' rx='1.5'/%3E%3Crect x='3' y='14' width='7' height='7' rx='1.5'/%3E%3Crect x='14' y='14' width='7' height='7' rx='1.5'/%3E%3C/svg%3E")}
.tpc-guide-card.is-artwork::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8fa3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E")}
.tpc-guide-card.is-order::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 8 12 3 3 8v8l9 5 9-5Z'/%3E%3Cpath d='m3 8 9 5 9-5M12 13v8'/%3E%3C/svg%3E")}
.tpc-guide-card h3{font-size:18px;letter-spacing:-.02em;margin-bottom:10px}
.tpc-guide-card p{color:#586477;font-size:14.5px;margin:0}
.tpc-guide-card a{color:var(--brand);font-weight:600}
.tpc-contact-page .tpc-contact-map{margin:56px 0 0;padding:0;border:0;scroll-margin-top:30px}
.tpc-contact-location{display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);background:#fff;border:1px solid var(--pms-border,#dfe5f0);border-radius:18px;overflow:hidden;box-shadow:0 18px 40px -28px #20304a55}
.tpc-contact-location-info{position:relative;padding:40px 36px 36px;display:flex;flex-direction:column}
.tpc-contact-location-info::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#17bbd2 0 33.34%,#e52988 33.34% 66.67%,#f9d01a 66.67%)}
.tpc-contact-location-info h2{font-size:27px;margin-bottom:18px}
.tpc-contact-page .tpc-location-address{font-size:16px;line-height:1.6;margin-bottom:12px;padding-left:30px;position:relative}
.tpc-location-address::before,.tpc-location-hours::before{content:"";position:absolute;left:0;top:3px;width:19px;height:19px;background:center/contain no-repeat}
.tpc-location-address::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e52988' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5a7 7 0 0 1 14 0C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E")}
.tpc-contact-page .tpc-location-hint{font-size:13.5px;color:#69758a;margin:0 0 18px 30px}
.tpc-contact-page .tpc-location-hours{position:relative;padding:14px 0 0 30px;margin:0 0 4px;border-top:1px solid var(--pms-border,#dfe5f0);font-size:14.5px;color:#586477;display:flex;flex-wrap:wrap;gap:4px 10px}
.tpc-location-hours::before{top:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b8fa3' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E")}
.tpc-location-hours strong{color:var(--pms-ink,#202b40)}
.tpc-contact-location-info .wp-block-buttons{margin-top:auto;padding-top:24px}
.tpc-contact-location-map{min-height:440px;background:#eef2f8}
.tpc-contact-page .tpc-contact-location-map iframe{display:block;width:100%;height:100%;min-height:440px;border:0;border-radius:0;background:#eef2f8}
@media(max-width:900px){
 .tpc-contact-page .tpc-contact-guide-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .tpc-contact-location{grid-template-columns:minmax(0,1fr)}
 .tpc-contact-location-map,.tpc-contact-page .tpc-contact-location-map iframe{min-height:340px}
}
@media(max-width:600px){
 .tpc-contact-guide{margin-top:40px;padding-top:32px}
 .tpc-guide-card{padding:22px 20px 20px}
 .tpc-contact-page .tpc-contact-map{margin-top:40px}
 .tpc-contact-location{border-radius:14px}
 .tpc-contact-location-info{padding:30px 22px 26px}
 .tpc-contact-location-info h2{font-size:24px}
 .tpc-contact-location-map,.tpc-contact-page .tpc-contact-location-map iframe{min-height:300px}
}
.tpc-contact-location>.wp-block-group__inner-container,.tpc-contact-location-info>.wp-block-group__inner-container{display:contents}
