/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
@font-face {
    font-display: swap;
    font-family: "GranthaSangam";
    font-style: normal;
    font-weight: 100;
    src: url("/themes/new-artisan-dental/assets/fonts/desktop/grantha-sangam/grantha-sangam-regular.otf") format("opentype");
}

@layer properties {
@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))) {
		*,: before,:after,::backdrop{--tw-rotate-x:initial;
		--tw-rotate-y: initial;
		--tw-rotate-z: initial;
		--tw-skew-x: initial;
		--tw-skew-y: initial;
		--tw-border-style: solid;
		--tw-ease: initial;
	}
}}

@layer theme {
	:root,:host {
		--font-sans: "GranthaSangam", Arial, sans-serif;
		--font-mono: "GranthaSangam", Arial, sans-serif;
		--color-white: #fff;
		--spacing: .25rem;
		--radius-md: .375rem;
		--radius-lg: .5rem;
		--shadow-sm: 0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;
		--shadow-md: 0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;
		--ease-out: cubic-bezier(0,0,.2,1);
		--default-font-family: var(--font-sans);
		--default-mono-font-family: var(--font-mono);
	}
}

@layer base,components;

@layer utilities {
	.visible {
		visibility: visible;
	}

	.sr-only {
		clip-path: inset(50%);
		white-space: nowrap;
		border-width: 0;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		position: absolute;
		overflow: hidden;
	}

	.fixed {
		position: fixed;
	}

	.relative {
		position: relative;
	}

	.static {
		position: static;
	}

	.sticky {
		position: sticky;
	}

	.container {
		width: 100%;
	}
   @media (min-width:40rem) {
		.container{max-width: 40rem;
	}
}

@media (min-width:48rem) {
	.container {
		max-width: 48rem;
	}
}

@media (min-width:64rem) {
	.container {
		max-width: 64rem;
	}
}

@media (min-width:80rem) {
	.container {
		max-width: 80rem;
	}
}

@media (min-width:96rem) {
	.container {
		max-width: 96rem;
	}
}

.mx-auto {
	margin-inline: auto;
}

.mb-2 {
	margin-bottom: calc(var(--spacing)*2);
}

.ml-auto {
	margin-left: auto;
}

.block {
	display: block;
}

.flex {
	display: flex;
}

.grid {
	display: grid;
}

.hidden {
	display: none;
}

.table {
	display: table;
}

.w-full {
	width: 100%;
}

.min-w-0 {
	min-width: calc(var(--spacing)*0);
}

.shrink {
	flex-shrink: 1;
}

.transform {
	transform: var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,);
}

.resize {
	resize: both;
}

.grid-cols-2 {
	grid-template-columns: repeat(2,minmax(0,1fr));
}

.grid-cols-3 {
	grid-template-columns: repeat(3,minmax(0,1fr));
}

.flex-wrap {
	flex-wrap: wrap;
}

.items-center {
	align-items: center;
}

.items-start {
	align-items: flex-start;
}

.justify-between {
	justify-content: space-between;
}

.gap-4 {
	gap: calc(var(--spacing)*4);
}

.gap-6 {
	gap: calc(var(--spacing)*6);
}

.gap-7 {
	gap: calc(var(--spacing)*7);
}

.gap-10 {
	gap: calc(var(--spacing)*10);
}

.gap-12 {
	gap: calc(var(--spacing)*12);
}

.overflow-hidden {
	overflow: hidden;
}

.rounded {
	border-radius: .25rem;
}

.rounded-md {
	border-radius: var(--radius-md);
}

.border {
	border-style: var(--tw-border-style);
	border-width: 1px;
}

.object-cover {
	object-fit: cover;
}

.p-0 {
	padding: calc(var(--spacing)*0);
}

.pb-4 {
	padding-bottom: calc(var(--spacing)*4);
}

.text-center {
	text-align: center;
}

.italic {
	font-style: italic;
}

.ease-out {
	--tw-ease: var(--ease-out);
	transition-timing-function: var(--ease-out);
}

@media (min-width:40rem) {
	.sm\:grid-cols-2 {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}
}

@media (min-width:48rem) {
	.md\:flex {
		display: flex;
	}

	.md\:grid-cols-2 {
		grid-template-columns: repeat(2,minmax(0,1fr));
	}

	.md\:grid-cols-4 {
		grid-template-columns: repeat(4,minmax(0,1fr));
	}

	.md\:grid-cols-5 {
		grid-template-columns: repeat(5,minmax(0,1fr));
	}
}

@media (min-width:64rem) {
	.lg\:sticky {
		position: sticky;
	}

	.lg\:top-8 {
		top: calc(var(--spacing)*25);
	}

	.lg\:grid-cols-4 {
		grid-template-columns: repeat(4,minmax(0,1fr));
	}

	.lg\:grid-cols-\[\.72fr_1\.28fr\] {
		grid-template-columns: .72fr 1.28fr;
	}

	.lg\:grid-cols-\[minmax\(0\,1fr\)_240px\] {
		grid-template-columns: minmax(0,1fr) 240px;
	}
}

@media (min-width:80rem) {
	.xl\:grid-cols-4 {
		grid-template-columns: repeat(4,minmax(0,1fr));
	}
}}

:root {
	--sap-ink: #243630;
	--sap-body: #626d71;
	--sap-green: #245d4c;
	--sap-pale: #f0f5f2;
}

html {
	scroll-behavior: smooth;
}

body {
	background: #fff;
	margin: 0;
}

.sap,.sap * {
	box-sizing: border-box;
}

.sap {
	color: var(--sap-body);
	font-family: Arial,Helvetica,sans-serif;
	font-size: 18px;
	line-height: 1.72;
}

.sap p {
	font-size: inherit;
	line-height: inherit;
	margin: 0 0 19px;
}

.sap strong {
	color: #3c4947;
	font-weight: 600;
}

.sap h1,.sap h2,.sap h3 {
	color: var(--sap-ink);
	letter-spacing: -.035em;
	text-transform: none;
	font-family: "GranthaSangam", Arial, sans-serif;
	font-weight: 400;
}

.sap h1 {
	margin: 20px 0 30px;
	font-size: clamp(38px,4vw,58px);
	line-height: 1.08;
}

.sap h2 {
	margin: 0 0 28px;
	font-size: clamp(30px,3vw,40px);
	line-height: 1.17;
}

.sap h3 {
	margin: 26px 0 18px;
	font-size: 29px;
	line-height: 1.25;
}

.sap a {
	color: inherit;
}

.sap-shell {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 40px;
}

.breadcrumb {
	gap: 12px;
	padding-top: 20px;
	padding-bottom: 20px;
	font-size: 12px;
	line-height: 1.5;
	display: flex;
}

.breadcrumb a {
	color: #66756d;
}

.sap-hero {
	background: #f6f4ef;
	overflow: hidden;
}

.hero-layout {
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	gap: 40px;
	display: grid;
}

.hero-copy {
	z-index: 1;
	padding: 54px 0 48px;
	position: relative;
}

.eyebrow {
	letter-spacing: .2em;
	text-transform: uppercase;
	color: #6b8177;
	font-size: 11px;
}

.author {
	align-items: center;
	gap: 14px;
	font-size: 13px;
	line-height: 1.5;
	text-decoration: none;
	display: flex;
}

.author img {
	object-fit: cover;
	border-radius: 50%;
	width: 48px;
	height: 48px;
}

.author em {
	font-style: normal;
}

.hero-image {
	min-height: 440px;
	margin-right: -40px;
	position: relative;
}

.hero-image svg {
	height: 100%;
	position: absolute;
	inset: 0;
}

.reference-image {
	width: 100%;
	height: auto;
	display: block;
	overflow: hidden;
}

.article-grid {
	padding-top: 64px;
	padding-bottom: 100px;
}

.article-intro {
	margin-bottom: 68px;
	font-size: 19px;
}

.sap-section {
	margin-bottom: 64px;
	scroll-margin-top: 24px;
}

.section-number {
	color: #608d7d;
	letter-spacing: .12em;
	align-items: center;
	gap: 18px;
	margin-bottom: 20px;
	font-size: 11px;
	display: flex;
}

.section-number span {
	background: #d7e6df;
	width: 70px;
	height: 1px;
}

.with-visual .section-body {
	grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr);
	gap: 30px;
	display: grid;
}

.with-visual .section-visual {
	align-self: start;
}

.section-visual svg {
	aspect-ratio: 1;
}

.neighbourhood .section-visual svg {
	aspect-ratio: 1/1.65;
}

.treatment-image {
	margin: 32px 0 0;
}

.treatment-image img {
	border-radius: 2px;
	width: 100%;
	height: auto;
	display: block;
}

.sap p:has(>em:only-child) {
	color: #758079;
	font-size: 15px;
}

.sap .article-intro p {
	font-size: 19px;
}

.quiet-callout {
	background: var(--sap-pale);
	border-left: 3px solid #bdd3c7;
	margin: 30px 0;
	padding: 22px 26px;
}

.quiet-callout p {
	margin: 0;
}

.quiet-callout strong {
	font-weight: 500;
}

.sap-button {
	cursor: pointer;
	text-align: left;
	background: 0 0;
	border: 1px solid #416f5d;
	border-radius: 28px;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	max-width: 100%;
	margin: 8px 10px 10px 0;
	padding: 13px 22px;
	font: 500 14px/1.5 Arial,sans-serif;
	text-decoration: none;
	display: inline-flex;
	color: var(--sap-green)!important;
}

.sap-button:hover {
	background: #e9f1ec;
}

.sap-primary {
	background: var(--sap-green);
	color: #fff!important;
}

.sap-primary:hover {
	background: #194434;
}

.sap-button span {
	flex: none;
}

.toc {
	border-left: 1px solid #e0e9e4;
	padding: 10px 0 10px 24px;
}

.sap .toc h2 {
	letter-spacing: 0;
	margin: 0 0 20px;
	font-family: Arial,sans-serif;
	font-size: 14px;
	font-weight: 600;
}

.toc ol {
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
}

.toc a {
	color: #65716d;
	border-radius: 3px;
	gap: 10px;
	padding: 9px 10px;
	font-size: 12px;
	line-height: 1.55;
	text-decoration: none;
	display: flex;
}

.toc a span {
	color: #8a9d94;
	padding-top: 2px;
	font-size: 10px;
}

.toc a[aria-current=location] {
	color: #245d4c;
	background: #edf4ef;
}

.toc-wrap {
	max-height: calc(100vh - 64px);
	overflow: auto;
}

.skip-link {
	z-index: 10000;
	background: #fff;
	padding: 12px;
	position: fixed;
	top: 8px;
	left: 8px;
	transform: translateY(-180%);
}

.skip-link:focus {
	transform: none;
}

a:focus-visible,button:focus-visible {
	outline-offset: 4px;
	outline: 2px solid #245d4c;
}

dialog {
	color: #243630;
	border: 1px solid #cbdacf;
	border-radius: 8px;
	max-width: 460px;
	padding: 32px;
}

dialog::backdrop {
	background: #0006;
}

dialog h2 {
	font: 28px "GranthaSangam", Arial, sans-serif;
}

dialog button {
	color: #fff;
	background: #245d4c;
	border: 0;
	border-radius: 24px;
	padding: 10px 24px;
}

.site-header .logo-img {
	max-width: 220px;
}

.site-footer {
	clear: both;
}

.site-footer .widget {
	max-width: 100%;
}

.pbmit-header-language {
   display: none;
}

@media (min-width:1024px) {
	.toc-wrap {
		grid-area: 1/2;
	}

	.article-grid>article {
		grid-area: 1/1;
	}
}

@media (max-width:1023px) {
	.sap-shell {
		padding-left: 24px;
		padding-right: 24px;
	}

	.article-grid {
		flex-direction: column;
		gap: 36px;
		padding-top: 36px;
		display: flex;
	}

	.toc-wrap {
		order: -1;
		width: 100%;
		max-height: none;
	}

	.toc {
		border: 1px solid #e0e9e4;
		padding: 20px;
	}

	.toc ol {
		grid-template-columns: 1fr 1fr;
	}

	.hero-image {
		margin-right: -24px;
	}

	.sap h1 {
		font-size: 43px;
	}

	.hero-copy {
		padding-top: 40px;
	}

	.sap-section {
		margin-bottom: 52px;
	}

	.article-intro {
		margin-bottom: 48px;
	}

	.site-header .pbmit-header-info {
		display: none;
	}

	.site-header .pbmit-header-content {
		flex-wrap: wrap;
	}

	.site-header .site-navigation {
		order: 5;
		width: 100%;
		display: none;
	}

	.site-header.menu-open .site-navigation,.site-header.menu-open .main-menu {
		display: block;
	}

	.site-header.menu-open .navigation {
		width: 100%!important;
		display: block!important;
		position: static!important;
	}

	.site-header.menu-open .navigation>li {
		float: none;
		display: block;
	}

	.site-header .pbmit-burger-menu-wrapper {
		display: block;
	}

	.site-header #menu-toggle {
		background: 0 0;
		border: 0;
		font-size: 24px;
	}

	.site-header.menu-open .navigation li>ul {
		box-shadow: none;
		position: static!important;
	}

	.site-header .pbmit-social-links {
		display: none;
	}

	.site-header .pbmit-header-menu-area-wrapper {
		padding: 0 20px;
	}

	.site-header .container {
		max-width: 100%;
	}
}

@media (max-width:640px) {
	.sap {
		font-size: 17px;
		line-height: 1.7;
	}

	.sap-shell {
		padding-left: 22px;
		padding-right: 22px;
	}

	.hero-layout {
		flex-direction: column;
		gap: 0;
		display: flex;
	}

	.hero-copy {
		padding: 34px 0;
	}

	.sap h1 {
		font-size: 38px;
	}

	.hero-image {
		height: 270px;
		min-height: 0;
		margin: 0 -22px;
	}

	.hero-image svg {
		height: 270px;
		position: static;
	}

	.sap h2 {
		font-size: 32px;
	}

	.sap h3 {
		font-size: 26px;
	}

	.with-visual .section-body {
		grid-template-columns: 1fr;
	}

	.section-visual {
		width: 100%;
	}

	.section-visual svg,.neighbourhood .section-visual svg {
		aspect-ratio: 3/2;
	}

	.toc ol {
		grid-template-columns: 1fr;
	}

	.toc a {
		padding: 7px;
		font-size: 13px;
	}

	.article-intro,.sap .article-intro p {
		font-size: 18px;
	}

	.sap-button {
		width: 100%;
		margin-right: 0;
		font-size: 13px;
	}

	.quiet-callout {
		padding: 20px;
	}

	.sap p:has(>em:only-child) {
		font-size: 14px;
	}

	.site-header .pbmit-button-box {
		display: none;
	}

	.site-header .site-branding {
		padding-left: 20px;
	}

	.site-footer {
		overflow: hidden;
	}
}

@media (prefers-reduced-motion:reduce) {
	html {
		scroll-behavior: auto;
	}
}

.hero-image>img {
	object-fit: cover;
	object-position: 40% center;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	inset: 0;
}

.section-visual>img {
	border-radius: 6px;
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width:640px) {
	.hero-image>img {
		object-position: center 40%;
		height: 270px;
		position: static;
	}
}

main.sap {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.sap .sap-shell {
	width: 100%;
	max-width: 1280px;
}

@media (max-width:1023px) {
	.site-header.menu-open .site-navigation {
		flex: 0 0 100%;
		float: none!important;
		width: 100%!important;
		height: auto!important;
		position: static!important;
	}

	.site-header.menu-open .main-menu {
		visibility: visible!important;
		opacity: 1!important;
		background: #fff!important;
		width: 100%!important;
		max-width: none!important;
		height: auto!important;
		margin: 0!important;
		padding: 0!important;
		position: static!important;
		inset: auto!important;
		overflow: visible!important;
		transform: none!important;
	}

	.site-header.menu-open .main-menu>div {
		width: 100%!important;
		position: static!important;
		transform: none!important;
	}

	.site-header.menu-open .navigation {
		padding: 0!important;
		top: auto!important;
		left: auto!important;
		right: auto!important;
		transform: none!important;
	}

	.site-header.menu-open .navigation>li>a {
		height: auto!important;
		padding: 12px 8px!important;
		line-height: 1.5!important;
	}

	.site-header .pbmit-mobile-menu-bg {
		display: none!important;
	}

	.site-header .pbmit-main-header-area {
		display: block!important;
		position: relative!important;
	}

	.site-header .pbmit-main-header-area>.container,.site-header .pbmit-header-menu,.site-header .pbmit-header-menu-area-wrapper,.site-header .pbmit-header-menu-area,.site-header .pbmit-header-content {
		width: 100%!important;
	}

	.site-header .pbmit-header-menu .container {
		width: 100%!important;
		padding: 0!important;
	}

	.site-header .pbmit-header-content {
		padding: 0!important;
		position: static!important;
	}

	.site-header .pbmit-burger-menu-wrapper {
		top: 28px;
		right: 24px;
		position: absolute!important;
	}

	.site-header .pbmit-button-box {
		display: none!important;
	}

	.site-header .pbmit-logo-area {
		padding: 20px 24px!important;
	}

	.site-header .pbmit-infostack-header-inner {
		padding: 0!important;
	}

	.site-header .site-navigation {
		padding: 8px 0 20px;
	}

	.site-header.menu-open .navigation>li>a {
		display: block!important;
	}

	.site-header .logo-img {
		width: 180px!important;
		max-height: none!important;
	}
}

@property --tw-rotate-x {
	syntax:"*";inherits:false;
}

@property --tw-rotate-y {
	syntax:"*";inherits:false;
}

@property --tw-rotate-z {
	syntax:"*";inherits:false;
}

@property --tw-skew-x {
	syntax:"*";inherits:false;
}

@property --tw-skew-y {
	syntax:"*";inherits:false;
}

@property --tw-border-style {
	syntax:"*";inherits:false;initial-value:solid;
}

@property --tw-ease {
	syntax:"*";inherits:false;
}
/* The theme applies #page{overflow:hidden}, which turns the page wrapper into a scroll
   container and silently disables position:sticky on the article TOC (aside.toc-wrap).
   overflow:clip clips the same way but does not create a scroll container, so the TOC
   can stay pinned while the article scrolls. */
#page {
	overflow: clip;
}