:root {
	color-scheme: light;
	--oa-ink: #000000;
	--oa-clay: #A37752;
	--oa-sun: #F7BA5F;
	--oa-cream: #FAF8F2;
	--oa-stone: #767676;
	--oa-olive: #615E49;
	--oa-paper: #FAF8F2;
	--oa-text: #615E49;
	--oa-muted: #615E49;
	--oa-link: #615E49;
	--oa-link-hover: #615E49;
	--oa-focus: #615E49;
	--oa-line: rgb(118 118 118 / 24%);
	--oa-control-line: rgb(118 118 118 / 82%);
	--oa-action-line: rgb(247 186 95 / 55%);
	--oa-control-bg: #FAF8F2;
	--oa-card: #FAF8F2;
	--oa-action-text: #615E49;
	--oa-display: #A37752;
	--oa-heading: #615E49;
	--oa-radius: 10px;
	--oa-shadow: 0 12px 32px rgb(0 0 0 / 4%);
	--oa-serif: "Fraunces", Georgia, "Times New Roman", serif;
	--oa-sans: "DM Sans", "Avenir Next", "Segoe UI", sans-serif;
	--oa-width: 1024px;
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		color-scheme: dark;
		--oa-paper: #000000;
		--oa-text: rgb(250 248 242 / 68%);
		--oa-muted: rgb(250 248 242 / 55%);
		--oa-link: #A37752;
		--oa-link-hover: rgb(250 248 242 / 74%);
		--oa-focus: #F7BA5F;
		--oa-line: rgb(118 118 118 / 32%);
		--oa-control-line: rgb(250 248 242 / 38%);
		--oa-action-line: rgb(247 186 95 / 45%);
		--oa-control-bg: #000000;
		--oa-card: #000000;
		--oa-action-text: rgb(250 248 242 / 68%);
		--oa-display: #A37752;
		--oa-heading: rgb(250 248 242 / 74%);
		--oa-shadow: 0 12px 32px rgb(0 0 0 / 16%);
	}
}

:root[data-theme="light"] { color-scheme: light; }
:root[data-theme="dark"] {
	color-scheme: dark;
	--oa-paper: #000000;
	--oa-text: rgb(250 248 242 / 68%);
	--oa-muted: rgb(250 248 242 / 55%);
	--oa-link: #A37752;
	--oa-link-hover: rgb(250 248 242 / 74%);
	--oa-focus: #F7BA5F;
	--oa-line: rgb(118 118 118 / 32%);
	--oa-control-line: rgb(250 248 242 / 38%);
	--oa-action-line: rgb(247 186 95 / 45%);
	--oa-control-bg: #000000;
	--oa-card: #000000;
	--oa-action-text: rgb(250 248 242 / 68%);
	--oa-display: #A37752;
	--oa-heading: rgb(250 248 242 / 74%);
	--oa-shadow: 0 12px 32px rgb(0 0 0 / 16%);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--oa-paper); }
body {
	display: flex;
	min-height: 100vh;
	flex-direction: column;
	margin: 0;
	background: var(--oa-paper);
	color: var(--oa-text);
	font-family: var(--oa-sans);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
img, video, iframe { max-width: 100%; }
img { height: auto; }
a { color: var(--oa-link); text-decoration-thickness: .08em; text-underline-offset: .18em; }
a:hover { color: var(--oa-link-hover); }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 2px solid var(--oa-focus); outline-offset: 3px; }
.screen-reader-text, .screen-reader-text span, .ui-helper-hidden-accessible { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 10000; inset: 8px auto auto 8px; padding: 10px 16px; transform: translateY(-150%); background: var(--oa-sun); color: var(--oa-ink); border-radius: 0 0 var(--oa-radius) var(--oa-radius); }
.skip-link:focus { transform: translateY(0); }
.wrap { width: min(100% - 48px, 1240px); margin-inline: auto; }

/* A compact, centered atelier masthead with a persistent one-touch mode control. */
.site-header { position: relative; z-index: 50; background: var(--oa-paper); box-shadow: 0 6px 18px rgb(0 0 0 / 3%); }
.masthead { position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 132px; gap: 28px; }
.masthead__brand { grid-column: 2; grid-row: 1; display: grid; place-items: center; }
.masthead__start { grid-column: 1; grid-row: 1; display: flex; align-items: center; gap: 2px; }
.custom-logo-link { display: inline-flex; align-items: center; justify-content: center; }
.custom-logo { display: block; width: auto; max-width: min(210px, 34vw); max-height: 94px; object-fit: contain; }
.wordmark { display: grid; color: var(--oa-clay); font-family: var(--oa-serif); font-size: clamp(28px, 4vw, 42px); font-weight: 700; line-height: .83; letter-spacing: -.07em; text-align: center; text-decoration: none; }
.wordmark span:last-child { color: var(--oa-sun); }
.header-search { position: static; display: block; }
.header-search summary { list-style: none; cursor: pointer; }
.header-search summary::-webkit-details-marker { display: none; }
.header-search__panel { position: absolute; z-index: 30; top: calc(100% + 12px); left: 0; width: min(100%, 340px); padding: 14px; border: 1px solid var(--oa-line); border-radius: 10px; background: var(--oa-card); box-shadow: var(--oa-shadow); }
.header-search:not([open]) > .header-search__panel { display: none; }
.header-search__panel .search-form { display: flex; }
.search-submit svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.masthead__tools { grid-column: 3; grid-row: 1; display: flex; justify-content: flex-end; align-items: center; gap: 22px; }
.masthead__tools .search-form { display: flex; align-items: center; gap: 8px; }
.search-form { display: flex; align-items: center; gap: 8px; max-width: 100%; }
.search-form label { display: block; min-width: 0; flex: 1 1 auto; margin: 0; }
.search-form input[type="search"] { box-sizing: border-box; width: 100%; height: 44px; min-height: 44px; padding: 8px 12px; border: 1px solid var(--oa-control-line); border-radius: 8px; color: var(--oa-text); background: var(--oa-control-bg); }
.search-form input[type="submit"], .search-form .search-submit { box-sizing: border-box; display: inline-flex; min-width: 0; width: auto; height: 44px; min-height: 44px; flex: 0 0 auto; align-items: center; justify-content: center; margin: 0; padding: 0 14px; border: 1px solid var(--oa-action-line); border-radius: 8px; background: var(--oa-control-bg); color: var(--oa-action-text); font-size: 14px; line-height: 1; white-space: nowrap; cursor: pointer; }
.icon-link, .theme-toggle { position: relative; display: inline-grid; min-width: 0; min-height: 0; width: 42px; height: 42px; padding: 8px; place-items: center; border: 1px solid transparent; border-radius: 50%; color: var(--oa-text); background: transparent; }
.icon-link:hover, .theme-toggle:hover { color: var(--oa-clay); border-color: var(--oa-action-line); background: transparent; }
.icon-link svg, .theme-toggle svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.theme-toggle__icon--moon { display: none; }
:root[data-theme="dark"] .theme-toggle__icon--sun { display: none; }
:root[data-theme="dark"] .theme-toggle__icon--moon { display: block; }
.account-link svg circle, .account-link svg path:first-of-type { fill: currentColor; stroke: currentColor; }
.cart-count { position: absolute; top: -4px; right: -4px; display: grid; min-width: 19px; height: 19px; padding-inline: 4px; place-items: center; border-radius: 99px; color: var(--oa-ink); background: var(--oa-sun); font-size: 11px; font-weight: 700; }
.cart-count[hidden] { display: none; }
.header-disclosure { position: static; }
.header-disclosure > summary { list-style: none; cursor: pointer; }
.header-disclosure > summary::-webkit-details-marker { display: none; }
.header-disclosure__panel { position: absolute; z-index: 35; top: calc(100% + 12px); right: 0; width: min(100%, 320px); padding: 12px; border: 1px solid var(--oa-line); border-radius: 12px; background: var(--oa-card); color: var(--oa-text); box-shadow: var(--oa-shadow); }
.dashboard-mobile-navigation { display: none; }
.account-panel { display: grid; gap: 3px; }
.account-panel__items { display: grid; gap: 3px; }
.header-disclosure:not([open]) > .header-disclosure__panel { display: none; }
.account-panel__link { display: flex; min-height: 44px; align-items: center; gap: 11px; padding: 8px 10px; border-radius: 8px; color: var(--oa-text); font-size: 15px; text-decoration: none; }
.account-panel__link:hover { background: var(--oa-control-bg); color: var(--oa-link); }
.account-panel__icon { display: inline-grid; flex: 0 0 20px; width: 20px; place-items: center; }
.account-panel__icon svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.account-panel__link--admin-dashboard svg circle, .account-panel__link--admin-dashboard svg path,
.account-panel__link--account svg circle, .account-panel__link--account svg path,
.account-panel__link--edit-account svg circle, .account-panel__link--edit-account svg path { fill: currentColor; }
.cart-panel h2 { margin: 4px 8px 16px; font-family: var(--oa-serif); font-size: 26px; font-weight: 500; }
.cart-panel .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; }
.cart-panel .woocommerce-mini-cart-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) 28px; grid-template-rows: auto auto; column-gap: 10px; row-gap: 4px; align-items: start; min-height: 92px; padding: 10px 0; border-bottom: 1px solid var(--oa-line); font-size: 14px; line-height: 1.5; overflow-wrap: anywhere; }
.cart-panel .woocommerce-mini-cart-item > a:not(.remove) { display: grid; grid-column: 1 / 3; grid-row: 1; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; min-width: 0; text-decoration: none; }
.cart-panel .woocommerce-mini-cart-item img { display: block; float: none !important; width: 72px !important; min-width: 72px; max-width: 72px; height: 72px !important; min-height: 72px; max-height: 72px; flex: 0 0 72px; margin: 0; border: 1px solid var(--oa-line); border-radius: 8px; background: var(--oa-control-bg); object-fit: contain; box-sizing: border-box; }
.cart-panel .woocommerce-mini-cart-item .quantity { display: block; grid-column: 2; grid-row: 2; min-width: 0; margin: 0; }
/* WooCommerce defaults its mini-cart remove control to bright red; keep it quiet and theme-coloured. */
.cart-panel .woocommerce-mini-cart-item a.remove { position: static; display: grid; grid-column: 3; grid-row: 1; width: 28px; height: 28px; margin: 0; place-items: center; border: 1px solid var(--oa-line); border-radius: 50%; background: transparent !important; color: var(--oa-muted) !important; font-size: 18px; font-weight: 400; line-height: 1; text-decoration: none; }
.cart-panel .woocommerce-mini-cart-item a.remove:hover,
.cart-panel .woocommerce-mini-cart-item a.remove:focus-visible { border-color: var(--oa-action-line); background: var(--oa-control-bg) !important; color: var(--oa-text) !important; }
.cart-panel .woocommerce-mini-cart__total { padding-top: 12px; border-top: 0; font-size: 15px; }
.cart-panel .woocommerce-mini-cart__buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.cart-panel .woocommerce-mini-cart__buttons .button { min-height: 38px; padding: 8px 12px; font-size: 13px; }
.cart-panel__basket-link { display: block; margin-top: 14px; padding: 8px; font-size: 14px; }
.navigation-shell { border-block: 1px solid var(--oa-line); }
.navigation-row { display: flex; justify-content: center; min-height: 62px; align-items: center; }
.primary-navigation { width: 100%; }
.oa-menu, .oa-menu ul { padding: 0; margin: 0; list-style: none; }
.oa-menu { display: flex; align-items: center; justify-content: center; gap: clamp(14px, 2.2vw, 34px); }
.oa-menu > li { position: relative; display: flex; align-items: center; gap: 2px; }
.oa-menu a, .menu-parent-label { display: inline-flex; align-items: center; min-height: 44px; color: var(--oa-text); font-size: 14px; font-weight: 650; letter-spacing: .02em; text-decoration: none; }
.oa-menu a:hover, .oa-menu .current-menu-item > a, .oa-menu .current_page_item > a { color: var(--oa-link); text-decoration: underline; text-underline-offset: .25em; }
.menu-parent-label { cursor: default; }
.sub-menu-toggle { display: grid; box-sizing: border-box; width: 22px; height: 44px; min-width: 0; min-height: 44px; flex: 0 0 22px; align-self: center; padding: 0; place-items: center; border: 0; border-radius: 0; background: transparent; color: var(--oa-text); font-size: 19px; line-height: 1; cursor: pointer; }
.sub-menu-toggle:hover { background: transparent; color: var(--oa-link); }
.sub-menu-toggle svg { display: block; width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; transition: transform .2s ease; }
.menu-item-has-children.is-open > .sub-menu-toggle svg, .sub-menu-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.oa-menu .sub-menu { position: absolute; z-index: 5; top: calc(100% - 2px); left: -16px; display: none; min-width: 230px; padding: 10px; border: 1px solid var(--oa-line); border-radius: 0 0 var(--oa-radius) var(--oa-radius); background: var(--oa-card); box-shadow: var(--oa-shadow); }
.oa-menu li.is-open > .sub-menu { display: block; }
.oa-menu .sub-menu li { display: flex; align-items: center; }
.oa-menu .sub-menu a, .oa-menu .sub-menu .menu-parent-label { width: 100%; min-height: 42px; padding: 8px 10px; font-size: 14px; }
.oa-menu .sub-menu .sub-menu { top: 0; left: 100%; }
.menu-toggle { display: none; }

/* Reusable page frame, designed around the existing 1024px content constraint. */
.site-main { flex: 1 0 auto; width: min(100% - 48px, var(--oa-width)); margin: 0 auto; padding: clamp(54px, 7vw, 92px) 0 clamp(76px, 9vw, 124px); }
.form-page, .contact-page, .dashboard-page { flex: 1 0 auto; }
.site-main--wide { max-width: var(--oa-width); }
.page-shell { width: 100%; }
.page-heading, .home-heading { max-width: 800px; margin: 0 auto clamp(34px, 5vw, 62px); text-align: center; }
.page-heading h1, .home-heading h1 { margin: 0; color: var(--oa-display); font-family: var(--oa-serif); font-size: clamp(38px, 6vw, 64px); font-weight: 500; line-height: 1.08; letter-spacing: -.04em; text-wrap: balance; }
.page-heading__note { max-width: 680px; margin: 12px auto 0; color: var(--oa-muted); font-size: 15px; line-height: 1.55; }
.eyebrow { margin: 0 0 14px; color: var(--oa-link); font-size: 12px; font-weight: 750; letter-spacing: .16em; line-height: 1.3; text-transform: uppercase; }
.page-featured-media { overflow: hidden; max-height: 650px; margin: 0 0 clamp(32px, 5vw, 64px); border-radius: 16px; background: var(--oa-card); }
.page-featured-media img { display: block; width: 100%; max-height: 650px; object-fit: cover; }
.brand-palette-artwork { width: min(100%, 820px); margin: 0 auto clamp(28px, 4vw, 44px); }
.brand-palette-artwork__image { display: block; width: 100%; height: auto; }
.prose { max-width: 820px; margin-inline: auto; font-size: clamp(17px, 1.65vw, 19px); line-height: 1.75; overflow-wrap: anywhere; }
.prose > * { max-width: 100%; overflow-wrap: anywhere; }
.prose > * + * { margin-top: 1.35em; }
.prose p { margin-block: 0 1.15em; }
.prose h2, .prose h3, .prose h4 { margin-block: 1.8em .65em; color: var(--oa-heading); font-family: var(--oa-serif); font-weight: 500; line-height: 1.2; letter-spacing: -.025em; }
.prose h2 { font-size: clamp(30px, 4vw, 46px); }
.prose h3 { font-size: clamp(25px, 3vw, 34px); }
.prose h4 { font-size: 22px; }
.prose ul, .prose ol { padding-inline-start: 1.35em; }
.prose blockquote { margin-inline: 0; padding: 8px 0 8px 24px; border-left: 2px solid var(--oa-action-line); color: var(--oa-muted); font-family: var(--oa-serif); font-size: 1.18em; }
.prose .testimonials-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 100%; }
.testimonials-grid .testimonial-card { display: flex; min-width: 0; flex-direction: column; margin: 0; padding: clamp(20px, 3vw, 28px); border: 1px solid var(--oa-line); border-radius: 14px; background: var(--oa-card); box-shadow: var(--oa-shadow); }
.testimonials-grid .testimonial-card__quote { margin: 0; padding: 0; border: 0; color: var(--oa-text); font-family: var(--oa-sans); font-size: 16px; line-height: 1.7; }
.testimonials-grid .testimonial-card__quote p { margin: 0; }
.testimonials-grid .testimonial-card__meta { display: grid; gap: 8px; margin-top: auto; padding-top: 20px; }
.testimonials-grid .testimonial-card__name { margin: 0; color: var(--oa-heading); font-family: var(--oa-serif); font-size: 22px; font-weight: 500; line-height: 1.2; }
.testimonials-grid .testimonial-card__source { margin: 0; color: var(--oa-muted); font-size: 12px; line-height: 1.45; }
.testimonials-grid .testimonial-card__source a { color: var(--oa-link); text-decoration: underline; text-underline-offset: .15em; }
.prose figure { margin-inline: 0; }
.prose img, .wp-block-image img, .gallery img { display: block; border-radius: 12px; }
.prose .alignwide, .prose .alignfull { width: 100%; max-width: 100%; margin-inline: 0; }
.prose iframe { width: 100%; min-height: 380px; border: 0; border-radius: 12px; }
.wp-block-gallery, .gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.wp-block-gallery .wp-block-image, .gallery-item { width: 100% !important; margin: 0 !important; }
.wp-block-gallery img, .gallery img { width: 100%; height: auto; object-fit: cover; }
.home-heading { margin-bottom: 28px; }
.home-heading h1 { font-size: clamp(34px, 5.2vw, 58px); }
.oa-home .site-main { padding-top: clamp(44px, 6vw, 76px); }
.oa-home .page-shell, .map-page { max-width: 820px; margin-inline: auto; }
.oa-home .prose { max-width: var(--oa-width); }
.oa-home .prose > p:first-child { font-size: clamp(19px, 2.1vw, 24px); line-height: 1.55; }
.oa-home .prose > p:first-child strong { color: var(--oa-link); }
.oa-home .prose > p:first-child + p img, .oa-home .prose > figure:first-of-type img { width: 100%; max-height: 600px; object-fit: cover; }
.page-shell--wide .prose { max-width: 100%; }
.map-page__intro { margin: 14px 0 0; color: var(--oa-muted); font-size: 18px; }
.map-card { display: grid; grid-template-columns: minmax(250px, .78fr) minmax(0, 1.5fr); overflow: hidden; min-height: 380px; border: 1px solid var(--oa-line); border-radius: 16px; background: var(--oa-card); box-shadow: var(--oa-shadow); }
.map-card__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: clamp(24px, 4vw, 52px); }
.map-card__copy h2 { margin: 0; font-family: var(--oa-serif); font-size: clamp(30px, 4vw, 44px); font-weight: 500; line-height: 1.1; }
.map-card__copy .button { margin-top: 14px; padding: 10px 12px; gap: 6px; font-size: 13px; font-weight: 400; white-space: nowrap; }
.map-card__frame { min-height: 380px; background: var(--oa-card); }
.map-card__frame iframe { display: block; width: 100%; height: 100%; min-height: 380px; border: 0; }
.contact-map-card { width: 100%; margin: clamp(36px, 6vw, 72px) auto 0; }

/* Cards, archive/search surfaces, pagination, and simple editorial indexes. */
.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.content-card { overflow: hidden; border: 1px solid var(--oa-line); border-radius: 14px; background: var(--oa-card); }
.content-card__media img { display: block; width: 100%; height: 230px; object-fit: cover; }
.content-card__body { padding: 22px; }
.content-card__title { margin: 0; font-family: var(--oa-serif); font-size: 26px; font-weight: 500; line-height: 1.15; }
.content-card__title a { color: var(--oa-text); text-decoration: none; }
.content-card__title a:hover { color: var(--oa-clay); }
.entry-summary { margin-top: 10px; color: var(--oa-muted); font-size: 15px; }
.entry-summary p { margin: 0; }
.editorial-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }
.editorial-layout--with-sidebar { grid-template-columns: minmax(0, 1fr) 250px; }
.editorial-content { min-width: 0; }
.post-comments { margin-top: 44px; padding-top: 28px; border-top: 1px solid var(--oa-line); }
.post-comments .comment-reply-title { color: var(--oa-heading); font-family: var(--oa-serif); font-size: 30px; font-weight: 500; }
.post-comments .comment-form label { margin-bottom: 8px; font-size: 16px; font-weight: 500; }
.post-comments .comment-form input:not([type="checkbox"]):not([type="submit"]), .post-comments .comment-form textarea { width: 100%; }
.post-comments .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; }
.post-comments .comment-form-cookies-consent input { margin-top: 7px; accent-color: var(--oa-clay); }
.post-comments .comment-list { padding-left: 20px; }
.post-comments .comment-list > li + li { margin-top: 24px; }
.editorial-layout--with-sidebar .content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.oa-sidebar { display: grid; align-content: start; gap: 24px; min-width: 0; padding-left: 22px; border-left: 1px solid var(--oa-line); font-size: 15px; line-height: 1.6; overflow-wrap: anywhere; }
.oa-sidebar .widget { min-width: 0; }
.oa-sidebar h2, .oa-sidebar h3, .footer-widgets h2, .footer-widgets h3 { margin: 0 0 13px; color: var(--oa-heading); font-family: var(--oa-serif); font-size: 23px; font-weight: 500; line-height: 1.2; }
.oa-sidebar ul { margin: 0; padding-left: 18px; }
.oa-sidebar li + li { margin-top: 10px; }
.oa-sidebar .wp-block-search__inside-wrapper { display: flex; gap: 8px; padding: 0; border: 0; }
.oa-sidebar .wp-block-search__input { min-width: 0; min-height: 44px; height: 44px; flex: 1; padding: 8px 10px; }
.oa-sidebar .wp-block-search__button { min-height: 44px; margin: 0; padding: 8px 10px; font-size: 13px; }
.oa-sidebar .wp-block-latest-posts, .oa-sidebar .wp-block-latest-comments { padding-left: 0; list-style: none; }
.archive-description { margin: -30px auto 48px; text-align: center; }
.pagination, .nav-links { display: flex; justify-content: center; gap: 8px; margin-top: 44px; }
.page-numbers { display: inline-grid; min-width: 42px; min-height: 42px; padding: 6px 12px; place-items: center; border: 1px solid var(--oa-line); border-radius: 8px; color: var(--oa-text); text-decoration: none; }
.page-numbers.current { border-color: var(--oa-clay); background: var(--oa-clay); color: var(--oa-ink); }

/* Forms and controls share readable sizing and spacious touch targets. */
.button, button, input[type="submit"], .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; min-height: 46px; padding: 10px 18px; border: 1px solid var(--oa-action-line); border-radius: var(--oa-radius); background: var(--oa-control-bg); color: var(--oa-action-text); font-weight: 650; line-height: 1.25; text-decoration: none; cursor: pointer;
}
.button--clay, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt { background: var(--oa-clay); color: var(--oa-ink); }
.button:hover, button:hover, input[type="submit"]:hover, .wp-element-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { border-color: var(--oa-clay); background: var(--oa-clay); color: var(--oa-ink); }
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"])), select, textarea { max-width: 100%; min-height: 48px; padding: 11px 14px; border: 1px solid var(--oa-control-line); border-radius: 8px; background: var(--oa-control-bg); color: var(--oa-text); }
input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, textarea:-webkit-autofill, select:-webkit-autofill {
	-webkit-text-fill-color: var(--oa-text);
	-webkit-box-shadow: 0 0 0 1000px var(--oa-control-bg) inset !important;
	box-shadow: 0 0 0 1000px var(--oa-control-bg) inset !important;
	caret-color: var(--oa-text);
}
input:-moz-autofill, textarea:-moz-autofill, select:-moz-autofill {
	box-shadow: 0 0 0 1000px var(--oa-control-bg) inset !important;
	color: var(--oa-text) !important;
}
textarea { min-height: 160px; }
label { display: block; margin-bottom: 7px; font-weight: 650; }
.form-row, .form-field { margin-bottom: 22px; }
input::placeholder, textarea::placeholder { color: var(--oa-muted); opacity: 1; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 13px 12px; border-bottom: 1px solid var(--oa-line); text-align: start; }

/* WooCommerce uses the same layout, palette, field rhythm, and cards. */
.woocommerce, .woocommerce-page { color: var(--oa-text); }
.woocommerce .woocommerce-notices-wrapper { margin-bottom: 22px; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { padding: 18px 22px 18px 52px !important; border: 1px solid var(--oa-action-line) !important; border-radius: var(--oa-radius); background: var(--oa-card) !important; color: var(--oa-text) !important; box-shadow: none !important; }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { content: ""; display: block; width: 20px; height: 20px; left: 20px; top: 20px; border: 0; background: var(--oa-heading); -webkit-mask: url("../images/notice-info.svg") center / contain no-repeat; mask: url("../images/notice-info.svg") center / contain no-repeat; }
.woocommerce-message::before { -webkit-mask-image: url("../images/notice-check.svg"); mask-image: url("../images/notice-check.svg"); }
.woocommerce-error::before { -webkit-mask-image: url("../images/notice-warning.svg"); mask-image: url("../images/notice-warning.svg"); }
.woocommerce-error { border-color: var(--oa-clay) !important; }
.woocommerce ul.products { --oa-shop-columns: 3; display: grid; grid-template-columns: repeat(var(--oa-shop-columns), minmax(0, 1fr)); gap: 22px; margin: 30px 0; }
.woocommerce ul.products.columns-1 { --oa-shop-columns: 1; }
.woocommerce ul.products.columns-2 { --oa-shop-columns: 2; }
.woocommerce ul.products.columns-3 { --oa-shop-columns: 3; }
.woocommerce ul.products.columns-4 { --oa-shop-columns: 4; }
.woocommerce ul.products.columns-5 { --oa-shop-columns: 5; }
.woocommerce ul.products.columns-6 { --oa-shop-columns: 6; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products[class*="columns-"] li.product { float: none; width: auto; margin: 0; padding: 14px; border: 1px solid var(--oa-line); border-radius: 14px; background: var(--oa-card); }
.woocommerce ul.products li.product img { overflow: hidden; border-radius: 9px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--oa-text); font-family: var(--oa-serif); font-size: 23px; }
.woocommerce div.product div.images img { border-radius: 14px; }
.oa-commerce-main .woocommerce .product_title { margin: 0 0 20px; color: var(--oa-display); font-family: var(--oa-serif); font-size: clamp(32px, 4.2vw, 46px); font-weight: 500; line-height: 1.12; letter-spacing: -.035em; }
.oa-commerce-main .woocommerce ul.products li.product .price, .oa-commerce-main .woocommerce div.product p.price, .oa-commerce-main .woocommerce div.product span.price { color: var(--oa-link); font-size: 19px; }
.oa-commerce-main .woocommerce form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.oa-commerce-main .woocommerce form.cart .quantity { margin: 0; }
.oa-commerce-main .woocommerce form.cart .qty { min-height: 46px; }
.oa-commerce-main .woocommerce div.product .woocommerce-tabs ul.tabs::before,
.oa-commerce-main .woocommerce div.product .woocommerce-tabs ul.tabs li { border-color: var(--oa-line); }
.oa-commerce-main .woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius: 8px 8px 0 0; background: var(--oa-card); }
.oa-commerce-main .woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--oa-muted); font-weight: 500; }
.oa-commerce-main .woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--oa-link); }
.oa-commerce-main .woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.oa-commerce-main .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce form.checkout, .woocommerce form.login, .woocommerce form.register, .woocommerce-MyAccount-content { padding: clamp(18px, 3vw, 30px); border: 1px solid var(--oa-line); border-radius: 14px; background: var(--oa-card); }
.woocommerce .quantity .qty { min-height: 44px; }
.woocommerce .woocommerce-ordering select, .woocommerce .variations select { width: auto; }
.oa-commerce-main .woocommerce .woocommerce-ordering select { padding-right: 42px; appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--oa-muted) 50%), linear-gradient(135deg, var(--oa-muted) 50%, transparent 50%); background-position: calc(100% - 17px) calc(50% + 1px), calc(100% - 12px) calc(50% + 1px); background-repeat: no-repeat; background-size: 5px 5px; }
.oa-commerce-main .woocommerce .woocommerce-ordering select::-ms-expand { display: none; }
.woocommerce-account #customer_login { display: grid; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: stretch; gap: clamp(16px, 2.4vw, 24px); margin: 0; }
.woocommerce-account #customer_login::before, .woocommerce-account #customer_login::after { display: none; }
.woocommerce-account #customer_login > .u-column1, .woocommerce-account #customer_login > .u-column2 { display: flex; min-width: 0; flex-direction: column; float: none; width: auto; margin: 0; }
.woocommerce-account #customer_login > .u-column1 > h2, .woocommerce-account #customer_login > .u-column2 > h2 { margin: 0 0 14px; color: var(--oa-heading); font-family: var(--oa-serif); font-size: clamp(22px, 2.4vw, 26px); font-weight: 500; line-height: 1.2; }
.woocommerce-account #customer_login .woocommerce-form-login, .woocommerce-account #customer_login .woocommerce-form-register { display: flex; width: 100%; flex: 1 1 auto; flex-direction: column; margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 6px; padding: 0; list-style: none; }
.oa-account-menu-mobile { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 8px; color: var(--oa-muted); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { background: var(--oa-card); color: var(--oa-link); }
.woocommerce-account .woocommerce-MyAccount-greeting { margin: 0 0 4px; }
.woocommerce-account .woocommerce-MyAccount-logout { margin: 0 0 24px; color: var(--oa-muted); font-size: 14px; }
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 20px; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none; }
.woocommerce-account .woocommerce-Addresses .woocommerce-Address { float: none; width: auto; min-width: 0; margin: 0; padding: 18px; border: 1px solid var(--oa-line); border-radius: 12px; background: var(--oa-card); color: var(--oa-text); }
.woocommerce-account .woocommerce-Address-title { display: grid; justify-items: start; gap: 10px; margin: 0 0 12px; }
.woocommerce-account .woocommerce-Address-title h2 { width: 100%; min-width: 0; margin: 0; color: var(--oa-heading); font-family: var(--oa-serif); font-size: clamp(20px, 2.2vw, 25px); font-weight: 500; line-height: 1.2; overflow-wrap: normal; }
.woocommerce-account .woocommerce-Address-title .edit { display: inline-flex; min-height: 34px; max-width: 100%; float: none; align-items: center; padding: 6px 10px; border: 1px solid var(--oa-action-line); border-radius: 8px; background: var(--oa-control-bg); color: var(--oa-link); font-size: 13px; line-height: 1.3; text-decoration: none; white-space: normal; }
.woocommerce-account .woocommerce-Addresses address { margin: 0; color: var(--oa-text); font-size: 15px; line-height: 1.6; }
.woocommerce .cart-empty { padding: 20px; border: 1px solid var(--oa-action-line); border-radius: var(--oa-radius); background: var(--oa-card); color: var(--oa-text); }
.olarit-empty-cart { padding: clamp(22px, 4vw, 40px); border: 1px solid var(--oa-line); border-radius: 16px; background: var(--oa-card); text-align: center; }
.olarit-empty-cart__icon { display: block; margin: 0 auto 18px; fill: none; stroke: var(--oa-muted); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.olarit-empty-cart__copy { max-width: 620px; margin: 18px auto; }
.olarit-empty-cart .woocommerce-info { padding: 0 !important; border: 0 !important; background: transparent !important; }
.olarit-empty-cart .woocommerce-info::before { display: none; }
.site-main .woocommerce form .form-row input.input-text, .site-main .woocommerce form .form-row textarea,
.site-main .woocommerce form .form-row select { width: 100%; min-height: 50px; margin: 0; padding: 11px 14px; border: 1px solid var(--oa-control-line); border-radius: 8px; background: var(--oa-control-bg); color: var(--oa-text); font: inherit; }
.site-main .woocommerce .select2-container--default .select2-selection--single { height: 50px; border: 1px solid var(--oa-control-line); border-radius: 8px; background: var(--oa-control-bg); color: var(--oa-text); }
.site-main .woocommerce .select2-container--default .select2-selection--single .select2-selection__rendered { padding: 10px 36px 10px 14px; color: var(--oa-text); line-height: 28px; }
.site-main .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow { top: 1px; right: 10px; height: 48px; }
.site-main .woocommerce .select2-container--default .select2-selection--single .select2-selection__arrow b { border-top-color: var(--oa-text); }
.select2-container--default .select2-dropdown { border-color: var(--oa-control-line); background: var(--oa-control-bg); color: var(--oa-text); }
.select2-container--default .select2-search--dropdown .select2-search__field { border-color: var(--oa-control-line); background: var(--oa-control-bg); color: var(--oa-text); }
.select2-container--default .select2-results__option[aria-selected="true"] { background: var(--oa-card); color: var(--oa-text); }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--oa-clay); color: var(--oa-ink); }
.site-main .woocommerce form .form-row .required { color: var(--oa-link); }
.site-main .woocommerce table.shop_table { border-color: var(--oa-line); background: var(--oa-card); border-radius: 12px; }
.site-main .woocommerce table.shop_table th, .site-main .woocommerce table.shop_table td { border-color: var(--oa-line); }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail { width: 220px; min-width: 220px; padding: 14px; text-align: center; }
.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail img { display: block; width: min(200px, 100%); max-width: 200px; height: auto; aspect-ratio: 1 / 1; margin: 0 auto; border: 1px solid var(--oa-line); border-radius: 10px; background: var(--oa-control-bg); object-fit: contain; }
@media (max-width: 768px) {
	/* WooCommerce hides product thumbnails in its responsive cart table by default. */
	.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail { display: block !important; width: auto !important; min-width: 0 !important; padding: 12px; text-align: center !important; }
	.woocommerce-cart .woocommerce-cart-form table.cart td.product-thumbnail::before { display: none !important; content: none !important; }
}
.site-main .woocommerce a.remove { color: var(--oa-link) !important; }
.site-main .woocommerce a.remove:hover { background: var(--oa-clay); color: var(--oa-ink) !important; }
.woocommerce-cart .wc-proceed-to-checkout { text-align: left; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { display: inline-flex; width: auto; max-width: 100%; min-height: 46px; align-items: center; justify-content: center; margin: 0; padding: 9px 14px; font-size: 15px; line-height: 1.3; text-align: center; }
.site-main .woocommerce table.cart td.actions .coupon { display: flex; align-items: center; gap: 8px; }
.site-main .woocommerce table.cart td.actions .coupon .input-text { width: 180px; min-width: 0; min-height: 46px; margin: 0; padding: 10px 12px; border: 1px solid var(--oa-control-line); border-radius: 8px; background: var(--oa-control-bg); color: var(--oa-text); font: inherit; }
.site-main .woocommerce .cart_totals h2, .site-main .woocommerce form.checkout h3 { color: var(--oa-heading); font-family: var(--oa-serif); font-weight: 500; font-size: clamp(26px, 3vw, 34px); line-height: 1.2; }
.site-main .woocommerce #payment { border: 1px solid var(--oa-line); border-radius: 12px; background: var(--oa-card); color: var(--oa-text); }
.site-main .woocommerce #payment ul.payment_methods { border-bottom-color: var(--oa-line); }
.site-main .woocommerce #payment .payment_box { background: var(--oa-control-bg); color: var(--oa-text); }
.site-main .woocommerce #payment .payment_box::before { border-bottom-color: var(--oa-control-bg); }

/* Media viewing keeps a quiet dark caption, independent of the surrounding page mode. */
.glightbox-container.glightbox-clean .gslide-description { background: var(--oa-ink) !important; }
.glightbox-container.glightbox-clean .gslide-title, .glightbox-container.glightbox-clean .gslide-desc { color: rgb(250 248 242 / 68%); }

.site-footer { --oa-text: rgb(250 248 242 / 68%); --oa-muted: rgb(250 248 242 / 55%); --oa-heading: rgb(250 248 242 / 74%); --oa-link: #A37752; --oa-link-hover: rgb(250 248 242 / 74%); --oa-control-bg: #000000; --oa-control-line: rgb(250 248 242 / 38%); --oa-action-text: rgb(250 248 242 / 68%); --oa-line: rgb(118 118 118 / 32%); flex-shrink: 0; background: var(--oa-ink); color: var(--oa-text); }
.footer-widgets { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding-block: 42px 16px; font-size: 15px; }
.footer-widgets__column { min-width: 0; overflow-wrap: anywhere; }
.footer-widgets .widget + .widget { margin-top: 24px; }
.footer-inner { display: flex; min-height: 145px; flex-direction: column; justify-content: center; align-items: center; gap: 12px; padding-block: 30px; text-align: center; }
.footer-utility { display: flex; width: 100%; flex-wrap: wrap; align-items: center; justify-content: center; column-gap: 10px; row-gap: 10px; }
.footer-utility nav { min-width: 0; }
.footer-utility .footer-menu { justify-content: center; gap: 12px 16px; }
.footer-utility .footer-social { align-items: center; gap: 0; }
.footer-social a { display: grid; width: 34px; min-height: 42px; place-items: center; border-radius: 50%; color: rgb(250 248 242 / 76%); }
.footer-social a:hover, .footer-social a:focus-visible { background: rgb(250 248 242 / 9%); color: var(--oa-sun); }
/* Instagram's outlined artwork has more viewBox padding, so its box grows to match Facebook optically. */
.footer-social__icon { display: block; }
.footer-social__icon--facebook { width: 16px; height: 16px; }
.footer-social__icon--instagram { width: 19px; height: 19px; }
.footer-credit { margin: 0; color: var(--oa-stone); font-size: 14px; }
.footer-credit a { color: var(--oa-stone); text-decoration: none; }
.footer-credit a:hover { color: var(--oa-sun); }
.footer-menu { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; padding: 0; margin: 0; list-style: none; }
.footer-menu a { color: rgb(250 248 242 / 68%); font-size: 14px; text-decoration: none; }
.error-page .page-heading { padding-block: 45px; }
.page-id-419 .prose > p:first-child { text-align: center; }
.page-id-478 .prose h2 { font-size: clamp(25px, 3vw, 34px); }
.page-template-terms-conditions-template .prose h2 { font-size: clamp(22px, 2.5vw, 29px); line-height: 1.16; }
.page-template-materials-guide-template .prose h2 { font-size: clamp(22px, 2.5vw, 29px); line-height: 1.16; }
.customer-guide-main { min-width: 0; }
.customer-account-tabs { display: none; }
.page-id-49 .prose > p:first-child { color: var(--oa-heading); font-family: var(--oa-serif); font-size: clamp(25px, 3vw, 34px); font-weight: 500; line-height: 1.2; }
.error-page .button { display: inline-flex; margin-top: 22px; }

@media (min-width: 761px) and (max-width: 1024px) {
	.customer-guide-layout { display: grid; grid-template-columns: minmax(175px, 220px) minmax(0, 1fr); align-items: start; gap: clamp(18px, 3vw, 28px); }
	.customer-guide-sidebar { min-width: 0; }
	.customer-account-tabs { position: sticky; top: 20px; display: block; }
	.customer-account-tabs ul { display: grid; gap: 6px; padding: 0; margin: 0; list-style: none; }
	.customer-account-tabs a { display: block; padding: 10px 12px; border-radius: 8px; color: var(--oa-muted); font-size: 14px; line-height: 1.35; text-decoration: none; }
	.customer-account-tabs a:hover, .customer-account-tabs .is-active a { background: var(--oa-card); color: var(--oa-link); }
}

@media (max-width: 1000px) {
	.wrap { width: min(100% - 36px, 1240px); }
	.masthead { min-height: 106px; }
	.custom-logo { max-width: min(180px, 32vw); max-height: 78px; }
	.oa-menu { gap: 12px; }
	.oa-menu a, .menu-parent-label { font-size: 13px; }
}
@media (max-width: 900px) {
	.editorial-layout--with-sidebar { grid-template-columns: minmax(0, 1fr); }
	.oa-sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--oa-line); }
	.footer-widgets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.site-main .woocommerce form .form-row-first, .site-main .woocommerce form .form-row-last { float: none; width: 100%; }
}
@media (max-width: 680px) {
	.woocommerce-account #customer_login { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
	body { font-size: 16px; }
	.wrap { width: min(100% - 40px, 1240px); }
	.masthead { min-height: 136px; padding-block: 8px; grid-template-columns: minmax(56px, 1fr) auto minmax(84px, 1fr); gap: 0; }
	.masthead__start { min-width: 0; }
	.masthead__search .header-search__panel { top: calc(100% + 6px); left: 0; width: min(calc(100vw - 32px), 340px); }
	.masthead__brand { grid-column: 2; grid-row: 1; }
	/* Match the tablet logo cap; narrow phones may scale down only to fit. */
	.custom-logo { max-width: min(180px, 32vw); max-height: 78px; }
	.masthead__tools { grid-column: 3; gap: 4px; }
	.icon-link, .theme-toggle { width: 34px; height: 34px; padding: 5px; }
	.icon-link svg, .theme-toggle svg { width: 21px; height: 21px; }
	/* Give account and cart disclosures the same edge-to-edge drawer frame as the mobile menu. */
	.header-disclosure.account-disclosure > .header-disclosure__panel,
	.header-disclosure.cart-disclosure > .header-disclosure__panel {
		top: 100%;
		right: auto;
		left: 50%;
		width: calc(100vw - 8px);
		max-height: calc(100vh - 130px);
		max-height: calc(100dvh - 130px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: 12px 20px 20px;
		border: 0;
		border-bottom: 1px solid var(--oa-line);
		border-radius: 0;
		background: var(--oa-paper);
		box-shadow: var(--oa-shadow);
		transform: translateX(-50%);
	}
	.account-panel, .cart-panel {
		margin-inline: auto;
		text-align: left;
	}
	.cart-panel { width: min(100%, 420px); }
	.account-panel, .account-panel__items { gap: 0; }
	.account-panel__items { width: max-content; max-width: 100%; margin-inline: auto; }
	.account-panel__link {
		width: 100%;
		min-height: 50px;
		padding: 8px 4px;
		border-bottom: 1px solid var(--oa-line);
		border-radius: 0;
		font-size: 15px;
		font-weight: 650;
		letter-spacing: .02em;
	}
	.account-panel__link:hover {
		background: transparent;
		color: var(--oa-link);
		text-decoration: underline;
		text-underline-offset: .25em;
	}
	.cart-panel h2 {
		display: flex;
		min-height: 50px;
		align-items: center;
		margin: 0;
		padding: 8px 4px;
		border-bottom: 1px solid var(--oa-line);
		font-family: var(--oa-sans);
		font-size: 15px;
		font-weight: 650;
		letter-spacing: .02em;
	}
	.cart-panel .woocommerce-mini-cart-item {
		grid-template-columns: 64px minmax(0, 1fr) 28px;
		min-height: 84px;
		padding: 10px 4px;
		font-size: 15px;
	}
	.cart-panel .woocommerce-mini-cart-item > a:not(.remove) { grid-template-columns: 64px minmax(0, 1fr); }
	.cart-panel .woocommerce-mini-cart-item img { width: 64px !important; min-width: 64px; max-width: 64px; height: 64px !important; min-height: 64px; max-height: 64px; flex-basis: 64px; }
	.cart-panel .woocommerce-mini-cart__empty-message {
		min-height: 50px;
		margin: 0;
		padding: 12px 4px;
		border-bottom: 1px solid var(--oa-line);
		font-size: 15px;
	}
	.cart-panel .woocommerce-mini-cart__total {
		margin: 0;
		padding: 12px 4px;
		border-bottom: 1px solid var(--oa-line);
	}
	.cart-panel .woocommerce-mini-cart__buttons {
		gap: 8px;
		padding: 10px 4px;
		border-bottom: 1px solid var(--oa-line);
	}
	.cart-panel__basket-link {
		display: flex;
		min-height: 50px;
		align-items: center;
		margin: 0;
		padding: 8px 4px;
		border-bottom: 1px solid var(--oa-line);
		font-size: 15px;
		font-weight: 650;
		letter-spacing: .02em;
		text-decoration: none;
	}
	.navigation-shell { border-top: 0; }
	.navigation-row { position: relative; min-height: 0; justify-content: flex-start; }
	.menu-toggle { display: inline-flex; min-height: 44px; width: 46px; height: 44px; padding: 10px; align-items: center; justify-content: center; border: 0; background: transparent; }
	.menu-toggle:hover { background: transparent; color: var(--oa-link); }
	.menu-toggle__icon { display: grid; width: 23px; gap: 5px; }
	.menu-toggle__icon i { display: block; height: 2px; background: currentColor; }
	.primary-navigation { position: absolute; z-index: 20; top: 100%; left: -16px; display: none; width: calc(100% + 32px); max-height: calc(100vh - 130px); overflow-y: auto; padding: 12px 20px 20px; border-bottom: 1px solid var(--oa-line); background: var(--oa-paper); box-shadow: var(--oa-shadow); }
	.primary-navigation.is-open { display: block; }
	.oa-menu { display: grid; gap: 0; }
	.oa-menu > li { display: grid; grid-template-columns: 1fr 42px; gap: 0; border-bottom: 1px solid var(--oa-line); }
	.oa-menu a, .menu-parent-label { min-height: 50px; padding: 8px 4px; font-size: 15px; }
	.sub-menu-toggle { width: 42px; height: 48px; }
	.oa-menu .sub-menu, .oa-menu .sub-menu .sub-menu { position: static; display: none; grid-column: 1 / -1; min-width: 0; padding: 0 0 8px 14px; border: 0; border-radius: 0; box-shadow: none; }
	.oa-menu li.is-open > .sub-menu { display: block; }
	.oa-menu .sub-menu li { display: grid; grid-template-columns: 1fr 42px; }
	.oa-menu .sub-menu a, .oa-menu .sub-menu .menu-parent-label { min-height: 44px; font-size: 14px; }
	.site-main { width: min(100% - 40px, var(--oa-width)); padding-block: 44px 72px; }
	.page-heading { margin-bottom: 32px; }
	.eyebrow { font-size: 10.8px; }
	.site-main h1, .page-heading h1 { font-size: clamp(30.4px, 4.8vw, 51.2px); }
	.home-heading h1 { font-size: clamp(27.2px, 4.16vw, 46.4px); }
	.prose { font-size: 17px; line-height: 1.7; }
	.site-main .prose,
	.site-main .prose p,
	.site-main .prose h2,
	.site-main .prose h3,
	.site-main .prose h4,
	.site-main .prose li,
	.site-main .prose blockquote { text-align: left !important; }
	.site-main .entry-content { text-align: left; }
	.page-heading__note, .archive-description { margin-left: 0; text-align: left; }
	.oa-commerce-main .woocommerce .product_title { font-size: clamp(25.6px, 3.36vw, 36.8px); }
	.oa-commerce-main .woocommerce .woocommerce-result-count { display: inline-flex; float: none; width: auto; max-width: calc(100% - 58px); min-height: 44px; align-items: center; margin: 0 10px 22px 0; line-height: 1.4; vertical-align: middle; }
	.oa-commerce-main .woocommerce .woocommerce-ordering { display: inline-flex; float: none; width: 44px; height: 44px; margin: 0 0 22px; vertical-align: middle; }
	.oa-commerce-main .woocommerce .woocommerce-ordering select { display: block; width: 44px !important; min-width: 44px; max-width: 44px; height: 44px; min-height: 44px; padding: 0; border: 1px solid var(--oa-control-line); border-radius: 10px; background-color: var(--oa-card); background-image: linear-gradient(45deg, transparent 50%, var(--oa-muted) 50%), linear-gradient(135deg, var(--oa-muted) 50%, transparent 50%); background-position: calc(50% - 3px) 50%, calc(50% + 2px) 50%; background-repeat: no-repeat; background-size: 5px 5px; color: transparent; font-size: 0; text-indent: -9999px; }
	.oa-commerce-main .woocommerce .woocommerce-ordering select option { color: var(--oa-text); font-size: 14px; text-indent: 0; }
	.prose .testimonials-grid { gap: 14px; }
	.content-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
	.content-card__media img { height: 180px; }
	.content-card__body { padding: 16px; }
	.content-card__title { font-size: 21px; }
	.woocommerce ul.products[class*="columns-"] { --oa-shop-columns: 2; gap: 12px; }
	.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
	.woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 0; }
	.oa-has-account-mobile-navigation body.woocommerce-account .woocommerce-MyAccount-navigation > ul { display: none; }
	.oa-has-account-mobile-navigation body.woocommerce-account .oa-account-mobile-navigation,
	.oa-has-account-mobile-navigation .oa-customer-account-menu { display: block; }
	.oa-customer-account-menu { display: block; }
	.dashboard-mobile-navigation { position: relative; z-index: 5; display: block; width: 100%; margin: 24px auto 0; }
	.dashboard-mobile-navigation > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 14px; border: 1px solid var(--oa-line); border-radius: 10px; background: var(--oa-card); color: var(--oa-text); font-size: 14px; line-height: 1.3; cursor: pointer; list-style: none; }
	.dashboard-mobile-navigation > summary::-webkit-details-marker { display: none; }
	.dashboard-mobile-navigation > summary::marker { content: ''; }
	.dashboard-mobile-navigation > summary::after { width: 8px; height: 8px; flex: 0 0 8px; margin: 0 4px 4px 12px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; content: ''; transform: rotate(45deg); }
	.dashboard-mobile-navigation[open] > summary::after { margin-top: 6px; margin-bottom: 0; transform: rotate(225deg); }
	.dashboard-mobile-navigation__menu { position: absolute; z-index: 30; top: calc(100% + 0px); left: 50%; display: grid; width: calc(100vw - 8px); max-height: calc(100vh - 130px); max-height: calc(100dvh - 130px); gap: 0; overflow-y: auto; overscroll-behavior: contain; padding: 12px 20px 20px; border: 0; border-bottom: 1px solid var(--oa-line); border-radius: 0; background: var(--oa-paper); box-shadow: var(--oa-shadow); transform: translateX(-50%); }
	.dashboard-mobile-navigation__menu a { display: flex; min-height: 50px; align-items: center; padding: 8px 4px; border-bottom: 1px solid var(--oa-line); border-radius: 0; color: var(--oa-text); font-size: 15px; font-weight: 650; letter-spacing: .02em; line-height: 1.35; text-decoration: none; }
	.dashboard-mobile-navigation__menu a:hover,
	.dashboard-mobile-navigation__menu a[aria-current="page"] { background: transparent; color: var(--oa-link); text-decoration: underline; text-underline-offset: .25em; }
	.dashboard-mobile-navigation__menu a:last-child { border-bottom: 0; }
	.oa-account-mobile-navigation { margin: 0 auto 14px; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
	.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { width: 100%; }
	.wp-block-gallery, .gallery { gap: 10px; }
	.map-card { grid-template-columns: 1fr; }
	.map-card__frame, .map-card__frame iframe { min-height: 300px; }
}

@media (max-width: 480px) {
	.masthead.wrap { width: min(100% - 16px, 1240px); }
	.cart-panel { width: min(100%, 380px); }
	.content-grid { grid-template-columns: 1fr; }
	.woocommerce ul.products[class*="columns-"] { --oa-shop-columns: 1; }
	.content-card__media img { height: 240px; }
	.prose iframe { min-height: 280px; }
	.prose table { display: block; overflow-x: auto; }
	.wp-block-gallery, .gallery { grid-template-columns: 1fr; }
	.search-form input[type="search"] { width: 100%; }
	.footer-inner { min-height: 122px; }
	.footer-credit__rights { display: block; margin-top: 4px; }
	.footer-utility { align-items: center; flex-direction: column; row-gap: 10px; }
	.footer-utility nav { max-width: 100%; }
	.footer-utility .footer-menu { justify-content: center; }
	.editorial-layout--with-sidebar .content-grid, .oa-sidebar, .footer-widgets { grid-template-columns: minmax(0, 1fr); }
	.site-main .woocommerce table.cart td.actions .coupon { display: grid; grid-template-columns: minmax(0, 1fr) auto; width: 100%; }
	.site-main .woocommerce table.cart td.actions .coupon .input-text { width: 100%; }
}

/* Keep the brand centred when three utility controls share a very narrow header. */
@media (max-width: 380px) {
	.masthead__tools { gap: 0; }
	.masthead__start { gap: 0; }
	.masthead__start .menu-toggle, .masthead__search .icon-link { width: 28px; }
	.masthead__start .menu-toggle { padding: 2px; }
	.menu-toggle__icon { width: 20px; gap: 4px; }
	.icon-link, .theme-toggle { width: 30px; height: 30px; padding: 5px; }
	.icon-link svg, .theme-toggle svg { width: 18px; height: 18px; }
}
@media (max-width: 340px) {
	.masthead__tools { gap: 0; }
	.icon-link, .theme-toggle { width: 28px; height: 28px; padding: 4px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
