/* Matthews Somatics: component styles. Colors, fonts and spacing come from theme.json. */

:root {
	--ms-gut: var(--wp--style--root--padding-left, clamp(22px, 5vw, 72px));
	--ms-gap: clamp(3rem, 6vw, 5rem); /* one gap between every section, matching the hero */
	--ms-ink: var(--wp--preset--color--ink);
	--ms-red: var(--wp--preset--color--burgundy);
	--ms-taupe: var(--wp--preset--color--taupe);
	--ms-taupe-lt: var(--wp--preset--color--taupe-light);
	--ms-line: var(--wp--preset--color--line);
	--ms-ground: var(--wp--preset--color--ground);
	--ms-display: var(--wp--preset--font-family--display);
	--ms-serif: var(--wp--preset--font-family--serif);
	--ms-dark: var(--wp--preset--color--ink);
	--ms-cream: var(--wp--preset--color--cream);
}

html { scroll-behavior: smooth; overflow-x: clip; }
body { -webkit-font-smoothing: antialiased; }
.site-main, .site-footer { overflow-x: clip; }
:focus-visible { outline: 2px solid var(--ms-red); outline-offset: 3px; }
strong { color: var(--ms-ink); font-weight: 600; }
img { height: auto; }

/* ---------- Header: logo, menu across the top, angled booking button ---------- */
.site-header { position: relative; z-index: 100; }
.ms-head { padding: 0 var(--ms-gut); height: 80px; box-sizing: border-box; align-items: center; gap: 24px; }
body:not(.editor-styles-wrapper) .ms-head {
	position: fixed; top: 0; left: 0; right: 0;
	background: var(--ms-ground); border-bottom: 1px solid var(--ms-line);
}
body.admin-bar:not(.editor-styles-wrapper) .ms-head { top: 32px; }
@media (max-width: 782px) { body.admin-bar:not(.editor-styles-wrapper) .ms-head { top: 46px; } }
.ms-logo { display: block; line-height: 0; flex-shrink: 0; }
.ms-logo img { width: 180px; height: auto; }
@media (min-width: 768px) { .ms-logo img { width: 210px; } }

/* Desktop menu */
.ms-nav { gap: 30px !important; font: 600 1.1rem/1 var(--wp--preset--font-family--sans); }
.ms-nav .wp-block-navigation-item__content { color: var(--ms-ink); padding: 8px 0; position: relative; }
.ms-nav .wp-block-navigation-item__content:hover { color: var(--ms-red); text-decoration: none; }
.ms-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--ms-red); }
.ms-nav .wp-block-navigation__container > .wp-block-navigation-item:not(.nav-book) > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 2px; background: var(--ms-red);
	transform: scaleX(0); transform-origin: left; transition: transform .2s;
}
.ms-nav .wp-block-navigation-item:not(.nav-book) > .wp-block-navigation-item__content:hover::after,
.ms-nav .current-menu-item:not(.nav-book) > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.ms-nav .nav-book { margin-left: 8px; }
.ms-nav .nav-book > .wp-block-navigation-item__content,
.ms-head .wp-block-navigation__responsive-container-open {
	background: var(--ms-red); color: #fff !important; padding: 15px 30px !important;
	clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%); transition: background-color .2s;
}
.ms-nav .nav-book > .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--burgundy-dark); }

/* Collapse to a Menu button below 1200px (core only collapses at 600px) */
@media (max-width: 1199px) {
	.ms-head .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.ms-head .wp-block-navigation__responsive-container-open { display: flex !important; }
}
@media (min-width: 1200px) {
	.ms-head .wp-block-navigation__responsive-container-open { display: none !important; }
	.ms-head .wp-block-navigation__responsive-container:not(.is-menu-open) { display: block !important; position: static; }
}
.ms-head .wp-block-navigation__responsive-container-open { font: 600 .9375rem/1 var(--wp--preset--font-family--sans); padding: 13px 26px !important; }
.ms-head .wp-block-navigation__responsive-container-open svg, .ms-head .wp-block-navigation__responsive-container-close svg { display: none; }
.ms-head .wp-block-navigation__responsive-container-open::before { content: "Menu"; }
.ms-head .wp-block-navigation__responsive-container-close::before { content: "Close"; }
.ms-head .wp-block-navigation__responsive-container-close {
	position: fixed; top: 22px; right: var(--ms-gut); font: 600 .9375rem/1 var(--wp--preset--font-family--sans);
	color: var(--ms-ink); border-bottom: 2px solid var(--ms-red); padding: 4px 0;
}
.admin-bar .ms-head .wp-block-navigation__responsive-container-close { top: 58px; }

/* Mobile menu panel */
.ms-head .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--ms-ground) !important; color: var(--ms-ink) !important; padding: 0;
	display: flex !important; align-items: center; justify-content: center;
}
.ms-head .is-menu-open .wp-block-navigation__responsive-close,
.ms-head .is-menu-open .wp-block-navigation__responsive-dialog { width: 100%; max-width: none; }
.ms-head .is-menu-open .wp-block-navigation__responsive-container-content { padding: 0 !important; align-items: center !important; }
.ms-head .is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: center !important; gap: .4rem !important; }
.ms-head .is-menu-open .wp-block-navigation-item:not(.nav-book) .wp-block-navigation-item__content {
	font: 600 clamp(2rem, 1.5rem + 2.5vw, 3rem)/1.15 var(--ms-display) !important; color: var(--ms-ink) !important; letter-spacing: -.02em; padding: 0 !important;
}
.ms-head .is-menu-open .wp-block-navigation-item__content::after { display: none; }
.ms-head .is-menu-open .nav-book { margin: 1.5rem 0 0; }

/* Room for the fixed header on every page */
.site-main { padding-top: 140px; }
body:has(.ms-top) .site-main { padding-top: 80px; }
.site-main, .site-main > .entry-content { margin-top: 0 !important; }
.site-main > .entry-content > :first-child { margin-top: 0; }

/* ---------- Type styles ---------- */
.is-style-display { font-size: clamp(2.9rem, 1.6rem + 5vw, 6rem); line-height: .95; letter-spacing: -.025em; }
h1.is-style-display { font-size: clamp(3.2rem, 1.8rem + 5.6vw, 7rem); }
.is-style-display::after { content: "."; color: var(--ms-red); }
.is-style-sub { font-size: clamp(1.45rem, 1.2rem + 1vw, 2rem) !important; color: var(--ms-taupe) !important; font-weight: 500 !important; line-height: 1.2 !important; letter-spacing: -.005em; }
.is-style-tagline { font: 600 clamp(1.9rem, 1.4rem + 2.2vw, 3.1rem)/1.3 var(--ms-display); color: var(--ms-taupe); letter-spacing: -.01em; }
.is-style-kicker { font-size: .6875rem !important; line-height: 1.5 !important; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--ms-taupe); }
.is-style-links { line-height: 1.9; }
.is-style-links .sep { color: var(--ms-taupe-lt); margin: 0 .55em; font-weight: 400; }
.is-style-center { text-align: center; }
.is-style-center > * { margin-left: auto !important; margin-right: auto !important; }

ul.is-style-dots { list-style: none; padding: 0; }
ul.is-style-dots li { position: relative; padding-left: 1.4rem; line-height: 1.75; margin-bottom: .6rem; }
ul.is-style-dots li::before { content: ""; position: absolute; left: 0; top: .72em; width: 6px; height: 6px; border-radius: 50%; background: var(--ms-red); }
@media (min-width: 900px) { ul.is-style-dots.two-col { columns: 2; column-gap: 3rem; } ul.is-style-dots.two-col li { break-inside: avoid; } }

/* ---------- Decorations ---------- */
.is-style-hero, .is-style-feature, .is-style-feature-flip, .is-style-feature > .wp-block-column:first-child { position: relative; }
.is-style-hero::after, .is-style-feature::after, .is-style-feature-flip::after,
.is-style-feature > .wp-block-column:first-child::after, .is-style-feature-flip > .wp-block-column:last-child::after,
.is-style-big::before { content: ""; position: absolute; pointer-events: none; }
.is-style-hero::after, .is-style-feature::after {
	width: 130px; height: 164px; background: url(../img/knot.png) center / contain no-repeat; opacity: .1;
}
.is-style-hero::after { left: 36%; bottom: 24px; z-index: 3; }
.is-style-hero:has(.wp-block-column:first-child > :nth-child(2))::after { display: none; }

/* Byline: small angled portrait of Toby under the hero intro */
.ms-byline { gap: 16px; align-items: center; margin-top: 1.75rem !important; }
.ms-byline p { margin: 0; font-size: .9375rem; line-height: 1.5; }
.ms-byline strong { font: 600 1.25rem/1.2 var(--ms-display); }
.is-style-hero .ms-avatar { margin: 0; flex-shrink: 0; }
.is-style-hero .ms-avatar img {
	width: 84px !important; height: 84px !important; aspect-ratio: 1; object-fit: cover; object-position: 50% 20%;
	clip-path: polygon(0 0, 100% 0, calc(100% - 22px) 100%, 0 100%);
}
.is-style-feature::after { display: none; }

.is-style-feature-flip::after { display: none; }
@media (max-width: 899px) { .is-style-hero::after, .is-style-feature::after, .is-style-feature > .wp-block-column:first-child::after { display: none; } }

/* Small burgundy headline above a display heading */
.wp-block-heading.is-style-eyebrow {
	display: flex; align-items: center; gap: 14px; margin-bottom: 1rem !important;
	font: 600 .875rem/1.4 var(--wp--preset--font-family--sans) !important; letter-spacing: .2em; text-transform: uppercase; color: var(--ms-red) !important;
}
.wp-block-heading.is-style-eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--ms-red); transform: skewX(-15deg); flex-shrink: 0; }
.is-style-center .wp-block-heading.is-style-eyebrow { justify-content: center; }

/* ---------- Hero: big heading + photo bleeding off the right edge ---------- */
.wp-block-columns.is-style-hero { gap: 32px; margin-top: 0; margin-bottom: 0; }
.is-style-hero .wp-block-column { position: relative; z-index: 2; }
.is-style-hero .wp-block-column:first-child { padding: 0 var(--ms-gut); }
.is-style-hero .wp-block-column:first-child > * + * { margin-top: 1.5rem; }
.is-style-hero .wp-block-column:last-child { padding-left: var(--ms-gut); z-index: 1; }
.is-style-hero figure { margin: 0; }
.is-style-hero img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
@media (min-width: 782px) {
	.wp-block-columns.is-style-hero { gap: 0; align-items: center !important; }
	.is-style-hero .wp-block-column:first-child { flex: 0 0 45% !important; padding-left: calc(var(--ms-gut) + 4vw); margin-right: -12vw; }
	.is-style-hero .wp-block-column:last-child { flex: 1 1 55% !important; padding-left: 0; }
	.is-style-hero img { aspect-ratio: 5 / 3.4; }
	.is-style-hero .wp-block-column:first-child p:not(.is-style-links) { max-width: 26em; }
}

/* ---------- Page sections ---------- */
.ms-top { margin-top: 0 !important; padding-top: var(--ms-gap); }
.site-main > .entry-content > * { margin-top: 0 !important; }
.ms-sec .wp-block-column > :last-child, .ms-sec > :last-child, .ms-sec ul:last-child li:last-child { margin-bottom: 0 !important; }
.site-main > .entry-content > .ms-intro, .site-main > .entry-content > .ms-quote { margin-top: var(--ms-gap) !important; }
.ms-intro, .ms-quote { color: var(--ms-cream); }
.ms-intro { background: var(--ms-dark); padding-top: clamp(4.5rem, 9vw, 8rem); padding-bottom: clamp(4.5rem, 9vw, 8rem); }
.ms-intro > p:not(.is-style-tagline) { max-width: 36em; color: rgba(244, 238, 229, .82); }
.ms-intro .is-style-tagline { margin-bottom: 2rem; color: var(--ms-cream); max-width: 22em; }
/* Intro band: Toby's photo beside the text */
.ms-intro-cols { gap: 32px clamp(2.5rem, 6vw, 6rem) !important; align-items: center !important; margin: 0 !important; }
.ms-intro-cols > .wp-block-column:first-child { flex: 0 0 38% !important; }
.ms-intro-cols figure { margin: 0; }
/* same 15 degree edge as the other photos: tan(15deg) x height = 33.5% of width at 4:5 */
.ms-intro-cols img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; clip-path: polygon(0 0, 100% 0, 66.5% 100%, 0 100%); }
.ms-intro-cols .is-style-tagline { margin-top: 0; }
/* Name card overlapping the bottom of Toby's photo */
.ms-intro-cols .ms-namecard {
	position: relative; z-index: 2; width: fit-content; margin: -3.25rem 0 0 1.25rem !important;
	background: var(--ms-red); color: #fff; padding: 1rem 2.6rem 1rem 1.6rem;
	clip-path: polygon(0 0, 100% 0, calc(100% - 16px) 100%, 0 100%);
	font-size: .875rem; line-height: 1.45; letter-spacing: .02em; color: rgba(255, 255, 255, .85);
}
.ms-intro-cols .ms-namecard strong { display: block; color: #fff; font: 600 1.375rem/1.2 var(--ms-display); letter-spacing: -.005em; }
.ms-intro-cols > .wp-block-column:last-child > * { max-width: 34em; }
@media (max-width: 781px) { .ms-intro-cols > .wp-block-column:first-child { flex-basis: 100% !important; } .ms-intro-cols img { aspect-ratio: 1; max-width: 360px; clip-path: polygon(0 0, 100% 0, 73.2% 100%, 0 100%); } }
.ms-sec.ms-quote { background: var(--wp--preset--color--burgundy-dark); padding-top: clamp(5rem, 10vw, 8.5rem); padding-bottom: clamp(5rem, 10vw, 8.5rem); }
.ms-quote .wp-block-quote.is-style-big p { color: var(--ms-cream); }
.ms-quote .wp-block-quote.is-style-big cite { color: #D9C2B8; }
.ms-quote .wp-block-quote.is-style-big::before { filter: brightness(0) invert(1); opacity: .08; }
.ms-intro .wp-block-button:not(.is-style-plain) .wp-block-button__link { background: var(--ms-red); }
.ms-intro .wp-block-button.is-style-plain .wp-block-button__link, .ms-quote a { color: var(--ms-cream) !important; }
.ms-intro .wp-block-button.is-style-plain .wp-block-button__link:hover { color: #fff !important; border-color: #fff; }
.ms-cta .is-style-display { margin: .5rem auto 1.5rem; }
.ms-cta > p:not(.is-style-kicker):not(.is-style-links) { max-width: 34em; }
.ms-sec > .is-style-display { margin-bottom: 2rem; }

/* ---------- Feature: photo bleeding off one edge, heading overlapping it ---------- */
.ms-sec { padding-top: var(--ms-gap); padding-bottom: 0; }
.wp-block-columns.is-style-feature, .wp-block-columns.is-style-feature-flip { gap: 28px; margin-top: 0; margin-bottom: 0; align-items: flex-start; }
.is-style-feature figure, .is-style-feature-flip figure { margin: 0; }
.is-style-feature img, .is-style-feature-flip img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.is-style-feature .wp-block-column:last-child, .is-style-feature-flip .wp-block-column:first-child { padding: 0 var(--ms-gut); position: relative; z-index: 2; }
.is-style-feature .wp-block-column:last-child > *, .is-style-feature-flip .wp-block-column:first-child > * { max-width: 33em; }
.is-style-feature .is-style-display, .is-style-feature-flip .is-style-display { max-width: none !important; margin-bottom: 2rem; }
.is-style-feature .is-style-sub, .is-style-feature-flip .is-style-sub { margin-top: 2rem; margin-bottom: .75rem; }
.is-style-feature .is-style-display + .is-style-sub, .is-style-feature-flip .is-style-display + .is-style-sub { margin-top: 0; }
@media (min-width: 782px) {
	.wp-block-columns.is-style-feature, .wp-block-columns.is-style-feature-flip { gap: 0; }
	.is-style-feature > .wp-block-column, .is-style-feature-flip > .wp-block-column { flex: 1 1 50% !important; }
	.is-style-feature img, .is-style-feature-flip img { aspect-ratio: 1 / 1; }
	.is-style-feature .wp-block-column:last-child { padding: 2.5rem var(--ms-gut) 0 7vw; }
	.is-style-feature .wp-block-column:last-child .is-style-display { margin-left: -14vw; }
	.is-style-feature-flip .wp-block-column:first-child { padding: 2.5rem 0 0 calc(var(--ms-gut) + 4vw); }
	.is-style-feature-flip .wp-block-column:first-child .is-style-display { margin-right: -18vw; position: relative; }
	.is-style-feature-flip .wp-block-column:first-child > :not(.is-style-display) { padding-right: 3vw; }
}
@media (max-width: 781px) {
	.is-style-feature-flip > .wp-block-column:last-child { order: -1; }
	.is-style-feature-flip > .wp-block-column:last-child, .is-style-feature > .wp-block-column:first-child { padding-left: var(--ms-gut); }
}
/* Angled photos: a 15 degree "/" edge on the side that faces the text. --cut = tan(15deg) x height, as a % of width */
.is-style-hero img, .is-style-feature img, .is-style-feature-flip img { --cut: 20%; }
.is-style-hero img, .is-style-feature-flip img, .wp-block-image.is-style-diagonal img { clip-path: polygon(var(--cut) 0, 100% 0, 100% 100%, 0 100%); }
.is-style-feature img { clip-path: polygon(0 0, 100% 0, calc(100% - var(--cut)) 100%, 0 100%); }
.is-style-hero img { --cut: 16.8%; }
@media (min-width: 782px) {
	.is-style-hero img { --cut: 18.2%; }
	.is-style-feature img, .is-style-feature-flip img { --cut: 26.8%; }
}
.focus-top img { object-position: 50% 18%; }
img.wp-image-1215 { mix-blend-mode: multiply; filter: grayscale(1) contrast(1.05); }

/* ---------- Quote ---------- */
.wp-block-quote.is-style-big { position: relative; border: 0; padding: 0; margin: 0 auto; max-width: 900px; text-align: center; }
.wp-block-quote.is-style-big p { font: italic 500 clamp(1.9rem, 1.3rem + 2.2vw, 3rem)/1.3 var(--ms-serif); color: var(--ms-ink); letter-spacing: -.01em; margin: 0; }
.wp-block-quote.is-style-big cite { display: block; margin-top: 1.5rem; font: 600 .75rem/1 var(--wp--preset--font-family--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--ms-taupe); font-style: normal; }
.wp-block-quote.is-style-big::before { width: 190px; height: 240px; left: 50%; top: 50%; transform: translate(-50%, -50%); background: url(../img/knot.png) center / contain no-repeat; opacity: .07; z-index: -1; }
.wp-block-quote.is-style-big { isolation: isolate; }

/* ---------- Two-column info (rates / where and when) ---------- */
.ms-info { gap: 72px 8vw !important; }
.ms-info .is-style-display { font-size: clamp(2.6rem, 1.8rem + 2.6vw, 4.25rem); margin-bottom: 2rem; }
.ms-info .is-style-display.muted { color: var(--ms-taupe-lt); }
.wp-block-group.is-style-price {
	display: grid; grid-template-columns: 1fr auto; gap: 4px 24px; align-items: baseline;
	padding: 20px 0; margin: 0 !important; border-bottom: 1px dashed var(--ms-line);
}
.wp-block-group.is-style-price:first-of-type, .is-style-kicker + .wp-block-group.is-style-price { border-top: 1px dashed var(--ms-line); }
.is-style-price > * { margin: 0 !important; }
.is-style-price h3 { font-size: 1.375rem; line-height: 1.3; }
.is-style-price > :nth-child(2) { font: 600 1.75rem/1 var(--ms-display); color: var(--ms-red); text-align: right; }
.is-style-price > :nth-child(n+3) { grid-column: 1 / -1; font-size: .95rem; line-height: 1.7; }
.is-style-price.when > :nth-child(2) { font: 600 .9375rem/1.4 var(--wp--preset--font-family--sans); color: var(--ms-ink); }

/* ---------- FAQ ---------- */
.wp-block-details.is-style-faq { border-bottom: 1px dashed var(--ms-line); padding: 0; margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-details.is-style-faq:first-of-type, :not(.wp-block-details) + .wp-block-details.is-style-faq { border-top: 1px dashed var(--ms-line); }
.wp-block-details.is-style-faq summary {
	list-style: none; cursor: pointer; padding: 1.25rem 3rem 1.25rem 0; position: relative;
	font: 600 1.375rem/1.3 var(--ms-display); color: var(--ms-ink);
}
.wp-block-details.is-style-faq summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-faq summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font: 600 1.75rem/1 var(--ms-display); color: var(--ms-red); }
.wp-block-details.is-style-faq[open] summary::after { content: "\2212"; }
.wp-block-details.is-style-faq summary:hover { color: var(--ms-red); }
.wp-block-details.is-style-faq > :not(summary) { padding-right: 3rem; margin-block: 0 1rem; }
.wp-block-details.is-style-faq > :last-child { margin-bottom: 1.5rem; }

/* ---------- Buttons: angled to match the photos ---------- */
.wp-block-buttons { gap: 14px 28px; align-items: center; }
.is-style-center .wp-block-buttons, .wp-block-buttons.is-content-justification-center { justify-content: center; }
.wp-block-button:not(.is-style-plain) .wp-block-button__link {
	clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
	padding: 1rem 2.1rem; transition: background-color .2s;
}
.wp-block-button__link:hover { text-decoration: none; }
.wp-block-button.is-style-plain .wp-block-button__link {
	background: none !important; color: var(--ms-ink) !important; padding: 6px 0 !important;
	border-bottom: 2px solid var(--ms-red); font-weight: 600;
}
.wp-block-button.is-style-plain .wp-block-button__link:hover { color: var(--ms-red) !important; }
.is-style-hero .wp-block-buttons, .ms-intro .wp-block-buttons, .ms-cta .wp-block-buttons { margin-top: 2rem; }

/* ---------- Footer ---------- */
.site-footer { border-top: 1px solid var(--ms-line); padding: 64px 0 40px; margin-top: var(--ms-gap); font-size: .95rem; line-height: 1.8; }
.site-footer .wp-block-columns { gap: 36px; }
.site-footer .is-style-kicker { margin: 0 0 .75rem; }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li + li { margin-top: .35rem; }
.site-footer ul a { color: var(--ms-ink); font-weight: 500; }
.site-footer .tagline { max-width: 20em; margin-top: 1rem; }
.site-footer .ms-logo img { width: 200px; }
.site-footer .fine { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--ms-line); font-size: .8125rem; color: var(--ms-taupe); gap: 10px; }
.site-footer .fine p { margin: 0; }
.site-footer .fine a { color: var(--ms-taupe); font-weight: 500; }

/* ---------- 404 ---------- */
.page-404 { padding-bottom: 6rem; }

/* ---------- Motion ---------- */
@media (prefers-reduced-motion: no-preference) {
	@keyframes ms-rise { from { opacity: 0; transform: translateY(24px); } }
	body:not(.editor-styles-wrapper) .is-style-hero > .wp-block-column { animation: ms-rise 1s cubic-bezier(.2, .7, .2, 1) both; }
	body:not(.editor-styles-wrapper) .is-style-hero > .wp-block-column:last-child { animation-delay: .15s; }
}

/* Mindbody widgets (Pilates page) */
.ms-mb { max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto; }
.ms-sec healcode-widget { display: block; max-width: var(--wp--style--global--content-size, 760px); margin: 0 auto; }
.ms-sec .healcode { background: #fff; padding: clamp(1.25rem, 4vw, 2.5rem); width: 100%; box-sizing: border-box; font-family: inherit; color: var(--ms-ink); }
.ms-sec .healcode .hc_registration { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1.25rem; }
.ms-sec .healcode .hc_registration > * { min-width: 0; }
.ms-sec .healcode .hc_registration > :not(.hc-first-name, .hc-last-name, .hc-phone, .hc-email, .hc-state, .hc-postal-code) { grid-column: 1 / -1; }
.ms-sec .healcode .hc_registration > .hc-label { font-family: var(--ms-display); font-size: 1.25rem; margin: 1.5rem 0 .25rem; }
.ms-sec .healcode .hc_registration > .hc-label:first-child { margin-top: 0; }
.ms-sec .healcode .hc-registration-field { margin-top: .75rem; }
.ms-sec .healcode .liability { max-height: 14rem; overflow: auto; border: 1px solid var(--ms-line); padding: 1rem; background: var(--ms-ground); }
.ms-sec .healcode label { display: block; font-size: .9rem; margin: .9rem 0 .3rem; }
.ms-sec .healcode :is(input[type=text], input[type=email], input[type=tel], input[type=password], input[type=date], select, textarea) {
	width: 100%; box-sizing: border-box; padding: .7rem .8rem; border: 1px solid var(--ms-line); background: var(--ms-ground); font: inherit; color: var(--ms-ink); border-radius: 0;
}
.ms-sec .healcode .hc-liability, .ms-sec .healcode .hc-liability * { max-width: none !important; }
.ms-sec .healcode :is(input[type=submit], .hc-button) {
	background: var(--ms-red); color: #fff; border: 0; padding: .9rem 2.2rem; font: inherit; font-weight: 600; cursor: pointer; margin-top: 1.5rem;
	clip-path: polygon(8% 0, 100% 0, 92% 100%, 0 100%);
}
@media (max-width: 600px) { .ms-sec .healcode .hc_registration { grid-template-columns: 1fr; } }
