 /*
Theme Name: saintdiamonds
Theme URI: http://saintdiamonds.com
Author: Tinaicon
Author URI: https://www.seotoolking.com/
Description: Description
Version: 1.0.0 
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: saintdiamonds
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.
 
 
*/

*, ::before, ::after {
 --tw-border-spacing-x:0;
 --tw-border-spacing-y:0;
 --tw-translate-x:0;
 --tw-translate-y:0;
 --tw-rotate:0;
 --tw-skew-x:0;
 --tw-skew-y:0;
 --tw-scale-x:1;
 --tw-scale-y:1;
 --tw-pan-x:;
 --tw-pan-y:;
 --tw-pinch-zoom:;
 --tw-scroll-snap-strictness:proximity;
 --tw-gradient-from-position:;
 --tw-gradient-via-position:;
 --tw-gradient-to-position:;
 --tw-ordinal:;
 --tw-slashed-zero:;
 --tw-numeric-figure:;
 --tw-numeric-spacing:;
 --tw-numeric-fraction:;
 --tw-ring-inset:;
 --tw-ring-offset-width:0px;
 --tw-ring-offset-color:#fff;
 --tw-ring-color:rgb(59 130 246 / 0.5);
 --tw-ring-offset-shadow:0 0 #0000;
 --tw-ring-shadow:0 0 #0000;
 --tw-shadow:0 0 #0000;
 --tw-shadow-colored:0 0 #0000;
 --tw-blur:;
 --tw-brightness:;
 --tw-contrast:;
 --tw-grayscale:;
 --tw-hue-rotate:;
 --tw-invert:;
 --tw-saturate:;
 --tw-sepia:;
 --tw-drop-shadow:;
 --tw-backdrop-blur:;
 --tw-backdrop-brightness:;
 --tw-backdrop-contrast:;
 --tw-backdrop-grayscale:;
 --tw-backdrop-hue-rotate:;
 --tw-backdrop-invert:;
 --tw-backdrop-opacity:;
 --tw-backdrop-saturate:;
 --tw-backdrop-sepia:;
 --tw-contain-size:;
 --tw-contain-layout:;
 --tw-contain-paint:;
 --tw-contain-style:
}
::backdrop {
 --tw-border-spacing-x:0;
 --tw-border-spacing-y:0;
 --tw-translate-x:0;
 --tw-translate-y:0;
 --tw-rotate:0;
 --tw-skew-x:0;
 --tw-skew-y:0;
 --tw-scale-x:1;
 --tw-scale-y:1;
 --tw-pan-x:;
 --tw-pan-y:;
 --tw-pinch-zoom:;
 --tw-scroll-snap-strictness:proximity;
 --tw-gradient-from-position:;
 --tw-gradient-via-position:;
 --tw-gradient-to-position:;
 --tw-ordinal:;
 --tw-slashed-zero:;
 --tw-numeric-figure:;
 --tw-numeric-spacing:;
 --tw-numeric-fraction:;
 --tw-ring-inset:;
 --tw-ring-offset-width:0px;
 --tw-ring-offset-color:#fff;
 --tw-ring-color:rgb(59 130 246 / 0.5);
 --tw-ring-offset-shadow:0 0 #0000;
 --tw-ring-shadow:0 0 #0000;
 --tw-shadow:0 0 #0000;
 --tw-shadow-colored:0 0 #0000;
 --tw-blur:;
 --tw-brightness:;
 --tw-contrast:;
 --tw-grayscale:;
 --tw-hue-rotate:;
 --tw-invert:;
 --tw-saturate:;
 --tw-sepia:;
 --tw-drop-shadow:;
 --tw-backdrop-blur:;
 --tw-backdrop-brightness:;
 --tw-backdrop-contrast:;
 --tw-backdrop-grayscale:;
 --tw-backdrop-hue-rotate:;
 --tw-backdrop-invert:;
 --tw-backdrop-opacity:;
 --tw-backdrop-saturate:;
 --tw-backdrop-sepia:;
 --tw-contain-size:;
 --tw-contain-layout:;
 --tw-contain-paint:;
 --tw-contain-style:
}
:root {
            /* COLORS */
           --st-cream: #FBF7F0;
--st-sage: #EAF4F2;
--st-white: #FFFFFF;
 --st-navy: #0D544B;
            /* Deep Teal */
          --st-text: #182624;
--gray-600: #5F6E68;
 --st-gold: #C9A45C;
 --st-btn: #0D544B;
--st-btn-hover: #0B463F;
 --st-overlay-dark: rgba(13, 84, 75, 0.75);
 --st-overlay-light: rgba(13, 84, 75, 0.15);
 --calc-bg:#fbfbf8;
 --calc-card:#ffffff;
 --calc-primary:#0f5b4f;
 --calc-accent:#d6b25e;
 --calc-text:#1f2d2a;
 --calc-muted:#7a8a86;
 --calc-border:#e4e9e7;
 --calc-shadow:0 20px 40px rgba(0, 0, 0, 0.06);
 --pt-border: rgba(13, 84, 75, 0.10);
--pt-shadow-soft: 0 10px 40px -12px rgba(13, 84, 75, 0.08);
 --pt-row-even:rgba(234, 244, 242, 0.35);
 --pt-head-bg:rgba(253, 251, 247, 0.96);
 --card-hover-shadow:0 20px 40px -5px rgba(13, 84, 75, 0.12);
 --surface: rgba(255, 255, 255, 0.62);
 --surface-strong: rgba(255, 255, 255, 0.82);
 --stroke-soft: rgba(13, 84, 75, 0.05);
 --stroke-hover: rgba(201, 164, 92, 0.18);
 --glass: rgba(255, 255, 255, 0.55);
 --glass-solid: rgba(255, 255, 255, 0.85);
 --border-light: rgba(13, 84, 75, 0.08);
 --shadow-float: 0 40px 80px -20px rgba(13, 84, 75, 0.15);
 --st-overlay-dark: rgba(13, 84, 75, 0.75);
 --st-overlay-light: rgba(13, 84, 75, 0.15);
 --shadow-soft: 0 20px 40px -10px rgba(13, 84, 75, 0.08);
 --shadow-hover: 0 30px 60px -12px rgba(13, 84, 75, 0.15);
 --radius-lg: 32px;
 --radius-md: 20px;
 --radius-pill: 999px;
 --radius-card: 32px;
 --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
    --pt-border:rgba(13, 84, 75, 0.12);
	--radius-lux: 32px;
}.opacity-30 {
  opacity: 0.3;
}
.leading-relaxed p {
	margin-bottom: 20px;
}
.wpcf7-form.init div {
	margin-top:20px
}
.mw75 {
	max-width: 75%;
	margin: auto;
}
*, ::after, ::before {
 box-sizing:border-box;
 border-width:0;
 border-color:#e5e7eb
}
::after, ::before {
 --tw-content:''
}

 @font-face {
 font-family: 'Cormorant Garamond';
 font-style: italic;
 font-weight: 400;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3smX5slCNuHLi8bLeY9MK7whWMhyjYrGFEsdtdc62E6zd58jD-iNM8.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
@font-face {
 font-family: 'Cormorant Garamond';
 font-style: normal;
 font-weight: 300;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
 @font-face {
 font-family: 'Cormorant Garamond';
 font-style: normal;
 font-weight: 400;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
 @font-face {
 font-family: 'Cormorant Garamond';
 font-style: normal;
 font-weight: 500;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
 @font-face {
 font-family: 'Cormorant Garamond';
 font-style: normal;
 font-weight: 600;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
@font-face {
 font-family: 'Montserrat';
 font-style: normal;
 font-weight: 300;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
 @font-face {
 font-family: 'Montserrat';
 font-style: normal;
 font-weight: 400;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
 @font-face {
 font-family: 'Montserrat';
 font-style: normal;
 font-weight: 500;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}
 @font-face {
 font-family: 'Montserrat';
 font-style: normal;
 font-weight: 600;
 font-display: swap;
 src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTn89ddpQ.woff2) format('woff2');
 unicode-range: U+0000-00FF;
}




:host, html {
 line-height:1.5;
 -webkit-text-size-adjust:100%;
 -moz-tab-size:4;
 tab-size:4;
 font-family:"Montserrat", sans-serif;
 font-feature-settings:normal;
 font-variation-settings:normal;
 -webkit-tap-highlight-color:transparent
}
body {
	margin:0;
	line-height:inherit
}
body {
	background-color: var(--st-cream);
	 
	overflow-x: hidden;
}
details p {
  margin-bottom: 20px;
}
hr {
	height:0;
	color:inherit;
	border-top-width:1px
}
abbr:where([title]) {
 -webkit-text-decoration:underline dotted;
 text-decoration:underline dotted
}
h1, h2, h3, h4, h5, h6 {
	font-family: "Cormorant Garamond", serif;
	font-weight: 500;
	letter-spacing: -0.01em;
	color: var(--st-navy);
}
a {
	color:inherit;
	text-decoration:inherit
}
b, strong {
	font-weight:bolder
}
code, kbd, pre, samp {
	font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-feature-settings:normal;
	font-variation-settings:normal;
	font-size:1em
}
small {
	font-size:80%
}
sub, sup {
	font-size:75%;
	line-height:0;
	position:relative;
	vertical-align:baseline
}
sub {
	bottom:-.25em
}
sup {
	top:-.5em
}
table {
	text-indent:0;
	border-color:inherit;
	border-collapse:collapse
}
button, input, optgroup, select, textarea {
	font-family:inherit;
	font-feature-settings:inherit;
	font-variation-settings:inherit;
	font-size:100%;
	font-weight:inherit;
	line-height:inherit;
	letter-spacing:inherit;
	color:inherit;
	margin:0;
	padding:0
}
button, select {
	text-transform:none
}
button, input:where([type=button]), input:where([type=reset]), input:where([type=submit]) {
 -webkit-appearance:button;
 background-color:transparent;
 background-image:none
}
:-moz-focusring {
 outline:auto
}
:-moz-ui-invalid {
 box-shadow:none
}
progress {
	vertical-align:baseline
}
::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
 height:auto
}
[type=search] {
 -webkit-appearance:textfield;
 outline-offset:-2px
}
::-webkit-search-decoration {
 -webkit-appearance:none
}
::-webkit-file-upload-button {
 -webkit-appearance:button;
 font:inherit
}
 
blockquote, dd, dl, figure, h1, h2, h3, h4, h5, h6, hr, p, pre {
	margin:0
}
fieldset {
	margin:0;
	padding:0
}
legend {
	padding:0
}
menu, ol, ul {
	list-style:none;
	margin:0;
	padding:0
}
.readmore summary:hover {
	color: var(--st-gold);
	border-bottom-color: var(--st-gold);
}
.readmore summary {
	cursor: pointer;
	display: inline-block;
	padding: 0;
	padding-bottom: 0px;
	border: none;
	border-bottom-width: medium;
	border-bottom-style: none;
	border-bottom-color: currentcolor;
	border-radius: 0;
	background: transparent;
	outline: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--st-navy);
	font-family: "Montserrat", sans-serif;
	border-bottom: 1px solid rgba(13, 84, 75, 0.28);
	border-bottom-color: rgba(13, 84, 75, 0.28);
	padding-bottom: 2px;
	line-height: 1.2;
}
 
.readmore .body {
	padding: 12px 0 0;
	color: rgba(95, 110, 104, 0.98);
	font-size: 14px;
	line-height: 1.75;
	font-family: "Montserrat", sans-serif;
}
details[open] summary ~ * {
 animation: fadeIn .25s ease-in-out;
}
 
.bordersolid {
	border: 0px solid #e5e7eb;
}
.dl-stack{ display:flex; flex-direction:column; gap:18px; }
    .dl-stack dt{ color: rgba(13,84,75,0.85); font-weight:600; }
    .dl-stack dd{ color: rgba(95,110,104,0.98); margin-top:4px; }

    /* Micro tiles */
    .micro-row{
      display:grid;
      grid-template-columns: repeat(2, 1fr);
      gap:10px;
    }
    .micro-tile{
      border-radius: 18px;
      overflow:hidden;
      border: 1px solid rgba(13,84,75,0.08);
      background: rgba(255,255,255,0.85);
    }
    .micro-cap{
      font-size: 11px;
      letter-spacing: .10em;
      text-transform: uppercase;
      color: rgba(95,110,104,0.85);
      font-family: "Montserrat", sans-serif;
      margin-top: 8px;
      text-align:center;
    }
	
	.page-template-blog {
  background: #fff;
}
/* Inputs */
    .field {
	width:100%;
	border-radius:16px;
	border:1px solid rgba(13, 84, 75, 0.12);
	background:rgba(255, 255, 255, 0.90);
	padding:14px 14px;
	font-size:14px;
	line-height:1.5;
	color:rgba(27, 43, 40, 0.95);
	outline:none;
	min-height:44px;
}
.field:focus {
	border-color: rgba(212, 175, 55, 0.65);
	box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.18);
}
textarea.field {
	min-height: 150px;
	resize: vertical;
}
label {
	display:block;
	font-size:12px;
	letter-spacing:.12em;
	text-transform:uppercase;
	font-weight:700;
	color:rgba(13, 84, 75, 0.70);
	margin-bottom:8px;
	font-family:"Montserrat", sans-serif;
}
.wpcf7-form-control.wpcf7-submit.has-spinner.tn-primary.w-full.shadow-lg {
	font-size: 11px;
	font-weight: 700;
	border-radius: 9999px;
}
article.prose a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: none;
	color: rgba(13, 84, 75, 0.88);
	border-bottom: 1px solid rgba(13, 84, 75, 0.18);
	padding-bottom: 4px;
 transition: all .2s ease;
}
article.prose p a:hover {
	color: var(--st-gold);
	border-bottom-color: rgba(212, 175, 55, 0.55);
}
article.prose a.btn-primary {
	background-color: var(--st-btn);
	color: #fff;
	border: 1px solid var(--st-btn);
 transition: all .3s ease;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	font-size: 11px;
	font-weight: 700;
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	text-transform: none;
	letter-spacing: 0.15em;
	border-radius: 999px;
}
.btn-primary {white-space: nowrap;
	background-color: var(--st-btn);
	color: #fff;
	border: 1px solid var(--st-btn);
 transition: all .3s ease;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width:auto;
	font-size: 11px;
	font-weight: 700;
	padding-top: 1rem;
	padding-bottom: 1rem;
	padding-left: 2.5rem;
	padding-right: 2.5rem;
	text-transform: none;
	letter-spacing: 0.15em;
	border-radius: 999px;
}
.pt-table thead{ z-index: 99 !important;position:relative}
.pt-table tbody   {
   z-index: 9 !important;position:relative
}.pt-table tbody th {
   z-index: 9 !important;
}
.pt-2 {
	padding-top: 0.5rem;
}
dialog {
	padding:0
}
textarea {
	resize:vertical
}
input::placeholder, textarea::placeholder {
 opacity:1;
 color:#9ca3af
}
[role=button], button {
 cursor:pointer
}
:disabled {
	cursor:default
}
audio, canvas, embed, iframe, img, object, svg, video {
	display:block;
	vertical-align:middle
}
img, video {
	max-width:100%;
	height:auto
}
[hidden]:where(:not([hidden=until-found])) {
 display:none
}
.fixed {
	position:fixed
}
.absolute {
	position:absolute
}
.relative {
	position:relative
}
.sticky {
	position:sticky
}
.inset-0 {
	inset:0px
}
.inset-x-0 {
	left:0px;
	right:0px
}
.-top-4 {
	top:-1rem
}
.bottom-0 {
	bottom:0px
}
.bottom-4 {
	bottom:1rem
}
.bottom-8 {
	bottom:2rem
}
.left-0 {
	left:0px
}
.left-4 {
	left:1rem
}
.left-8 {
	left:2rem
}
.left-\[2\.05rem\] {
	left:2.05rem
}
.right-6 {
	right:1.5rem
}
.right-8 {
	right:2rem
}
.top-0 {
	top:0px
}
.top-24 {
	top:6rem
}
.top-3 {
	top:0.75rem
}
.top-6 {
	top:1.5rem
}
.top-8 {
	top:2rem
}
.-z-10 {
	z-index:-10
}
.z-10 {
	z-index:10
}
.z-20 {
	z-index:20
}
.z-50 {
	z-index:50
}
.z-\[60\] {
	z-index:60
}
.z-\[999\] {
	z-index:999
}
.order-1 {
	order:1
}
.order-2 {
	order:2
}
.mx-auto {
	margin-left:auto;
	margin-right:auto
}
.my-4 {
	margin-top:1rem;
	margin-bottom:1rem
}
.mb-1 {
	margin-bottom:0.25rem
}
.mb-10 {
	margin-bottom:2.5rem
}
.mb-12 {
	margin-bottom:3rem
}
.mb-16 {
	margin-bottom:4rem
}
.mb-2 {
	margin-bottom:0.5rem
}
.mb-3 {
	margin-bottom:0.75rem
}
.mb-4 {
	margin-bottom:1rem
}
.mb-6 {
	margin-bottom:1.5rem
}
.mb-8 {
	margin-bottom:2rem
}
.ml-2 {
	margin-left:0.5rem
}
.mr-6 {
	margin-right:1.5rem
}
.mr-auto {
	margin-right:auto
}
.mt-1 {
	margin-top:0.25rem
}
.mt-1\.5 {
	margin-top:0.375rem
}
.mt-10 {
	margin-top:2.5rem
}
.mt-12 {
	margin-top:3rem
}
.mt-2 {
	margin-top:0.5rem
}
.mt-3 {
	margin-top:0.75rem
}
.mt-4 {
	margin-top:1rem
}
.mt-6 {
	margin-top:1.5rem
}
.mt-8 {
	margin-top:2rem
}
.block {
	display:block
}
.inline-block {
	display:inline-block
}
.flex {
	display:flex
}
.grid {
	display:grid
}
.hidden {
	display:none
}
.aspect-\[4\/3\] {
	aspect-ratio:4/3
}
.aspect-square {
	aspect-ratio:1 / 1
}
.aspect-video {
	aspect-ratio:16 / 9
}
.h-1 {
	height:0.25rem
}
.h-10 {
	height:2.5rem
}
.h-12 {
	height:3rem
}
.h-14 {
	height:3.5rem
}
.h-24 {
	height:6rem
}
.h-28 {
	height:7rem
}
.h-4 {
	height:1rem
}
.h-44 {
	height:11rem
}
.h-5 {
	height:1.25rem
}
.h-6 {
	height:1.5rem
}
.h-7 {
	height:1.75rem
}
.h-8 {
	height:2rem
}
.h-36 {
	height: 9rem;
}
.h-\[1px\] {
	height:1px
}
.h-\[35vh\] {
	height:35vh
}
.h-\[400px\] {
	height:400px
}
.h-auto {
	height:auto
}
.h-full {
	height:100%
}
.max-h-\[80\%\] {
	max-height:80%
}
.min-h-\[60px\] {
	min-height:60px
}
.min-h-screen {
	min-height:100vh
}
.w-1 {
	width:0.25rem
}
.w-10 {
	width:2.5rem
}
.w-11\/12 {
	width:91.666667%
}
.w-12 {
	width:3rem
}
.w-14 {
	width:3.5rem
}
.w-24 {
	width:6rem
}
.w-4 {
	width:1rem
}
.w-5 {
	width:1.25rem
}
.w-6 {
	width:1.5rem
}
.w-7 {
	width:1.75rem
}
.w-8 {
	width:2rem
}
.w-80 {
	width:20rem
}
.w-\[1px\] {
	width:1px
}
.w-auto {
	width:auto
}
.w-full {
	width:100%
}
.mt-5 {
	margin-top: 1.25rem;
}
.text-gray-600 {
 --tw-text-opacity: 1;
	color: rgb(75 85 99 / var(--tw-text-opacity, 1));
}
.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
}
.mb-10 {
  margin-bottom: 2.5rem;
}
.max-w-\[1152px\] {
  max-width: 1152px;
}
.process-ring-media {
  width: 100%;
  max-width: 420px;
  aspect-ratio: 4 / 3;
  border-radius: 28px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 18px 50px -24px rgba(13,84,75,0.18);
}
.max-w-\[60ch\] {
  max-width: 60ch;
}
.min-w-\[80vw\] {
	min-width:80vw
}
.max-w-2xl {
	max-width:42rem
}
.max-w-3xl {
	max-width:48rem
}
.max-w-4xl {
	max-width:56rem
}
.max-w-5xl {
	max-width:64rem
}
.max-w-6xl {
	max-width:72rem
}
.max-w-7xl {
	max-width:80rem
}
.max-w-md {
	max-width:28rem
}
.max-w-sm {
	max-width:24rem
}
.max-w-xl {
	max-width:36rem
}
.flex-1 {
	flex:1 1 0%
}
.flex-shrink-0 {
	flex-shrink:0
}
.flex-grow {
	flex-grow:1
}
.translate-x-full {
 --tw-translate-x:100%;
	transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.translate-y-full {
 --tw-translate-y:100%;
	transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.transform {
	transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.cursor-default {
	cursor:default
}
.cursor-pointer {
	cursor:pointer
}
.snap-x {
	scroll-snap-type:x var(--tw-scroll-snap-strictness)
}
.snap-mandatory {
 --tw-scroll-snap-strictness:mandatory
}
.snap-center {
	scroll-snap-align:center
}
.list-none {
	list-style-type:none
}
.grid-cols-1 {
	grid-template-columns:repeat(1, minmax(0, 1fr))
}
.grid-cols-2 {
	grid-template-columns:repeat(2, minmax(0, 1fr))
}
.grid-cols-4 {
	grid-template-columns:repeat(4, minmax(0, 1fr))
}
.flex-row {
	flex-direction:row
}
.flex-col {
	flex-direction:column
}
.flex-wrap {
	flex-wrap:wrap
}
.items-start {
	align-items:flex-start
}
.items-end {
	align-items:flex-end
}
.items-center {
	align-items:center
}
.justify-center {
	justify-content:center
}
.justify-between {
	justify-content:space-between
}
.gap-10 {
	gap:2.5rem
}
.gap-12 {
	gap:3rem
}
.gap-16 {
	gap:4rem
}
.gap-2 {
	gap:0.5rem
}
.gap-3 {
	gap:0.75rem
}
.gap-4 {
	gap:1rem
}
.gap-5 {
	gap:1.25rem
}
.gap-6 {
	gap:1.5rem
}
.gap-8 {
	gap:2rem
}.pb-5 {
  padding-bottom: 1.25rem;
}.space-y-8 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(2rem * var(--tw-space-y-reverse));
}
.space-y-3 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse:0;
 margin-top:calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom:calc(0.75rem * var(--tw-space-y-reverse))
}
.space-y-4 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse:0;
 margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom:calc(1rem * var(--tw-space-y-reverse))
}
.space-y-6 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse:0;
 margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))
}
.overflow-hidden {
	overflow:hidden
}
.overflow-x-auto {
	overflow-x:auto
}
.overflow-y-auto {
	overflow-y:auto
}
.scroll-smooth {
	scroll-behavior:smooth
}
.rounded {
	border-radius:0.25rem
}
.rounded-2xl {
	border-radius:1rem
}
.rounded-3xl {
	border-radius:1.5rem
}
.rounded-\[2\.5rem\] {
	border-radius:2.5rem
}
.rounded-\[2rem\] {
	border-radius:2rem
}
.rounded-full {
	border-radius:9999px
}
.rounded-lg {
	border-radius:0.5rem
}
.rounded-xl {
	border-radius:0.75rem
}
.border {
	border-width:1px; border-style:solid
}
.border-2 {
	border-width:2px; border-style:solid
}
.border-b {
	border-bottom-width: 1px;
	border-style:solid;
}
.border-t {
	border-top-width: 1px;
	border-style:solid;
}.pb-3 {
  padding-bottom: 0.75rem;
}
.border-b-2 {
	border-bottom-width:2px; border-style:solid
}
.border-l-2 {
	border-left-width:2px; border-style:solid
}
 
.border-gray-100 {
 --tw-border-opacity:1;
	border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))
}
.border-gray-200 {
 --tw-border-opacity:1;
	border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))
}
.border-gray-300 {
 --tw-border-opacity:1;
	border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))
}
.border-st-gold {
	border-color:var(--st-gold) !important
}
#pricing a {
	text-align:center !important
}
.border-st-navy {
	border-color:var(--st-navy)
}
.border-transparent {
	border-color:transparent
}
.border-white {
 --tw-border-opacity:1;
	border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))
}
.border-white\/10 {
	border-color:rgb(255 255 255 / 0.1)
}
.border-white\/40 {
	border-color:rgb(255 255 255 / 0.4)
}
.bg-\[\#E0F7FA\] {
 --tw-bg-opacity:1;
	background-color:rgb(224 247 250 / var(--tw-bg-opacity, 1))
}
.bg-\[\#FFD700\] {
 --tw-bg-opacity:1;
	background-color:rgb(255 215 0 / var(--tw-bg-opacity, 1))
}
.bg-black {
 --tw-bg-opacity:1;
	background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))
}
.bg-gray-200 {
 --tw-bg-opacity:1;
	background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))
}
.bg-gray-400 {
 --tw-bg-opacity:1;
	background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))
}
.bg-gray-50 {
 --tw-bg-opacity:1;
	background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))
}
.pt-24 {
	padding-top: 6rem;
}
.overflow-auto {
	overflow: auto;
}
.pl-20 {
	padding-left: 5rem;
}
.pt-28 {
	padding-top: 7rem;
}
.pb-24 {
	padding-bottom: 6rem;
}
.py-12 {
	padding-top: 3rem;
	padding-bottom: 3rem;
}
.bg-st-btn {
	background-color:var(--st-btn)
}
.bg-st-cream {
	background-color:var(--st-cream)
}
.bg-st-gold {
	background-color:var(--st-gold)
}
.bg-st-navy {
	background-color:var(--st-navy)
}
.bg-st-sage {
	background-color:var(--st-sage)
}
.bg-white {
 --tw-bg-opacity:1;
	background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}
.bg-white\/10 {
	background-color:rgb(255 255 255 / 0.1)
}
.bg-white\/20 {
	background-color:rgb(255 255 255 / 0.2)
}
.bg-white\/40 {
	background-color:rgb(255 255 255 / 0.4)
}
.bg-white\/5 {
	background-color:rgb(255 255 255 / 0.05)
}
.bg-white\/80 {
	background-color:rgb(255 255 255 / 0.8)
}
.bg-gradient-to-br {
	background-image:linear-gradient(to bottom right, var(--tw-gradient-stops))
}
.bg-gradient-to-t {
	background-image:linear-gradient(to top, var(--tw-gradient-stops))
}
.from-black\/60 {
 --tw-gradient-from:rgb(0 0 0 / 0.6) var(--tw-gradient-from-position);
 --tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-black\/65 {
 --tw-gradient-from:rgb(0 0 0 / 0.65) var(--tw-gradient-from-position);
 --tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-gray-50 {
 --tw-gradient-from:#f9fafb var(--tw-gradient-from-position);
 --tw-gradient-to:rgb(249 250 251 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
}
.from-st-cream {
 --tw-gradient-from:var(--st-cream) var(--tw-gradient-from-position);
 --tw-gradient-to:rgb(255 255 255 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
}
.via-black\/15 {
 --tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops:var(--tw-gradient-from), rgb(0 0 0 / 0.15) var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.via-transparent {
 --tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops:var(--tw-gradient-from), transparent var(--tw-gradient-via-position), var(--tw-gradient-to)
}
.to-gray-200 {
 --tw-gradient-to:#e5e7eb var(--tw-gradient-to-position)
}
.to-transparent {
 --tw-gradient-to:transparent var(--tw-gradient-to-position)
}
.object-contain {
	object-fit:cover
}
.object-\[50\%_55\%\] {
	object-position:50% 55%
}
.object-\[55\%_65\%\] {
	object-position: 55% 65%;
}
.object-cover {
	object-fit:cover
}
.object-center {
	object-position:center
}
.p-1 {
	padding:0.25rem
}
.p-10 {
	padding:2.5rem
}
.p-12 {
	padding:3rem
}
.p-2 {
	padding:0.5rem
}
.p-4 {
	padding:1rem
}
.p-5 {
	padding:1.25rem
}
.p-6 {
	padding:1.5rem
}
.p-8 {
	padding:2rem
}
.px-10 {
	padding-left:2.5rem;
	padding-right:2.5rem
}
.px-2 {
	padding-left:0.5rem;
	padding-right:0.5rem
}
.px-3 {
	padding-left:0.75rem;
	padding-right:0.75rem
}
.px-4 {
	padding-left:1rem;
	padding-right:1rem
}
.px-6 {
	padding-left:1.5rem;
	padding-right:1.5rem
}
.px-8 {
	padding-left:2rem;
	padding-right:2rem
}
.py-1 {
	padding-top:0.25rem;
	padding-bottom:0.25rem
}
.py-16 {
	padding-top:4rem;
	padding-bottom:4rem
}
.py-2 {
	padding-top:0.5rem;
	padding-bottom:0.5rem
}
.py-20 {
	padding-top:5rem;
	padding-bottom:5rem
}
.py-24 {
	padding-top:6rem;
	padding-bottom:6rem
}
.py-3 {
	padding-top:0.75rem;
	padding-bottom:0.75rem
}
.py-32 {
	padding-top:8rem;
	padding-bottom:8rem
}
.py-4 {
	padding-top:1rem;
	padding-bottom:1rem
}
.py-5 {
	padding-top:1.25rem;
	padding-bottom:1.25rem
}
.py-6 {
	padding-top:1.5rem;
	padding-bottom:1.5rem
}
.pb-1 {
	padding-bottom:0.25rem
}
.pb-12 {
	padding-bottom:3rem
}
.pb-20 {
	padding-bottom:5rem
}
.pb-4 {
	padding-bottom:1rem
}
.pb-8 {
	padding-bottom:2rem
}
.pl-2 {
	padding-left:0.5rem
}
.pl-4 {
	padding-left:1rem
}
.pt-0 {
	padding-top:0px
}
.pt-20 {
	padding-top:5rem
}
.pt-4 {
	padding-top:1rem
}
.pt-6 {
	padding-top:1.5rem
}
.pt-8 {
	padding-top:2rem
}
.text-left {
	text-align:left
}
.text-center {
	text-align:center
}
.text-right {
	text-align:right
}
.font-sans {
	font-family:"Montserrat", sans-serif
}
.font-serif {
	font-family:"Cormorant Garamond", serif
}
.text-2xl {
	font-size:1.5rem;
	line-height:2rem
}
.text-3xl {
	font-size:1.875rem;
	line-height:2.25rem
}
.text-4xl {
	font-size:2.25rem;
	line-height:2.5rem
}
.text-5xl {
	font-size:3rem;
	line-height:1
}
.text-\[10px\] {
	font-size:10px
}
.text-\[11px\] {
	font-size:11px
}
.text-\[12px\] {
	font-size:12px
}
.text-\[13px\] {
	font-size:13px
}
.text-\[14px\] {
	font-size:14px
}
.text-\[16px\] {
	font-size:16px
}
.text-\[9px\] {
	font-size:9px
}
.text-base {
	font-size:1rem;
	line-height:1.5rem
}
.text-lg {
	font-size:1.125rem;
	line-height:1.75rem
}
.text-sm {
	font-size:0.875rem;
	line-height:1.25rem
}
.text-xs {
	font-size:0.75rem;
	line-height:1rem
}
.font-bold {
	font-weight:700
}
.font-light {
	font-weight:300
}
.font-medium {
	font-weight:500
}
.font-normal {
	font-weight:400
}
.font-semibold {
	font-weight:600
}
.italic {
	font-style:italic
}
.leading-\[1\.1\] {
	line-height:1.1
}
.leading-loose {
	line-height:2
}
.leading-relaxed {
	line-height:1.625
}
.leading-tight {
	line-height:1.25
}
.tracking-\[0\.02em\] {
	letter-spacing:0.02em
}
.tracking-\[0\.2em\] {
	letter-spacing:0.2em
}
.tracking-\[0\.3em\] {
	letter-spacing:0.3em
}
.tracking-wide {
	letter-spacing:0.025em
}
.tracking-wider {
	letter-spacing:0.05em
}
.tracking-widest {
	letter-spacing:0.1em
}
.text-gray-400 {
 --tw-text-opacity:1;
	color:rgb(156 163 175 / var(--tw-text-opacity, 1))
}
.text-gray-500 {
 --tw-text-opacity:1;
	color:rgb(107 114 128 / var(--tw-text-opacity, 1))
}
.text-st-gold {
	color:var(--st-gold)
}
.text-st-navy {
	color:var(--st-navy)
}
.text-st-text {
	color:var(--st-text)
}
.text-white {
 --tw-text-opacity:1;
	color:rgb(255 255 255 / var(--tw-text-opacity, 1))
}
.text-white\/40 {
	color:rgb(255 255 255 / 0.4)
}
.text-white\/70 {
	color:rgb(255 255 255 / 0.7)
}
.text-white\/80 {
	color:rgb(255 255 255 / 0.8)
}
.text-white\/95 {
	color:rgb(255 255 255 / 0.95)
}
.antialiased {
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale
}
.placeholder-white\/30::placeholder {
 color:rgb(255 255 255 / 0.3)
}
.accent-st-gold {
	accent-color:var(--st-gold)
}
.opacity-100 {
	opacity:1
}
.opacity-40 {
	opacity:0.4
}
.opacity-50 {
	opacity:0.5
}
.opacity-60 {
	opacity:0.6
}
.opacity-80 {
	opacity:0.8
}
.opacity-90 {
	opacity:0.9
}
.opacity-95 {
	opacity:0.95
}

.shadow-2xl {
 --tw-shadow:0 25px 50px -12px rgb(0 0 0 / 0.25);
 --tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-\[0_-5px_20px_rgba\(0\2c 0\2c 0\2c 0\.05\)\] {
 --tw-shadow:0 -5px 20px rgba(0, 0, 0, 0.05);
 --tw-shadow-colored:0 -5px 20px var(--tw-shadow-color);
 box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-card {
 --tw-shadow:0 25px 50px -12px rgba(13, 84, 75, 0.15);
 --tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color);
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-lg {
 --tw-shadow:0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
 --tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-md {
 --tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
 --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.shadow-sm {
 --tw-shadow:0 1px 2px 0 rgb(0 0 0 / 0.05);
 --tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.outline-none {
	outline:2px solid transparent;
	outline-offset:2px
}
.ring-white {
 --tw-ring-opacity:1;
 --tw-ring-color:rgb(255 255 255 / var(--tw-ring-opacity, 1))
}
.brightness-0 {
 --tw-brightness:brightness(0);
	filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.drop-shadow-2xl {
 --tw-drop-shadow:drop-shadow(0 25px 25px rgb(0 0 0 / 0.15));
	filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.drop-shadow-xl {
 --tw-drop-shadow:drop-shadow(0 20px 13px rgb(0 0 0 / 0.03)) drop-shadow(0 8px 5px rgb(0 0 0 / 0.08));
	filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.grayscale {
 --tw-grayscale:grayscale(100%);
	filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.grayscale-\[35\%\] {
  --tw-grayscale: grayscale(35%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}.mx-1 {
  margin-left: 0.25rem;
  margin-right: 0.25rem;
}
.invert {
 --tw-invert:invert(100%);
	filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.backdrop-blur-md {
 --tw-backdrop-blur:blur(12px);
	-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
	backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}
.backdrop-blur-sm {
 --tw-backdrop-blur:blur(10px);
	-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
	backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}
.backdrop-blur-xl {
 --tw-backdrop-blur:blur(24px);
	-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
	backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}
.transition-all {
	transition-property:all;
	transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration:150ms
}
.transition-colors {
	transition-property:color, background-color, border-color, fill, stroke, -webkit-text-decoration-color;
	transition-property:color, background-color, border-color, text-decoration-color, fill, stroke;
	transition-property:color, background-color, border-color, text-decoration-color, fill, stroke, -webkit-text-decoration-color;
	transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration:150ms
}
.transition-opacity {
	transition-property:opacity;
	transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration:150ms
}
.transition-transform {
	transition-property:transform;
	transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);
	transition-duration:150ms
}
.duration-1000 {
	transition-duration:1000ms
}
.duration-300 {
	transition-duration:300ms
}
.duration-500 {
	transition-duration:500ms
}
.duration-700 {
	transition-duration:700ms
}
.ease-out {
	transition-timing-function:cubic-bezier(0, 0, 0.2, 1)
}
.hover\:scale-105:hover {
 --tw-scale-x:1.05;
 --tw-scale-y:1.05;
	transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.hover\:border-st-gold:hover {
	border-color:var(--st-gold)
}
.hover\:bg-st-gold:hover {
	background-color:var(--st-gold)
}
.hover\:bg-white:hover {
 --tw-bg-opacity:1;
	background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))
}
.hover\:text-st-gold:hover {
	color:var(--st-gold)
}
.hover\:text-st-navy:hover {
	color:var(--st-navy)
}
.hover\:text-white:hover {
 --tw-text-opacity:1;
	color:rgb(255 255 255 / var(--tw-text-opacity, 1))
}
.hover\:underline:hover {
	-webkit-text-decoration-line:underline;
	text-decoration-line:underline
}
.hover\:opacity-100:hover {
	opacity:1
}
.hover\:opacity-80:hover {
	opacity:0.8
}
.hover\:shadow-md:hover {
 --tw-shadow:0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
 --tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
	box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}
.hover\:grayscale-0:hover {
 --tw-grayscale:grayscale(0);
	filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}
.focus\:border-st-gold:focus {
	border-color:var(--st-gold)
}
.focus\:outline-none:focus {
	outline:2px solid transparent;
	outline-offset:2px
}
.group[open] .group-open\:rotate-180 {
 --tw-rotate:180deg;
	transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.group:hover .group-hover\:scale-105 {
 --tw-scale-x:1.05;
 --tw-scale-y:1.05;
	transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}
.group:hover .group-hover\:from-black\/70 {
 --tw-gradient-from:rgb(0 0 0 / 0.7) var(--tw-gradient-from-position);
 --tw-gradient-to:rgb(0 0 0 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)
}
.justify-between {
	justify-content: space-between;
}
.items-center {
	align-items: center;
}
 
.pl-4 {
	padding-left: 1rem;
}
.border-st-sage {
	border-color: var(--st-sage);
}
.border-l {
  border-left-width: 1px;border-style:solid
}
.border-l-2 {
	border-left-width: 2px;
}
details[open] summary ~ * {
 animation: fadeIn .3s ease-in-out;
}
.text-\[color\:var\(--gray-600\)\] {
	color: var(--gray-600);
}
.gap-y-6 {
	row-gap: 1.5rem;
}
.gap-x-12 {
	column-gap: 3rem;
}
.ring-1 {
 --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
 --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
	box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
}
.bg-white\/55 {
	background-color: rgb(255 255 255 / 0.55);
}
.rounded-\[28px\] {
	border-radius: 28px;
}
.overflow-hidden {
	overflow: hidden;
}
.sd-tile:hover {
	transform: translateY(-2px);
	border-color: rgba(13, 84, 75, 0.16);
	background: rgba(255, 255, 255, 0.56);
	box-shadow: none;
}
/*.sd-tile {
	background: rgba(255, 255, 255, 0.50);
	border: 1px solid rgba(13, 84, 75, 0.08);
	border-top-color: rgba(13, 84, 75, 0.08);
	border-right-color: rgba(13, 84, 75, 0.08);
	border-bottom-color: rgba(13, 84, 75, 0.08);
	border-left-color: rgba(13, 84, 75, 0.08);
	border-radius: 20px;
 transition: transform .14s ease, border-color .18s ease, background-color .18s ease;
	box-shadow: none;
}*/
.min-w-0 {
	min-width: 0px;
}
.sd-tile:hover {
	transform: translateY(-2px);
	border-color: rgba(13, 84, 75, 0.16);
	background: rgba(255, 255, 255, 0.56);
	box-shadow: none;
}
.bg-white\/50 {
	background-color: rgb(255 255 255 / 0.5);
}
.hover\:decoration-st-gold:hover {
	-webkit-text-decoration-color: var(--st-gold);
	text-decoration-color: var(--st-gold);
}
.underline-offset-2 {
	text-underline-offset: 2px;
}
.decoration-gray-300 {
	-webkit-text-decoration-color: #d1d5db;
	text-decoration-color: #d1d5db;
}
.underline {
	-webkit-text-decoration-line: underline;
	text-decoration-line: underline;
}
.leading-relaxed {
	line-height: 1.625;
}
.py-14 {
	padding-top: 3.5rem;
	padding-bottom: 3.5rem;
}
 .pt-16 {
  padding-top: 4rem;
}
.pb-28 {
  padding-bottom: 7rem;
}
.pb-14 {
  padding-bottom: 3rem;
}
.bg-st-sage {
	background-color: var(--st-sage);
}
.sd-tile:hover {
	transform: translateY(-2px);
	border-color: rgba(13, 84, 75, 0.16);
	background: rgba(255, 255, 255, 0.56);
	box-shadow: none;
}
.scale-\[1\.03\] {
 --tw-scale-x: 1.03;
 --tw-scale-y: 1.03;
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.mb-9 {
	margin-bottom: 2.25rem;
}
.text-\[color\:var\(--gray-600\)\] {
	color: var(--gray-600);
}
.text-base {
	font-size: 1rem;
	line-height: 1.5rem;
}
/* Soft CTA (text link style) */
    .soft-cta {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: none;
	color: rgba(13, 84, 75, 0.88);
	border-bottom: 1px solid rgba(13, 84, 75, 0.18);
	padding-bottom: 4px;
 transition: all .2s ease;
	align-self: anchor-center;
}
.soft-cta:hover {
	color: var(--st-gold);
	border-bottom-color: rgba(212, 175, 55, 0.55);
}
.ops-card {
	background: rgba(255, 255, 255, 0.68);
	border: 1px solid rgba(13, 84, 75, 0.06);
	border-radius: 22px;
	box-shadow: 0 18px 50px -24px rgba(13, 84, 75, 0.18);
}
.ops-card--sage {
	background: rgba(234, 244, 242, 0.55);
	border-color: rgba(13, 84, 75, 0.06);
}
.btn-primary:hover {
	background-color: var(--st-btn-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 25px -5px rgba(13, 84, 75, 0.3);
}
.rowff a {
	padding: 11px 5px;
}
 
.text-gray-500 li {
	color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
/* 2. SOFT / OUTLINE BUTTON (For Header Nav) */
        .btn-soft {
	background-color: transparent !important;
	color: var(--st-navy) !important;
	border: 1px solid var(--st-navy) !important;
	box-shadow: none !important;
	transition: all 0.3s ease;
	/*display: flex;*/
	align-items: center;
	justify-content: center;
}
.btn-soft:hover {
	background-color: var(--st-navy) !important;
	/* Fill on hover */
            color: #FFFFFF !important;
	box-shadow: 0 4px 12px rgba(13, 84, 75, 0.15) !important;
	transform: translateY(-2px);
}
.faq-empty {
	display:none;
}
.faq-empty .faq-emptyfaq {
	margin-top:18px;
	padding:16px 18px;
	border-radius:18px;
	border:1px solid rgba(13, 84, 75, 0.10);
	background:rgba(255, 255, 255, 0.60);
	color:rgba(95, 110, 104, 0.95);
	font-size:14px;
	line-height:1.6;
}
 .sd-card{
      background: rgba(255,255,255,0.68);
      border: none;
      border-radius: 22px;
      box-shadow: 0 10px 40px -12px rgba(13,84,75,0.08);
    }
    .sd-card--sage{ background: rgba(234,244,242,0.55); }
    .sd-card--cream{ background: rgba(251,247,240,0.55); }
	
/* Footer Accordion (Mobile) */
        details>summary {
	list-style:none;
}
details>summary::-webkit-details-marker {
display:none;
} .gap-x-4 {
  column-gap: 1rem;
}
.link-arrow.hidden{display:none}
details[open] summary~* {
animation:fadeIn .22s ease-in-out;
}
.quantity {
    display: inline-flex;
    align-items: center;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #ddd;
}

.qty-btn {
    width: 44px;
    height: 44px;
    border: none;
    background: #f3f3f3;
    font-size: 18px;
    cursor: pointer;
    transition: background .2s ease;
}

.qty-btn:hover {
    background: #e5e5e5;
}

.quantity input.qty {
    width: 60px;
    height: 44px;
    border: none;
    text-align: center;
    font-size: 18px;
    background: #fff;
}

/* Hide number input arrows � Chrome, Safari, Edge */
.quantity input.qty::-webkit-outer-spin-button,
.quantity input.qty::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Hide number input arrows � Firefox */
.quantity input.qty {
    -moz-appearance: textfield;
    appearance: textfield;
}

 
/*
.faq-group{ margin-top:18px; }*/
.faq-stack {
	display:grid;
	gap:10px;
}
.faq-item summary h3 {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	color: rgba(13, 84, 75, 0.92);
	font-family: "Montserrat", sans-serif;
	line-height: 1.35;
}
 .faq-item summary:focus-visible {
 box-shadow:0 0 0 3px rgba(201, 164, 92, 0.20);
 border-color:rgba(201, 164, 92, 0.55);
}

.faq-item summary h3 {
	margin:0;
	font-size:14px;
	font-weight:600;
	color:rgba(13, 84, 75, 0.92);
	font-family:"Montserrat", sans-serif;
	line-height:1.35;
}
.faq-item summary .chev {
	width:18px;
	height:18px;
	flex:0 0 auto;
	color:rgba(13, 84, 75, 0.55);
 transition:transform .22s ease;
}
.faq-item[open] summary .chev {
	transform:rotate(180deg);
}
.faq-item[open] summary {
	border-color: rgba(13, 84, 75, 0.18);
	background: rgba(251, 247, 240, 0.85);
}
.faq-item summary:hover {
	border-color: rgba(13, 84, 75, 0.16);
	background: rgba(255, 255, 255, 0.70);
	transform: translateY(-1px);
	border-radius: 95px;
}
.faq-answer {
	padding:12px 16px 0;
	color:rgba(95, 110, 104, 0.98);
	font-size:14px;
	line-height:1.75;
	font-family:"Montserrat", sans-serif;
}
.faq-item[open] .faq-answer {
	border-top:1px solid rgba(13, 84, 75, 0.08);
	margin-top:10px;
	padding-top:12px;
	padding-bottom:12px;
}
.faq-answer p {
	margin:0 0 12px;
}
.faq-answer p:last-child {
	margin-bottom:0;
}
.h-\[320px\] {
  height: 320px;
}
.rounded-\[14px\] {
  border-radius: 14px;
}
.pb-10 {
  padding-bottom: 2.5rem;
}   .gap-y-10 {
  row-gap: 2.5rem;
}
.gap-x-16 {
  column-gap: 4rem;
}.max-w-4xl {
  max-width: 56rem;
}
.grid.grid-cols-2.gap-6.items-start.hidden {
  display: none;
}
.petmohero .micro-reassurance {
  margin-top: 10px;
  font-size: 12px !important;
  letter-spacing: .02em;
  color: rgba(24,38,36,0.62) !important;
  max-width: 36rem;
}.tracking-\[-0\.02em\] {
  letter-spacing: -0.02em;
}
.page-template-petmemorial2026  .soft-cta{align-self: auto;}
/* testimonial + avatar visuals */
    .stars{
      letter-spacing:.18em;
      font-size:11px;
      color: rgba(201,164,92,0.85);
    }
    .avatar{
      width:44px; height:44px;
      border-radius:999px;
      object-fit:cover;
      border: 1px solid rgba(13,84,75,0.10);
      background: rgba(255,255,255,0.8);
      box-shadow: 0 10px 30px -18px rgba(13,84,75,0.18);
    }

    /* NEW: play badge for video tiles */
    .play-badge{
      position:absolute;
      inset:auto auto 14px 14px;
      display:inline-flex;
      align-items:center;
      gap:10px;
      background: rgba(255,255,255,0.80);
      border: 1px solid rgba(13,84,75,0.10);
      border-radius: 999px;
      padding: 10px 14px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .08em;
      color: rgba(13,84,75,0.90);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .play-badge svg{ width:16px; height:16px; }

    /* NEW: review mini-wall cards */
    .review-card{
      background: rgba(255,255,255,0.70);
      border: 1px solid rgba(13,84,75,0.08);
      border-radius: 18px;
      padding: 18px 18px;
    }
    
    /* Modal wrapper */
.sd-modal{
  position: fixed;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 20px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .28s ease, transform .28s ease;
  z-index: 1201;
}

/* Modal card */
.sd-modal-card{
  width: min(560px, 100%);
  background: rgba(251,247,240,0.95);
  border: 1px solid rgba(13,84,75,0.08);
  border-radius: 28px;
  box-shadow: 0 40px 90px -30px rgba(13,84,75,0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  padding: 22px;
  position: relative;
  overflow: hidden;
}
.sd-section--alt {
  background: var(--st-white);
}.text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}
/* Close */
.sd-modal-close{
  position: absolute;
  top: 14px;
  right: 14px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(13,84,75,0.12);
  background: rgba(255,255,255,0.70);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.sd-modal-close:hover{
  transform: translateY(-1px);
  border-color: rgba(13,84,75,0.20);
  background: rgba(255,255,255,0.90);
}
.sd-modal-close-icon{
  width: 18px;
  height: 18px;
  color: rgba(13,84,75,0.85);
}

/* Header */
.sd-modal-header{
  padding: 10px 10px 6px 10px;
}
.sd-modal-eyebrow{
  font-size: 10px;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(13,84,75,0.55);
  font-weight: 700;
  margin: 0 0 8px 0;
  font-family: "Montserrat", sans-serif;
}
.sd-modal-title{
  font-family: "Cormorant Garamond", serif;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: var(--st-navy);
  font-size: 34px;
  line-height: 1.05;
  margin: 0 0 10px 0;
}
.scale1-5{scale:1.5}
.scale2{scale:2}
.sd-modal-subtitle{
  margin: 0;
  color: rgba(24,38,36,0.65);
  font-size: 14px;
  line-height: 1.7;
  font-weight: 400;
}
.max-w-\[52ch\] {
  max-width: 52ch;
}
/* Form */
.sd-modal-form{
  padding: 1px 10px 6px 10px;
}
.sd-field-grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;margin-top:0 !important
}
.wpcf7 form .wpcf7-response-output {
  margin: 0.5em 0.5em 2em;}
.sd-field{ margin-top: 10px !important }
.sd-label{
  display: block;
  font-size: 10px;
  letter-spacing: .20em;
  text-transform: uppercase;
  color: rgba(13,84,75,0.55);
  font-weight: 700;
  margin-bottom: 8px;
  font-family: "Montserrat", sans-serif;
}

.sd-input,
.sd-textarea{
  width: 100%;
  border-radius: 16px;
  border: 1px solid rgba(13,84,75,0.10);
  background: rgba(255,255,255,0.92);
  padding: 12px 14px;
  font-size: 14px;
  color: rgba(24,38,36,0.90);
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  font-family: "Montserrat", sans-serif;
}
.sd-input:focus,
.sd-textarea:focus{
  border-color: rgba(13,84,75,0.28);
  box-shadow: 0 0 0 4px rgba(13,84,75,0.10);
  background: #fff;
}
.sd-textarea{ resize: vertical; height: 120px; }
.hover\:scale-\[1\.02\]:hover {
  --tw-scale-x: 1.02;
  --tw-scale-y: 1.02;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}.hero-media-wrap {
  border-radius: 40px;
  overflow: hidden;
  background: #fff;
  box-shadow: var(--shadow-soft);
  transition: transform .28s ease, box-shadow .28s ease;
}
/* Actions */
.sd-modal-actions{
  margin-top: 16px;
  display: grid;
  gap: 10px;
}
.sd-modal-submit{
  width: 100%;
  min-height: 52px;
}

/* Note */
.sd-modal-note{
  margin: 0;
  font-size: 12px;
  color: rgba(24,38,36,0.55);
  line-height: 1.6;
  text-align: center;margin-top: -25px;
}
.sd-modal-email{
  color: rgba(13,84,75,0.88);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.sd-modal-email:hover{
  color: var(--st-gold);
}

/* Open state (toggle these classes via JS) */
.sd-modal.is-open{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.sd-modal-backdrop.is-open{
  opacity: 1;
  pointer-events: auto;
}

       /* Image utility */
    .sd-img-luxury {
        border-radius: 24px;
        overflow: hidden;
        background: #fff;
        box-shadow: 0 20px 40px -15px rgba(13,84,75,0.1);
    }/* Backdrop */
.sd-modal-backdrop{
  position: fixed;
  inset: 0;
  background: rgba(13, 84, 75, 0.28);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
  z-index: 1200;
}
/* Range Slider */
 
.shape-options .option-btn {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 16px;
	min-width:150px;
}
.shape-options img {
	width: 26px;
	height: 26px;
	object-fit: contain;
	opacity: 0.85;
}
.shape-options .option-btn.active img {
	opacity: 1;
}
.shape-options span {
	font-size: 15px;
	font-weight: 500;
}
 input[type=range]::-webkit-slider-runnable-track {
 width: 100%;
 height: 4px;
 cursor: pointer;
 background: rgba(255, 255, 255, 0.2);
 border-radius: 2px;
}
.dispconts span {
	display:contents
}
        /* Utilities */
        .no-scrollbar::-webkit-scrollbar {
 display: none;
}
.no-scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.fade-enter {
	animation: fadeIn 1.5s ease-out forwards;
}
 @keyframes fadeIn {
 from {
 opacity: 0;
 transform: translateY(20px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
/* Mobile Menu */
        #mobile-menu {
	transition: transform 0.3s ease-in-out;
}
.menu-open {
	transform: translateX(0) !important;
}
.menu-closed {
	transform: translateX(100%) !important;
}
/* Sticky CTA Transition */
        #sticky-cta {
	transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
body.page-template-home2026 .header.darkHeader, body.page-template-aboutus .header.darkHeader {
	background: #fff;
}
body.page-template-home2026 .header, body.page-template-aboutus .header.darkHeader {
	background: #fff;
}
#pricing .whiote li {
	color: #fff;
}
.design-builder {
}
.builder-box {
	display: flex;
	max-width: 1200px;
	margin: auto;
	background: #fff;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.08);
	position:relative
}
/* PREVIEW */
.preview-area {
	width: 60%;
	padding: 40px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}
.preview-area img {
	max-width: 100%;
	transition: 0.4s ease;
}
.preview-label {
	position: absolute;
	top: 20px;
	left: 20px;
	background: #fff;
	padding: 10px 18px;
	border-radius: 20px;
	font-size: 12px;
	color: var(--st-navy);
	text-transform: uppercase;
	font-weight: 500;
}
/* CONTROLS */
.controls-area {
	width: 40%;
	padding: 15px;
}
.mobileNav li a {
	font-size: 1.875rem;
	line-height: 3.25rem;
	font-family: "Cormorant Garamond", serif;
	color: var(--st-navy);
}
body {
	overflow-x:hidden
}
.steps {
	display: flex;
	border-bottom: 1px solid #ddd;
}
.step {
	flex: 1;
	padding: 15px;
	background: none;
	border: none;
	font-weight: bold;
	cursor: pointer;
	color: #aaa;
	letter-spacing: 0.05em;
	font-weight: 500;
}
.step.active {
	color: var(--st-navy);
	border-bottom: 2px solid var(--st-navy);
	letter-spacing: 0.05em;
	font-weight: 500;
}
.btn-primary.mx-auto.px-s-10.py-5.rounded-full {
	max-width:300px;
}
.px-s-10 {
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
}
.step-panel {
	display: none !important;
	margin-top: 30px;
}
.border-y {
	border-top-width: 1px;
	border-bottom-width: 1px;border-style:solid   
}.btn-outline {
  background: transparent;
  color: rgba(13,84,75,0.92);
  border: 1px solid rgba(13,84,75,0.32);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: var(--radius-pill);
  padding: 14px 28px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  transition: all 0.35s var(--ease-out-expo);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.leading-\[1\.18\] {
  line-height: 1.18;
}
.tracking-\[0\.25em\] {
  letter-spacing: 0.25em;
}
.btn-outline:hover {
  border-color: rgba(13,84,75,0.55);

  transform: translateY(-1px);
  box-shadow: 0 12px 26px -22px rgba(13,84,75,0.35);
  color: var(--st-navy);
  background: rgba(255,255,255,0.35);

}
.gap-2 {
	gap: 0.5rem;
}
.grid-cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid {
	display: grid;
}
.mt-3 {
	margin-top: 0.75rem;
}
.step-panel.active {
	display: block;
}
.mt-16 {
	margin-top: 4rem;
}
.options {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 15px;
}
.home h2.font-serif {
	font-size: 2.25rem;
	line-height: 2.5rem;
	/*  color: var(--st-navy); margin-bottom: 1rem;*/
  font-family: "Cormorant Garamond", serif;
}


/* WebKit (Chrome, Safari, Edge) */
#carat-slider::-webkit-slider-thumb {
 -webkit-appearance: none;
 appearance: none;
 width: 14px;
 height: 14px;
 background-color: #d4af37;
 border-radius: 50%;
 cursor: pointer;
 position: relative;
 top: 5px;
 box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.15);
}
.relative.top-5px {
	top: -4.5px;
}
.option-btn {
	border: 1px solid #ddd;
	padding: 16px;
	border-radius: 14px;
	background: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--st-navy);
margin-bottom::12px
}
.option-btn.active {
	border-color: #000;
}
.dot {
	width: 32px;
	height: 32px;
	border-radius: 50%;
}
.confbuttonbox {
	position: absolute;
	width: inherit;
	bottom: 0;
	right: 0;
}
.step-panel.active {
	min-height: 420px;
	display: block !important;
}
.step-panel.active h3 {
	margin-bottom:12px
}
.option-btn:hover {
	border-color: var(--st-gold);
}
#menu-header2026 li {
	display: inline-block;
	padding: 20px;
}
footer .grid li a {
	color: #fff;
}
.btn-primary.px-10.h-12.rounded-full.font-bold.uppercase.tracking-widest.text-xs.transition-colors.shadow-lg {
	max-width:300px
}
.px-5 {
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

 .faq-item summary:focus-visible {
 box-shadow: 0 0 0 3px rgba(212, 175, 55, 0.25);
 border-color: rgba(212, 175, 55, 0.55);
}
.faq-item summary .chev {
	width: 18px;
	height: 18px;
	flex: 0 0 auto;
	color: rgba(13, 84, 75, 0.65);
	transition: transform 0.25s ease;
}
.faq-answer {
	padding: 14px 18px 0;
	color: rgba(94, 111, 102, 0.98);
	font-size: 14px;
	line-height: 1.75;
	font-family: "Montserrat", sans-serif;
}
.faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px;
	cursor: pointer;
	font-weight: 500;
	color: var(--st-navy);
	list-style: none;
}
.faq-content {
	padding: 0 24px 22px 24px;
	font-size: 14px;
	line-height: 1.7;
	color: rgba(95, 110, 104, 0.92);
}
.faq-answer p {
	margin: 0 0 12px;
}
.faq-answer p:last-child {
	margin-bottom: 0;
}
.faq-item[open] {
	background: rgba(255, 255, 255, 0.84);
	box-shadow: var(--shadow-hover);
}
.faq-stack {
	display: grid;
	gap: 12px;
}
.final-cta-card {
	width: min(560px, 92%);
}
.bg-white\/70 {
	background-color: rgb(255 255 255 / 0.7);
}
.shadow-soft {
 --tw-shadow: 0 10px 40px -10px rgba(13, 84, 75, 0.08);
 --tw-shadow-colored: 0 10px 40px -10px var(--tw-shadow-color);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.mb-7 {
	margin-bottom: 1.75rem;
}
.tracking-\[0\.35em\] {
	letter-spacing: 0.35em;
}
.uppercase {
	text-transform: uppercase;
}
.font-bold {
	font-weight: 700;
}
.cursor-pointer {
	cursor: pointer;
}
.inline-flex {
	display: inline-flex;
}
.soft-link {
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--st-navy);
	border-bottom: 1px solid rgba(13, 84, 75, 0.25);
	padding-bottom: 2px;
 transition: color .2s ease, border-color .2s ease;
}
.soft-link:hover {
	color: var(--st-gold);
	border-color: rgba(212, 175, 55, 0.85);
}
/* === REVIEWS PAGE === */
    .review-card {
	background:#fff;
	border:1px solid var(--pt-border);
	border-radius:20px;
	box-shadow:var(--pt-shadow-soft);
	padding:18px;
}
.faq-search {
	width:100%;
	border-radius:999px;
	border:1px solid rgba(13, 84, 75, 0.12);
	background:rgba(255, 255, 255, 0.78);
	padding:12px 16px;
	font-size:14px;
	line-height:1.4;
	outline:none;
 transition:border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}
.faq-search:focus {
	border-color:rgba(201, 164, 92, 0.70);
	box-shadow:0 0 0 3px rgba(201, 164, 92, 0.18);
	background:rgba(255, 255, 255, 0.90);
}
.faq-search-wrap {
	max-width:42rem;
	position:relative;
	z-index:50;
	margin:auto
}
.faq-search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.12);
	max-height: 320px;
	overflow-y: auto;
	z-index: 60;
}
.faq-sticky {
	position:sticky;
	top:72px; /* below fixed header */
	background: var(--st-cream);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(13, 84, 75, 0.045);
}
.faq-chips {
	display:flex;
	gap:10px;
	overflow:auto;
	padding:10px 0;
	scrollbar-width:none;
}
 .faq-chips::-webkit-scrollbar {
display:none;
}
.faq-chip {
	white-space:nowrap;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:9px 13px;
	border-radius:999px;
	border:1px solid rgba(13, 84, 75, 0.08);
	background:rgba(255, 255, 255, 0.55);
	color:rgba(13, 84, 75, 0.80);
	font-size:11px;
	letter-spacing:.10em;
	text-transform:uppercase;
	font-weight:800;
 transition:background-color .18s ease, border-color .18s ease, transform .12s ease;
	text-decoration:none;
}
.faq-chip:hover {
	transform:translateY(-1px);
	border-color:rgba(13, 84, 75, 0.18);
	background:rgba(255, 255, 255, 0.70);
}
.faq-chip.is-active {
	border-color:rgba(201, 164, 92, 0.55);
	background:rgba(255, 255, 255, 0.82);
	box-shadow:0 0 0 3px rgba(201, 164, 92, 0.14);
	color:rgba(13, 84, 75, 0.92);
}
.reviews-list > .review-card + .review-card {
	margin-top:18px;
}
.max-w-lg {
	max-width: 32rem;
}
.measure {
	max-width:68ch;
	margin-left:auto;
	margin-right:auto;
}.headerstyle2 .btn-soft.tracking-widest {
  display: inline-flex; }
  .home.headerstyle2 .design-controls .btn-soft.tracking-widest {
  display: inline-flex;width:100%}
  
  
.orient-pill {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	padding:8px 14px;
	border-radius:999px;
	border:1px solid rgba(13, 84, 75, .18);
	background:transparent;
	color: rgba(95, 110, 104, 0.95);
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	font-weight:700;
	letter-spacing:.12em;
	text-transform:uppercase;
	text-decoration:none;
	min-height:44px;
	white-space:nowrap;
}
.orient-pill:hover {
	color: rgba(13, 84, 75, 0.90);
	border-color: rgba(13, 84, 75, .22);
}
 .orient-pill:focus-visible {
 outline:none;
 box-shadow:0 0 0 3px rgba(201, 164, 92, 0.22);
}
.mx-2 {
	margin-left: 0.5rem;
	margin-right: 0.5rem;
}
.policy-wrap h2 {
	font-family: "Cormorant Garamond", serif;
	color: var(--st-navy);
	font-weight: 400;
}
.policy-wrap h1 {
	font-family: "Cormorant Garamond", serif;
	color: var(--st-navy);
	font-weight: 300;
}
.policy-wrap p, .policy-wrap li {
	font-family: "Montserrat", sans-serif;
	color: rgba(95, 110, 104, 0.98);
}
.policy-wrap ul {
	padding-left: 1.15rem;
}.tracking-\[0\.12em\] {
  letter-spacing: 0.12em;
}
.max-w-\[26ch\] {
  max-width: 26ch;
}
.page-template-memorialdiamond2026 .soft-link {
  
  letter-spacing: .12em;
  text-transform: none;
  color: rgba(13,84,75,0.82);
  padding-bottom: 4px;
  transition: color .25s ease;
}
.policy-wrap li {
	margin: 0.32rem 0;
	line-height: 1.75;
}
/* NOTICE */
.notice {
	background: rgba(255, 255, 255, 0.60);
	border: none;
	border-radius: 14px;
	padding: 20px 26px;
	box-shadow: 0 8px 28px -20px rgba(13, 84, 75, 0.22);
}
.notice p {
	margin: 0;
}
.notice strong {
	color: rgba(13, 84, 75, 0.92);
	font-weight: 700;
}
.text-\[26px\] {
	font-size: 26px;
}
    .sd-section {
	padding: 56px 24px;
}
.sd-container {
	max-width: 1152px;
	margin: 0 auto;
}
.sd-reading {
	max-width: 62ch;
}
.max-w-xs {
	max-width: 20rem;
}
.max-w-3xl {
	max-width: 48rem;
}
.p-7 {
	padding: 1.75rem;
}
.section {
	padding: 64px 0;
	background: var(--st-cream);
}
.section--alt {
	background: var(--st-white);
}
.mb-14 {
	margin-bottom: 3.5rem;
}
 .space-y-12 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse: 0;
 margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom: calc(3rem * var(--tw-space-y-reverse));
}
.style-group:hover {
	background: #FFFFFF;
	box-shadow: var(--shadow-hover);
	transform: translateY(-4px);
}
.style-group {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: var(--shadow-soft);
	border-radius: var(--radius-lg);
	padding: 40px;
	transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.group-img {
	overflow: hidden;
	border-radius: var(--radius-md);
	background-color: var(--st-sage);
}
.group-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 1.8s ease;
}
.final-cta-img {
	width: 100%;
	height: 240px;
	object-fit: contain;
	object-position: center;
	display: block;
	background: #fff;
	transform: scale(1.18);
	transform-origin: center;
}
.final-cta-card-inner {
	background: #fff;
	border-radius: 26px;
	overflow: hidden;
	box-shadow: var(--shadow-soft);
	border: 0px solid rgba(13, 84, 75, 0.10);
	padding: 14px 18px;
}
.link-arrow::after {
 content: '';
 position: absolute;
 bottom: 0;
 left: 0;
 width: 100%;
 height: 0px;
 background-color: rgba(13, 84, 75, 0.3);
 transition: background-color 0.3s ease;
}
.link-arrow:hover::after {
 background-color: var(--st-gold);
}
.link-arrow--muted {
	font-size: 10px;
	opacity: 0.6;
}
.link-arrow {
	font-family: "Montserrat", sans-serif;
	font-size: 11px;
	font-weight: 700;
	text-transform: none;
	letter-spacing: .15em;
	color: var(--st-navy);
	position: relative;
	padding-bottom: 4px;
	text-decoration: none;
}
 
.faq-item {
	background: rgba(255, 255, 255, 0.72);
	border: none;
	border-radius: 22px;
	box-shadow: var(--shadow-soft);
 transition: transform .28s ease, box-shadow .28s ease, background-color .28s ease;
}
faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 24px;
	cursor: pointer;
	font-weight: 500;
	color: var(--st-navy);
	list-style: none;
}
.link-arrow--muted:hover {
	opacity: 1;
}
.link-arrow:hover {
	color: var(--st-gold);
}
.chapter-title {
	font-size:32px;
	line-height:1.1;
	letter-spacing:-0.01em;
}
.section-title {
	font-size:30px;
	line-height:1.12;
}
.section-copy {
	color:rgba(95, 110, 104, 0.92);
}
.section-copy-quiet {
	color:rgba(95, 110, 104, 0.82);
}
.style-group {
	background:rgba(255, 255, 255, .72);
	border:1px solid rgba(13, 84, 75, .12);
	border-radius:22px;
	box-shadow:var(--pt-shadow-soft);
	padding:16px;
}
.style-group + .style-group {
	margin-top:14px;
}
.style-group h3 {
	font-family:"Cormorant Garamond", serif;
	font-size:24px;
	font-weight:400;
	color:var(--st-navy);
	margin:0;
}
.style-group p {
	margin-top:8px;
	color:rgba(95, 110, 104, .98);
	font-family:"Montserrat", sans-serif;
}
.style-group .group-img {
	margin-top:14px;
	border-radius:18px;
	overflow:hidden;
	border:1px solid rgba(13, 84, 75, .08);
	background:rgba(234, 244, 242, .35);
	aspect-ratio:4 / 3; /* MOBILE */
}
.page-template-rings2026  .style-group , .page-template-rings2026  .style-group .group-img {border:0}
.style-group .group-img img {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	display:block;
}
.tile-title{
  font-family:"Cormorant Garamond",serif;
  font-size:24px;
  line-height:1.08;
  letter-spacing:-0.01em;
  font-weight:400;
  color:var(--st-navy);
  margin:0;
  transition:color .25s ease;
}

.sd-tile:hover .tile-title{
  color:rgba(13,84,75,0.82);
}
.permission-line {
	font-size:13px;
	line-height:1.5;
	color:rgba(95, 110, 104, 0.72);
	margin-top:14px;
}
.meta-gap {
	margin-top:14px;
}
.mobile-groups {
	display:none;
}
.reassurance-line {
	display:none;
	font-size:13px;
	color:rgba(95, 110, 104, .92);
}
#explore a[href="#pendants"] h3 {
	color: rgba(255, 255, 255, 0.95) !important;
}
#explore a[href="#rings"] h3 {
	color: rgba(13, 84, 75, 0.92) !important;
}
#explore a[href="#earrings"] h3 {
	color: rgba(13, 84, 75, 0.88) !important;
}
#explore a[href="#bracelets"] h3 {
	color: rgba(13, 84, 75, 0.92) !important;
}
.shadow-soft {
	box-shadow: var(--shadow-soft);
}
.shadow-card {
	box-shadow: var(--shadow-hover);
}
.card-link {
	color: rgba(13, 84, 75, 0.72);
	letter-spacing:.12em;
 transition: color .25s ease;
}
.group:hover .card-link {
	color: var(--st-gold);
}
.sd-surface {
	background: var(--surface);
	border: 1px solid var(--stroke-soft);
	border-radius: 22px;
	box-shadow: var(--shadow-soft);
	overflow: hidden;
 transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}
.sd-surface:hover {
	background: var(--surface-strong);
	border-color: var(--stroke-hover);
	box-shadow: var(--shadow-hover);
	transform: translateY(-2px);
}
.gateway-card {
	background: var(--surface);
	border: 1px solid var(--stroke-soft);
	border-radius: 22px;
	overflow:hidden;
	box-shadow: var(--shadow-soft);
 transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}
.gateway-card:hover {
	transform: translateY(-2px);
	background: var(--surface-strong);
	border-color: var(--stroke-hover);
	box-shadow: var(--shadow-hover);
}
.gateway-meta {
	color:rgba(13, 84, 75, 0.72);
 transition:color .25s ease, opacity .25s ease;
}
.gateway-card:hover .gateway-meta {
	color:var(--st-gold);
	opacity:1;
}
.gateway-title {
	font-size:12px;
	font-weight:700;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:rgba(13, 84, 75, 0.78);
}
/*.sd-tile {
	border-radius: 22px;
	overflow:hidden;
	background: var(--surface);
	border: 1px solid var(--stroke-soft);
	box-shadow: var(--shadow-soft);
 transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease, background-color .28s ease;
}
.sd-tile:hover {
	transform: translateY(-2px);
	background: var(--surface-strong);
	border-color: var(--stroke-hover);
	box-shadow: var(--shadow-hover);
}
.sd-tile-meta {
	background: transparent;
	border-top: 1px solid rgba(13, 84, 75, 0.03);
	padding-top: 14px;
	padding-bottom: 14px;
}*/

 .section-eyebrow{
      font-size:11px;
      line-height:1.2;
      letter-spacing:0.22em;
      text-transform:uppercase;
      color:rgba(13,84,75,0.55);
      font-weight:600;
    }

    .section-subtitle{
      font-family:"Cormorant Garamond",serif;
      font-size:28px;
      line-height:1.1;
      letter-spacing:-0.01em;
      color:var(--st-navy);
    }

    .section-body{
      font-size:16px;
      line-height:1.8;
      color:rgba(95,110,104,0.92);
    }
.mt-9 {
	margin-top: 2.25rem;
}
.duration-\[1\.5s\] {
	transition-duration: 1.5s;
}
#explore a, #explore .sd-tile, #explore .gateway-card {
	border: none !important;
	box-shadow: none !important;
}
.rounded-\[40px\] {
	border-radius: 40px;
} 
.inset-0 {
	inset: 0px;
}
.from-black\/40 {
 --tw-gradient-from: rgb(0 0 0 / 0.4) var(--tw-gradient-from-position);
 --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);
 --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
}
.left-8 {
	left: 2rem;
}
.bottom-6 {
	bottom: 1.5rem;
}
#explore a, #explore .sd-tile, #explore .gateway-card {
	border: none !important;
	box-shadow: none !important;
}
.rounded-\[40px\] {
	border-radius: 40px;
}
.gap-6 {
	gap: 1.5rem;
}
.grid-rows-\[240px_236px\] {
	grid-template-rows: 240px 236px;
}
.h-\[500px\] {
	height: 500px;
}
.group:hover .group-hover\:scale-110 {
 --tw-scale-x: 1.1;
 --tw-scale-y: 1.1;
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.chip {
	padding: 6px 14px;
	border-radius: 99px;
	background: rgba(234, 244, 242, .7);
	color: var(--st-navy);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .08em;
	border: 1px solid rgba(13, 84, 75, .08);
}
.bg-black\/10 {
	background-color: rgb(0 0 0 / 0.1);
}
.hover\:scale-\[1\.02\]:hover {
 --tw-scale-x: 1.02;
 --tw-scale-y: 1.02;
	transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}
.duration-\[900ms\] {
	transition-duration: 900ms;
}
.h-72 {
	height: 18rem;
}
.h-80 {
	height: 20rem;
}
 
.sd-surface:hover {
	background: var(--surface-strong);
	border-color: var(--stroke-hover);
	box-shadow: var(--shadow-hover);
	transform: translateY(-2px);
}
.footerstyl2 .hover\:text-st-navy:hover {
	color: var(--st-navy);
}
footer.footerstyl2 .grid li a {
	color: #1B2B28;
}
.footerstyl2 .border-t {
	border-top-width: 1px;
	border-style:solid
}
.footerstyl2 .pt-7 {
	padding-top: 1.75rem;
}
.text-micro {
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.2em;
	font-weight: 600;
	color: rgba(13, 84, 75, 0.5);
}
/* Floating pill nav */
    .nav-pill {
	background: rgba(255, 255, 255, 0.7);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	border: 1px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 10px 30px -10px rgba(13, 84, 75, 0.05);
	border-radius: var(--radius-pill);
	transition: all 0.4s var(--ease-out-expo);
}
/* Scoped nav link hover */
    .nav-links a {
	color: rgba(13, 84, 75, 0.78);
 transition: color .2s ease;
}
.nav-links a:hover {
	color: var(--st-gold);
}
/* Details UI * /
    details>summary {
	list-style:none;
}
 details>summary::-webkit-details-marker {
display:none;
}
 details[open] summary~* {
animation:fadeIn .3s ease-in-out;
}
/* Animation */
    .fade-enter {
	animation:fadeIn 1.2s ease-out forwards;
}
 @keyframes fadeIn {
 from {
opacity:0;
transform:translateY(20px);
}
to {
	opacity:1;
	transform:translateY(0);
}
}
/* FINAL CTA media � no cropping */
#final-cta .final-media {
	width: 100%;
	height: 260px;            /* mobile default */
	display: flex;            /* important */
	align-items: center;      /* center image vertically */
	justify-content: center;  /* center image horizontally */
}
#final-cta .final-img {
	width: 100%;
	height: 100%;
	object-fit: contain;      /* no cropping */
	object-position: center;
	display: block;
}
/* STEP MEDIA � CLEAN SYSTEM */
    
    .step-media {
	height:420px;
}
.step-media-video {
	height:420px;
}
.gj-wrap {
	max-width:1152px;
	margin:0 auto;
	padding:0 24px;
}
.gj-head {
	text-align:center;
	max-width:56rem;
	margin:0 auto 44px;
}
.gj-kicker {
	font-family:"Montserrat", sans-serif;
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.28em;
	font-weight:700;
	color:rgba(13, 84, 75, 0.55);
	margin-bottom:10px;
}.text-\[13px\] {
  font-size: 13px;
}
.gj-title {
	font-family:"Cormorant Garamond", serif;
	font-weight:400;
	color:var(--st-navy);
	letter-spacing:-0.01em;
	line-height:1.05;
	font-size:40px;
	margin:0 0 10px;
}
.wp-singular.post-template-default.single.single-post {
	background: #fff;
}
.gj-sub {
	color:rgba(27, 43, 40, 0.70);
	line-height:1.7;
	margin:0;
}
.gj-grid {
	display:grid;
	gap:18px;
	grid-template-columns:repeat(4, minmax(0, 1fr));
	align-items:stretch;
}
.gj-card {
	position:relative;
	background:rgba(255, 255, 255, 0.46);
	border: none;
	border-radius:28px;
	padding:26px 24px;
	overflow:hidden;
	min-height:156px;
	text-decoration:none;
	display:block;
 transition:background-color .25s ease, border-color .25s ease, transform .25s ease;
}
.gj-card.is-warm {
	background:rgba(201, 164, 92, 0.08);
	border-color:rgba(201, 164, 92, 0.10);
}
.gj-card:hover {
	background:rgba(255, 255, 255, 0.62);
	border-color:rgba(201, 164, 92, 0.22);
	transform:translateY(-2px);
}
.gj-num {
	position:absolute;
	top:20px;
	right:20px;
	font-family:"Cormorant Garamond", serif;
	font-weight:300;
	font-size:72px;
	line-height:1;
	color:rgba(13, 84, 75, 0.08);
	opacity:0.45;
	pointer-events:none;
	user-select:none;
}
.gj-label {
	font-family:"Montserrat", sans-serif;
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.22em;
	font-weight:700;
	color:rgba(13, 84, 75, 0.50);
	margin-bottom:10px;
}
.gj-card.is-warm .gj-label {
	color:rgba(201, 164, 92, 0.95);
}
.gj-h {
	font-family:"Cormorant Garamond", serif;
	font-weight:500;
	color:var(--st-navy);
	font-size:26px;
	line-height:1.15;
	margin:0 0 12px;
	letter-spacing:-0.01em;
}
.gj-p {
	margin:0;
	color:rgba(27, 43, 40, 0.58);
	line-height:1.6;
	font-size:13px;
	max-width:34ch;
}
.gj-span-2 {
	grid-column:span 2 / span 2;
}
.gj-more {
	margin-top:14px;
}
.gj-more > summary {
	list-style:none;
	cursor:pointer;
	display:inline-block;
}
 .gj-more > summary::-webkit-details-marker {
display:none;
}
.gj-desktop-grid {
	display:block;
}
.gj-mobile-grid {
	display:none;
}
.step-kicker {
	font-size:11px;
	letter-spacing: .32em;
	text-transform:uppercase;
	color:rgba(13, 84, 75, 0.45);
	margin-bottom:6px;
}
/* PROCESS TIMELINE � HORIZONTAL */
    
    .sd-timeline {
	max-width: 920px;
	margin: 42px auto 0;
	text-align: center;
}
.sd-timeline-row {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	padding-top: 6px;
	padding-bottom: 8px;
}
 .sd-timeline-row::before {
 content:"";
 position:absolute;
 left: 16.66%;
 right: 16.66%;
 top: 46px;
 height: 2px;
 background: rgba(13, 84, 75, 0.18);
}
.sd-timeline-item {
	position: relative;
	flex: 1;
	text-align: center;
	padding-top: 0;
	padding-bottom: 54px;
}
.sd-timeline-label {
	display:block;
	font-family:"Montserrat", sans-serif;
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(13, 84, 75, 0.55);
	margin-bottom: 26px;
}
.sd-dot {
	position: absolute;
	left: 50%;
	top: 41px;
	transform: translate(-50%, -50%);
	width: 14px;
	height: 14px;
	border-radius: 999px;
	background: rgba(13, 84, 75, 0.85);
	box-shadow: 0 0 0 6px var(--st-cream);
	z-index: 2;
}
.sd-mid .sd-dot {
	background: rgba(13, 84, 75);
}
.sd-timeline-sub,  .sd-timeline-range {
	display:block;
	margin-top: 54px;
}
.sd-timeline-sub {
	font-family:"Cormorant Garamond", serif;
	font-size: 16px;
	font-style: italic;
	color: rgba(27, 43, 40, 0.55);
}
.sd-timeline-range {
	font-family:"Cormorant Garamond", serif;
	font-size: 20px;
	font-weight: 500;
	color: var(--st-navy);
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
}
.kicker-soft {
	color: rgba(13, 84, 75, 0.55);
}
.hero-subline {
	color: rgba(27, 43, 40, 0.68);
	max-width: 56ch;
}
.hero-trust {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:center;
}
 
.z-50 {
	z-index: 50;
}
.top-6 {
	top: 1.5rem;
}
.right-0 {
	right: 0px;
}
body .py-2\.5 {
	padding-top: 0.625rem;
	padding-bottom: 0.625rem;
}
.headerstyle2 .nav-links a {
	color: rgba(13, 84, 75, 0.78);
 transition: color .2s ease;
}
.headerstyle2 .nav-links a:hover {
	color: var(--st-gold);
}
body .btn-soft {
	background: rgba(255, 255, 255, 0.00) !important;
	color: var(--st-navy) !important;
	border: 1px solid rgba(13, 84, 75, 0.28) !important;
	border-top-color: rgba(13, 84, 75, 0.28);
	border-right-color: rgba(13, 84, 75, 0.28);
	border-bottom-color: rgba(13, 84, 75, 0.28);
	border-left-color: rgba(13, 84, 75, 0.28);
	box-shadow: none !important;
 transition: background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease, color .25s ease;
	transition-property: background, border-color, transform, box-shadow, color;
	transition-duration: 0.25s, 0.25s, 0.25s, 0.25s, 0.25s;
	transition-timing-function: ease, ease, ease, ease, ease;
	/*display: inline-flex;*/
	align-items: center;
	justify-content: center;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: var(--radius-pill);
}
body .btn-soft:hover {
	background: var(--st-navy) !important;
	color: #fff !important;
	border-color: var(--st-navy) !important;
	box-shadow: 0 10px 24px -18px rgba(13, 84, 75, .35) !important;
	transform: translateY(-1px);
}
details.modern-faq {
	background: rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: none;
	border-radius: 24px;
	margin-bottom: 16px;
	overflow: hidden;
	box-shadow: 0 18px 44px -28px rgba(13, 84, 75, 0.18);
 transition: transform .35s var(--ease-out-expo), box-shadow .35s var(--ease-out-expo), background .35s var(--ease-out-expo);
}
details.modern-faq:hover {
	transform: translateY(-2px);
	box-shadow: 0 28px 70px -40px rgba(13, 84, 75, 0.22);
	background: rgba(255, 255, 255, 0.88);
}
details.modern-faq[open] {
	box-shadow: 0 28px 70px -44px rgba(13, 84, 75, 0.22);
	background: rgba(255, 255, 255, 0.92);
}
details.modern-faq summary {
	padding: 24px;
	cursor: pointer;
	list-style: none;
	font-weight: 500;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	color: var(--st-navy);
}
 details.modern-faq summary::-webkit-details-marker {
display:none;
}
.faq-chevron {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	opacity: 0.55;
 transition: transform .35s var(--ease-out-expo), opacity .2s ease;
}
details.modern-faq:hover .faq-chevron {
	opacity: 0.75;
}
details.modern-faq[open] .faq-chevron {
	transform: rotate(180deg);
	opacity: 0.75;
}
details.modern-faq .faq-answer {
	padding: 0 24px 22px 24px;
	color: rgba(13, 84, 75, 0.72);
}
.headerstyle2 #menu-header2026 li {
	display: inline-block;
	padding: 5px 20px;
}
.tracking-\[0\.22em\] {
	letter-spacing: 0.22em;
}
.gap-y-3 {
	row-gap: 0.75rem;
}
.gap-x-10 {
	column-gap: 2.5rem;
}
.text-\[2\.1rem\] {
	font-size: 2.1rem;
}
#seo-content {
	background: #fdfbf7;
}
    /* Range Slider */
    input[type=range]::-webkit-slider-thumb {
 -webkit-appearance: none;
 height: 28px;
 width: 28px;
 border-radius: 50%;
 background: var(--st-gold);
 cursor: pointer;
 margin-top: -12px;
 box-shadow: 0 0 15px rgba(184, 154, 107, 0.4);
 border: 3px solid white;
}
 input[type=range]::-webkit-slider-runnable-track {
 width: 100%;
 height: 4px;
 cursor: pointer;
 background: rgba(255, 255, 255, 0.2);
 border-radius: 2px;
}

    /* Utilities */
    .no-scrollbar::-webkit-scrollbar {
display: none;
}
.no-scrollbar {
	-ms-overflow-style: none;
	scrollbar-width: none;
}
.fade-enter {
	animation: fadeIn 1.5s ease-out forwards;
}
 @keyframes fadeIn {
 from {
opacity: 0;
transform: translateY(20px);
}
to {
	opacity: 1;
	transform: translateY(0);
}
}
/* Sticky CTA Transition */
    #sticky-cta {
	transition: transform 0.4s var(--ease-out-expo);
}
/* NEW: link styles to match Pricing page */
    

    /* "Read more" pill (like pricing pills) */
    .pill-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid rgba(13, 84, 75, 0.14);
	background: rgba(255, 255, 255, 0.75);
	color: rgba(13, 84, 75, 0.85);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
 transition: all .2s ease;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.pill-link:hover {
	border-color: rgba(13, 84, 75, 0.22);
	background: rgba(253, 251, 247, 0.95);
	transform: translateY(-1px);
}
/* Soft internal link with arrow (like pricing page) */
    .link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: none;
	color: rgba(13, 84, 75, 0.88);
	border-bottom: 1px solid rgba(13, 84, 75, 0.22);
	padding-bottom: 4px;
 transition: all .2s ease;
	white-space: nowrap;
}
.link-arrow:hover {
	color: var(--st-gold);
	border-bottom-color: rgba(212, 175, 55, 0.55);
}
.link-arrow .arr {
	font-size: 12px;
	opacity: .9;
 transition: transform .2s ease;
}
.link-arrow:hover .arr {
	transform: translateX(2px);
}
/* Highlight 1.0 ct column */
.pt-table tbody td:nth-child(6), .pt-table thead th:nth-child(6) {
 font-weight: 500;
 color: var(--st-navy);
 letter-spacing: -0.02em;
}
.pb-6 {
	padding-bottom: 1.5rem;
}
/* 2026 SURFACE SYSTEM (CARDS) */
   
    .surface-card {
	background: var(--glass);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: none;
	border-radius: var(--radius-card);
	box-shadow: 0 25px 50px -12px rgba(13, 84, 75, 0.08);
 transition:
 transform .6s var(--ease-out-expo),  box-shadow .6s var(--ease-out-expo),  background .4s ease;
}
.surface-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--shadow-float);
	background: rgba(255, 255, 255, 0.75);
}
/* HOME LITE PRICING CALCULATOR (2026, scoped)         */

.text-base.text-gray-600.leading-relaxed p {
	margin-bottom: 1.5rem;
}
#home-calc .calc-frame {
	background: rgba(255, 255, 255, 0.86); 
	border-radius: 36px;
	overflow: hidden;
	box-shadow: 0 35px 90px -55px rgba(13, 84, 75, 0.28);
}
#home-calc .calc-head {
	position: relative;
	background: linear-gradient(  180deg,  rgba(245, 248, 246, 0.96) 0%,  rgba(242, 246, 244, 0.96) 100%  );
	color: var(--st-navy);
	padding: 36px;
	overflow: hidden;
	/* replace hard divider */
  border-bottom: 0;
	box-shadow: none;
}
#home-calc .calc-label {
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: .22em;
	color: rgba(13, 84, 75, 0.55);
}
#home-calc .calc-value {
	line-height: 0.95;
}
 
/* Size = softer, serif 	font-family: "Cormorant Garamond", serif;*/
#home-calc #hc-sizeCt {

	font-weight: 300;
	letter-spacing: -0.02em;
	font-size: 34px;                 /* mobile */
	color: rgba(13, 84, 75, 0.92);
}
/* Price = clean numerals, calm */
#home-calc #hc-priceValue {
	font-family: "Montserrat", sans-serif;
	font-weight: 400;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
	font-size: 30px;                 /* mobile */
	color: rgba(13, 84, 75, 0.92);
}
#home-calc .calc-sub {
	margin-top: 8px;
	font-size: 12px;
	color: rgba(13, 84, 75, 0.50);
	letter-spacing: .02em;
}
.text-\[13px\].text-white\/85 {
	color: #fff;
}
.leading-tight {
	line-height: 1.25;
}
.text-\[24px\] {
	font-size: 24px;
}
.leading-snug {
	line-height: 1.375;
}
.min-h-\[260px\] {
	min-height: 260px;
}
/* Hide mm line on mobile */
#home-calc #hc-sizeMm {
	display:none;
}
#home-calc .calc-body {
	padding: 26px 28px 28px;
	background: rgba(255, 255, 255, 0.92);
}
#home-calc .step-title {
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .16em;
	color: rgba(13, 84, 75, 0.88);
}
#home-calc .color-grid {
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}
/* BORDER ONLY WHEN SELECTED */
#home-calc .color-btn {
	border: none; /*   no border by default */
	background: rgba(253, 251, 247, 0.85);
	border-radius: 18px;
	padding: 14px 12px;
	text-align:center;
	cursor:pointer;
 transition: transform .25s ease, background .25s ease, box-shadow .25s ease;
}
#home-calc .color-btn:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.95);
}
#home-calc .color-btn[aria-pressed="true"] {
	background: rgba(13, 84, 75, 0.06);
	border: 1px solid rgba(13, 84, 75, 0.35); /* only selected */
	box-shadow: 0 14px 34px -24px rgba(13, 84, 75, 0.35);
	transform: translateY(-1px);
}
#home-calc .swatch {
	width: 18px;
	height: 18px;
	border-radius: 999px;
	margin: 0 auto 8px;
	border: 1px solid rgba(0, 0, 0, 0.06);
}
#home-calc .color-btn[aria-pressed="true"] .swatch {
	box-shadow: 0 0 0 6px rgba(212, 175, 55, 0.12);
}
#home-calc .color-name {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: rgba(13, 84, 75, 0.90);
}
/* Slider (muted gold) */
#home-calc input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 34px;
	background: transparent;
	cursor: pointer;
	padding: 0 2px;
}
#home-calc input[type="range"]::-webkit-slider-runnable-track {
 height: 6px;
 border-radius: 999px;
 background: linear-gradient(90deg,  rgba(212, 175, 55, 0.45) 0%,  rgba(212, 175, 55, 0.45) var(--sx, 50%),  rgba(13, 84, 75, 0.10) var(--sx, 50%),  rgba(13, 84, 75, 0.10) 100%);
 box-shadow: none; /* no border */
}
 #home-calc input[type="range"]::-webkit-slider-thumb {
 -webkit-appearance: none;
 appearance: none;
 width: 18px;
 height: 18px;
 border-radius: 999px;
 background: rgba(212, 175, 55, 1);
 border: 3px solid rgba(255, 255, 255, 0.95);
 box-shadow:
 0 12px 26px -18px rgba(0, 0, 0, 0.20),  0 0 0 8px rgba(212, 175, 55, 0.10);
 margin-top: -6px;
}

/* Firefox */
#home-calc input[type="range"]::-moz-range-track {
 height: 6px;
 border-radius: 999px;
 background: rgba(13, 84, 75, 0.10);
 border: none; /* no border */
}
#home-calc input[type="range"]::-moz-range-progress {
 height: 6px;
 border-radius: 999px;
 background: rgba(212, 175, 55, 0.45);
}
#home-calc input[type="range"]::-moz-range-thumb {
 width: 18px;
 height: 18px;
 border-radius: 999px;
 background: rgba(212, 175, 55, 1);
 border: 3px solid rgba(255, 255, 255, 0.95);
}
#home-calc .slider-meta {
	margin-top: 10px;
	display:flex;
	justify-content: space-between;
	font-size: 10px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: rgba(13, 84, 75, 0.40);
}
#home-calc .calc-foot {
	border-top: 1px solid rgba(13, 84, 75, 0.07);
	margin-top: 18px;
	padding-top: 16px;
	display:flex;
	flex-direction: column;
	gap: 10px;
}
#home-calc .reassure {
	font-size: 12px;
	color: rgba(13, 84, 75, 0.55);
	font-style: italic;
}
#home-calc .cta-row {
	display:flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 6px;
}
#home-calc .cta-row .link-arrow {
	width: fit-content;
	margin: 6px auto 0;
	border-bottom-color: rgba(13, 84, 75, 0.20);
}
.final-cta-inner {
	background: #fff;
	border-radius: 26px;
	overflow: hidden;
	box-shadow: var(--shadow-float);
	padding: 12px;
	border: none;
}
.text-8xl {
	font-size: 6rem;
	line-height: 1;
}
.h-\[200px\] {
	height: 200px;
}
.hero-context {
	font-size: 12px;
	letter-spacing: 0.18em;
	color: rgba(13, 84, 75, 0.35);
	margin-bottom: 32px;
}
.tracking-\[0\.18em\] {
	letter-spacing: 0.18em;
}
.sd-hero-title {
	line-height: 1.02;
}
#process .sd-step {
	display: flex;
	gap: 18px;
	align-items: flex-start;
}
#process .sd-step-num {
	font-family: "Cormorant Garamond", serif;
	font-weight: 300;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
	line-height: 1;
	color: rgba(13, 84, 75, 0.34);
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.55);
}
#process .sd-step-body {
	min-width: 0;
}
.sd-diamond-divider {
	display: block;
	width: 56px;              /*key fix */
	max-width: 56px;
	height: auto;
	margin: 10px auto 24px;
	opacity: 0.75;
	pointer-events: none;
}
#design .design-frame {
	background: rgba(255, 255, 255, 0.88); 
	border-radius: 40px;
	overflow: hidden;
	box-shadow: 0 35px 90px -55px rgba(13, 84, 75, 0.28);
	display: grid;
	grid-template-columns: 1fr;
}
#design .design-preview {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 22px;
	background: var(--viz-base), var(--viz-colorless);
	min-height: 240px;
}
/* Label wrapper */
#design .design-meta {
	position: absolute;
	top: 18px;
	left: 18px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: rgba(13, 84, 75, 0.62);
	pointer-events: none;
}
/* Label hierarchy: meta quieter, value slightly stronger */
#design .viz-meta {
	opacity: 0.55;
	font-weight: 700; /* keep consistent letterforms */
}
#design .viz-value {
	opacity: 0.88;
	font-weight: 700;
}
/* Diamond image */
#design .design-diamond-img {
	width: 70%;
	max-width: 360px;
	max-height: 180px;
	height: auto;
	object-fit: contain;
	display: block;
	filter: drop-shadow(0 24px 48px rgba(13, 84, 75, 0.16));
 transition: transform .55s var(--ease-out-expo), filter .55s var(--ease-out-expo);
}
/* Controls side */
#design .design-controls {
	background: rgba(255, 255, 255, 0.88);
	display: flex;
	flex-direction: column;
}
/* Buttons */
#design .sd-color-pill {
	width:100%;
	border: none;
	background: rgba(253, 251, 247, 0.85);
	border-radius: 18px;
	padding: 14px 10px;
	text-align:center;
	cursor:pointer;
 transition: transform .22s ease, background .22s ease, box-shadow .22s ease, border-color .22s ease;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	gap:10px;
	min-height: 72px;
}
#design .sd-color-pill:hover {
	transform: translateY(-1px);
	background: rgba(255, 255, 255, 0.95);
}
#design .sd-color-pill[aria-pressed="true"] {
	background: rgba(13, 84, 75, 0.06);
	border: 1px solid rgba(13, 84, 75, 0.35);
	box-shadow: 0 14px 34px -24px rgba(13, 84, 75, 0.35);
	transform: translateY(-1px);
}
#design .sd-swatch {
	width: 18px;
	height: 18px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 999px;
}
#design .sd-color-pill[aria-pressed="true"] .sd-swatch {
	box-shadow: 0 0 0 6px rgba(212, 175, 55, 0.12);
}
#design .sd-label {
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: rgba(13, 84, 75, 0.90);
	line-height: 1;
}
/* Reassurance */
#design .design-reassure {
	margin-top: 16px;
	font-size: 12px;
	color: rgba(13, 84, 75, 0.58);
	line-height: 1.6;
	padding-left: 6px;
}
/* CTA group */
#design .design-cta {
	margin-top: 26px;
}
.shrink-0 {
	flex-shrink: 0;
}
/* WHO SECTION � EYEBROW */
.who-eyebrow {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 500;
	color: rgba(13, 84, 75, 0.45);
	margin-bottom: 56px; /* desktop */
}
.statwithkitt {
	margin-bottom:10px
}
/* Design CTA reveal polish */
#design #design-saved-note {
	opacity: 0;
	transform: translateY(-2px);
 transition: opacity .25s ease, transform .25s ease;
}
#design #design-saved-note.is-on {
	opacity: 1;
	transform: translateY(0);
}
.border-r {
	border-right-width: 1px;
	border-style:solid;
}
.\!p-0 {
	padding: 0px !important;
}
/* Toggle */
    .pt-toggle-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	padding: 12px 24px;
	border-radius: 99px;
	border: 1px solid var(--border-light);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.3s ease;
	color: var(--st-navy);
}
.pt-toggle-btn:hover {
	border-color: var(--st-navy);
}
/* Logic Display */
    .pt-mini-only {
	display: block;
}
.pt-full-only {
	display: none;
}
.pt-pricing-switch.is-open .pt-mini-only {
	display: none;
}
.pt-pricing-switch.is-open .pt-full-only {
	display: block;
}
/* Full table toggle label logic */
#full-pricing-details .pt-toggle-label-open {
	display: none;
}
#full-pricing-details[open] .pt-toggle-label-closed {
	display: none;
}
#full-pricing-details[open] .pt-toggle-label-open {
	display: inline;
}
/* Stars */
    .pt-star {
	display:inline-block;
	margin-left:6px;
	vertical-align:middle;
	line-height:1;
	color: var(--st-gold);
}
.pt-star-small {
	font-size:9px;
	opacity:0.55;
}
.pt-star-large {
	font-size:12px;
	opacity:0.95;
}
/* Mobile sheet */
    #pricing-sheet {
	transform: translateY(100%);
	transition: transform 0.5s var(--ease-out-expo);
}
.sheet-open #pricing-sheet {
	transform: translateY(0%);
}
.sheet-open {
	overflow: hidden;
}
#sheet-backdrop {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}
.sheet-open #sheet-backdrop {
	opacity: 1;
	pointer-events: auto;
}
/* Final CTA */
    .final-cta-card {
	width: min(480px, 90%);
	margin: 0 auto 30px auto;
}
/* PRICING TABLE */
    .pt-container {
	background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(10px);
	border-radius: 24px;
	border: none;
	overflow: hidden;
}
 .page-template-memorialdiamond2026 h2{font-weight:400}
.pt-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.pt-table {
	width: 100%;
	min-width: 800px;
	border-collapse: collapse;
}
.pt-table th {
	text-align: left;
	padding: 24px;
	font-family: "Montserrat", sans-serif;
	font-size: 10px;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: rgba(13, 84, 75, 0.5);
	border-bottom: 1px solid rgba(13, 84, 75, 0.05);
	position: sticky;
	top: 0;
	background: rgba(255, 255, 255, 0.9);
	backdrop-filter: blur(10px);
	z-index: 10;
}
.pt-table td {
	padding: 24px;
	border-bottom: 1px solid rgba(13, 84, 75, 0.03);
	font-size: 14px;
	font-variant-numeric: tabular-nums;
}
.pt-table tr:last-child td {
	border-bottom: none;
}
.pt-table .pt-sticky {
	position: sticky;
	left: 0;
	z-index: 5;
	background: rgba(255, 255, 255, 0.9);
	border-right: 1px solid rgba(13, 84, 75, 0.03);
}
.pt-price {
	font-weight: 500;
	color: var(--st-navy);
	letter-spacing: -0.02em;
}
.pt-color-cell {
	display: flex;
	align-items: center;
	gap: 16px;
	font-weight: 600;
	font-size: 13px;
	color: var(--st-navy);
}
/* Base gem image container */
    .pt-gem-img {
	width: 20px;
	height: 20px;
	background-size: cover;
	background-position: center;
	flex-shrink: 0;
	margin-right: 8px;
}
.calc-display-area span {
	color: rgba(13, 84, 75, 0.55) !important;
}
/* Approx mm line */
#sizeMm {
	color: rgba(13, 84, 75, 0.45) !important;
}
/* Tax included line (if it keeps text-white/25 in markup) */
.calc-display-area .text-white\/25 {
	color: rgba(13, 84, 75, 0.35) !important;
}
/* Price + size stay premium */
#sizeCt, #priceValue {
	color: var(--st-navy) !important;
}
/* Range Slider (with progress fill) */
input[type=range] {
	-webkit-appearance: none;
	width: 100%;
	background: transparent;
	height: 40px;
	cursor: pointer;
}

/* Thumb */
input[type=range]::-webkit-slider-thumb {
 -webkit-appearance: none;
 height: 32px;
 width: 32px;
 border-radius: 50%;
 background: var(--st-gold);
 border: 4px solid #fff;
 box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
 margin-top: -14px;
 transition: transform 0.2s ease;
}
input[type=range]::-webkit-slider-thumb:hover {
transform: scale(1.15);
}

/* Track (WebKit) � uses --sx for the filled portion */
input[type=range]::-webkit-slider-runnable-track {
 width: 100%;
 height: 4px;
 border-radius: 999px;
 background: linear-gradient(90deg,  rgba(201, 164, 92, 0.55) 0%,  rgba(201, 164, 92, 0.55) var(--sx, 50%),  rgba(13, 84, 75, 0.12) var(--sx, 50%),  rgba(13, 84, 75, 0.12) 100%);
}

/* Track (Firefox) */
input[type=range]::-moz-range-track {
 height: 4px;
 border-radius: 999px;
 background: rgba(13, 84, 75, 0.12);
 border: none;
}
input[type=range]::-moz-range-progress {
 height: 4px;
 border-radius: 999px;
 background: rgba(201, 164, 92, 0.55);
}
input[type=range]::-moz-range-thumb {
 height: 32px;
 width: 32px;
 border-radius: 50%;
 background: var(--st-gold);
 border: 4px solid #fff;
 box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}
.colord {color: var(--st-text) !important;}
/* Color Selection */
.color-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}.gj-head strong {
  color: var(--st-navy);
  font-weight: 600;
}
.color-btn {
	border: 1px solid var(--border-light);
	background: #FAFAFA;
	padding: 16px;
	border-radius: 20px;
	text-align: center;
	cursor: pointer;
	transition: all 0.3s ease;
}
.color-btn:hover {
	background:#fff;
	transform: translateY(-2px);
}
.color-btn[aria-pressed="true"] {
	background: rgba(13, 84, 75, 0.06);
	border-color: rgba(13, 84, 75, 0.45);
	box-shadow: 0 10px 24px -14px rgba(13, 84, 75, 0.25);
}
.swatch {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	margin: 0 auto 8px;
	border: 1px solid rgba(0, 0, 0, 0.05);
}
/* Info tiles */
    .info-tile {
	background: rgba(255, 255, 255, 0.4);
	border: none;
	border-radius: 24px;
	padding: 32px;
	transition: all 0.4s var(--ease-out-expo);
	cursor: default;
}
.info-tile:hover {
	background: #fff;
	transform: translateY(-4px);
	box-shadow: var(--shadow-float);
}
.pr-8 {
	padding-right: 2rem;
}
/* Notes */
    .note-card {
	background: rgba(234, 244, 242, 0.45);
	border: none;
	border-radius: 24px;
	padding: 32px;
	box-shadow: 0 12px 30px -18px rgba(13, 84, 75, 0.18);
 transition: box-shadow .3s ease;
}
/* Calculator step labels � calm UI hierarchy */
.calc-step-label {
	font-family: "Montserrat", sans-serif;
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}
.group[open] .group-open\:hidden {
	display: none;
}
 .divide-y > :not([hidden]) ~ :not([hidden]) {
 --tw-divide-y-reverse: 0;
 border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
 border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
border-style: solid;
}
#sizeCt {
	font-size: 38px !important;
	line-height: 0.95 !important;
}
.blog-wrap {
	max-width:72rem;
	margin:0 auto;
}
/* Hero */
    .blog-eyebrow {
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:0.22em;
	color: rgba(13, 84, 75, 0.40);
}
.blog-title {
	font-family:"Cormorant Garamond", serif;
	font-weight:300;
	letter-spacing:-0.03em;
	line-height:0.98;
	color: var(--st-navy);
}
.blog-title .accent {
	color: var(--st-gold);
	font-style: italic;
	font-weight: 300;
}
.blog-subline {
	margin-top:14px;
	color: rgba(95, 110, 104, 0.88);
	max-width:60ch;
	margin-left:auto;
	margin-right:auto;
}
/* Categories � underline only */
    .blog-wrap .blog-cats {
	margin-top:26px !important;
	padding-top:0;
	border-top:0;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:10px 18px;
	margin-bottom:34px;
}
.blog-cats a {
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	letter-spacing:.14em;
	text-transform:uppercase;
	color: rgba(24, 38, 36, 0.60);
	text-decoration: underline;
	text-decoration-color: rgba(13, 84, 75, .22);
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
	border-bottom: 0 !important;
	padding-bottom: 0 !important;
 transition: color .25s ease, text-decoration-color .25s ease;
}
.blog-cats a:hover {
	color: var(--st-gold);
	text-decoration-color: rgba(201, 164, 92, .55);
}
 .blog-cats a[href*="uncategorized"], .blog-cats .uncategorized {
display:none !important;
}
/* spacing between cats and grid */
    .posts-grid {
	padding-top:36px;
}
/* POSTS GRID */
.posts-grid {
	display:grid;
	grid-template-columns:1fr;
	column-gap:22px;
	row-gap:28px; /* mobile stays compact */
	margin-top:0;
}
/*  POST CARDS � NO BORDERS */
    .post-card {
	background: rgba(255, 255, 255, 0.92);
	border: none;
	border-radius: 28px;
	overflow:hidden;
	box-shadow: var(--pt-shadow-soft);
 transition: box-shadow .35s var(--ease-out-expo), transform .35s var(--ease-out-expo), background .35s var(--ease-out-expo);
	will-change: transform;
}
.post-card:hover {
	box-shadow: var(--card-hover-shadow);
	transform: translateY(-3px);
	background: rgba(255, 255, 255, 0.98);
}
/*  IMAGE � NO BORDERS / FRAMES */
    .post-thumb {
	aspect-ratio:16 / 10;  /* keep your current shape */
	background: rgba(234, 244, 242, 0.25);
	overflow:hidden;
	border: none;
	outline: none;
}
.post-thumb img {
	width:100%;
	height:100%;
	object-fit:contain;
	display:block;
	border: none;
	outline: none;
	transform: scale(1.03);
	filter: grayscale(18%) saturate(0.98);
 transition: transform .8s var(--ease-out-expo), filter .8s var(--ease-out-expo);
}
.single-post .prose img:not(.kit-img):not(.final-cta-img) {
    width: 100%;
    height: auto;
    aspect-ratio: auto !important;
    object-fit: contain;
    object-position: center;max-height:520px
  }
.post-card:hover .post-thumb img {
	transform: scale(1.07);
	filter: grayscale(0%) saturate(1);
}
.post-body {
	padding:14px 14px 16px;
}
/*  META TEXT COLOR (updated to neutral gray for readability) */
    .post-meta {
	font-family:"Montserrat", sans-serif;
	font-size:12px;
	color: rgba(24, 38, 36, 0.55);   /*  neutral, readable */
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	align-items:center;
	line-height:1.35;
}
.post-meta .sep {
	opacity:.55;
}
/* Title color slightly stronger for readability */
    .post-title {
	margin-top:10px;
	font-family:"Cormorant Garamond", serif;
	color: #0B3F39;
	font-size:24px;
	font-weight:500;
	letter-spacing:-0.02em;
	line-height:1.2;
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;
	overflow:hidden;
 min-height: calc(2 * 1.16em);
}
.post-tags {
	margin-top:12px;
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
 .post-tags .chip:nth-of-type(n+3) {
display:none !important;
} /* keep max 2 pills */
/* Pagination under grid � pills keep borders */
.blog-pagination {
	margin-top: 28px;
	padding-top: 18px;
	border-top: 0;
	display:flex;
	justify-content:center;
	padding-bottom: 10px;
}
.pager {
	display:flex;
	align-items:center;
	gap:10px;
	flex-wrap:wrap;
	justify-content:center;
}
/* Base pill sizing for BOTH links and spans (fixes skinny "1") */
.pager a, .pager span {
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	letter-spacing:.14em;
	text-transform:uppercase;
	padding:10px 12px;
	border-radius:999px;
	line-height:1;
	display:inline-flex;        /*  prevents �thin bar� active pill */
	align-items:center;
	justify-content:center;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
/* Inactive pages + NEXT */
.pager a {
	color: rgba(24, 38, 36, 0.72);             /*  increased contrast */
	border:1px solid rgba(13, 84, 75, 0.12);
	background: rgba(255, 255, 255, 0.85);
	text-decoration:none;
 transition: color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.pager a:hover {
	color: var(--st-navy);
	border-color: rgba(13, 84, 75, 0.20);
	box-shadow: 0 10px 22px -18px rgba(13, 84, 75, 0.22);
	transform: translateY(-1px);
}
/* Current page */
.pager .current {
	min-width:36px;                           /*  keeps pill shape for single digit */
	color:#fff;
	background: var(--st-navy);
	border:1px solid var(--st-navy);
	box-shadow: 0 14px 30px -22px rgba(13, 84, 75, 0.45);
}
/* Dots */
.pager .dots {
	border:0 !important;
	background:transparent !important;
	padding:0 2px !important;
	color: rgba(24, 38, 36, 0.45) !important;
	box-shadow:none !important;
	min-width:auto !important;
}
.mb-5 {
	margin-bottom: 1.25rem;
}
.blog .final-cta-image {
	max-width: 420px;
}
.blog .final-cta-img {
	max-height: 340px;
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}
.text-gray-600\/75 {
	color: rgb(75 85 99 / 0.75);
}
.space-y-10 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse: 0;
 margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom: calc(2.5rem * var(--tw-space-y-reverse));
}
.h-2 {
	height: 0.5rem;
}
.text-micro {
	font-family:"Montserrat", sans-serif;
	font-size:10px;
	text-transform: uppercase;
	letter-spacing: .2em;
	font-weight:600;
	color: rgba(13, 84, 75, 0.55);
}
.step-kicker {
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	letter-spacing:.32em;
	text-transform:uppercase;
	color: rgba(13, 84, 75, 0.45);
	margin-bottom: 8px;
	display:block;
}
#hero .hero-wrap {
	gap:22px;
}
#hero .hero-eyebrow {
	font-size:10px;
	letter-spacing:.32em;
	text-transform:uppercase;
	font-weight:700;
	color:rgba(13, 84, 75, 0.62);
}
#hero .hero-lede {
	margin-top:24px;
	max-width:62ch;
	color:rgba(24, 38, 36, 0.82);
	font-size:16px;
	line-height:1.72;
	font-weight:400;
}
.sd-p-to-cta {
	margin-top:28px;
}
.hero-reassurance {
	display:inline-block;
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	letter-spacing:.24em;
	text-transform:uppercase;
	font-weight:600;
	color:rgba(13, 84, 75, 0.55);
}
/* ============ */
  /* HERO  */
  /* ============ */
  .hero-subline {
	color:rgba(27, 43, 40, 0.68);
	max-width:56ch;
}
.hero-trust {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	justify-content:center;
}
.hero-chip {
	display:inline-flex;
	align-items:center;
	gap:6px;
	padding:8px 14px;
	border-radius:999px;
	background:rgba(255, 255, 255, 0.35);
	border:none;
	box-shadow:none;
	color:rgba(13, 84, 75, 0.78); /* FIXED */
	font-size:10px;
	letter-spacing:.08em;
	font-weight:500;
}
.hero-chip svg, .hero-chip img {
	width:12px;
	height:12px;
	opacity:.75;
}
.kicker-soft {
	font-family:"Montserrat", sans-serif;
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.28em;
	font-weight:600;
	color:rgba(13, 84, 75, 0.55);
}
.step-number {
	font-family:"Cormorant Garamond", serif;
	font-style:italic;
	font-size:1.25rem;
	color:var(--st-navy);
	opacity:0.75;
}
.micro-reassurance {
	font-size:10px !important;
	line-height:1.45 !important;
	letter-spacing:.02em;
	color:rgba(24, 38, 36, 0.38);
}
.diff-wrap {
	position:relative;
}
 .diff-wrap::after {
 content:"";
 position:absolute;
 top:0;
 bottom:0;
 left:50%;
 width:1px;
 transform:translateX(-0.5px);
 background:rgba(13, 84, 75, 0.12);
 pointer-events:none;
}
 .label-util {
  font-family: "Montserrat",sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .24em;
  font-weight: 500;
  color: rgba(13,84,75,0.32);
}.mt-14 {
  margin-top: 3.5rem;
}

/* 
       IMAGE SYSTEM
    = */
    .sd-img {
	background:#fff;
	border:none;
	border-radius: 28px;
	overflow:hidden;
	box-shadow: var(--shadow-soft);
}
/* 
       OVERVIEW STAGE GRID (Summary Cards)
    = */
   .page-template-technology2026  .stage-grid {
	display:grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	align-items: stretch;
}
.stage-card {
	position: relative;
	background: rgba(255, 255, 255, 0.55);
	border: none;
	border-radius: 28px;
	padding: 26px 24px;
	overflow:hidden;
 transition: background-color .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
	min-height: 160px;
}
.stage-card:hover {
	background: rgba(255, 255, 255, 0.70);
	border-color: rgba(201, 164, 92, 0.22);
	transform: translateY(-2px);
	box-shadow: 0 28px 70px -44px rgba(13, 84, 75, 0.22);
}
.stage-num {
	position:absolute;
	top:18px;
	right:18px;
	font-family:"Cormorant Garamond", serif;
	font-weight:300;
	font-size:72px;
	line-height:1;
	color: rgba(13, 84, 75, 0.08);
	opacity: .5;
	pointer-events:none;
	user-select:none;
}
.stage-label {
	font-family:"Montserrat", sans-serif;
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.22em;
	font-weight:700;
	color: rgba(13, 84, 75, 0.50);
	margin-bottom: 10px;
}
.stage-h {
	font-family:"Cormorant Garamond", serif;
	font-weight:500;
	color: var(--st-navy);
	font-size: 26px;
	line-height: 1.15;
	margin: 0 0 12px;
	letter-spacing: -0.01em;
}
.stage-p {
	margin:0;
	color: rgba(24, 38, 36, 0.62);
	line-height: 1.65;
	font-size: 14px;
	max-width: 46ch;
}
/* 
       DETAIL SECTIONS
    = */
    .detail-card {
	background: rgba(255, 255, 255, 0.68);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: none;
	border-radius: var(--radius-card);
	box-shadow: 0 18px 44px -28px rgba(13, 84, 75, 0.18);
	padding: 22px;
}
.detail-num {
	font-family:"Cormorant Garamond", serif;
	font-weight:300;
	letter-spacing:-0.02em;
	font-size: 42px;
	line-height: 1;
	color: rgba(13, 84, 75, 0.16);
	margin-bottom: 8px;
}
.detail-h {
	font-family:"Cormorant Garamond", serif;
	font-weight:500;
	letter-spacing:-0.01em;
	font-size: 34px;
	line-height: 1.1;
	color: var(--st-navy);
	margin: 0;
}
.detail-kicker {
	margin-top: 10px;
	color: rgba(13, 84, 75, 0.55);
	font-size: 11px;
	letter-spacing: .22em;
	text-transform: uppercase;
	font-weight: 700;
}
.detail-copy {
	margin-top: 16px;
	color: rgba(24, 38, 36, 0.72);
	line-height: 1.8;
	font-size: 15px;
}
.detail-copy p {
	margin-top: 12px;
}
.detail-copy ul {
	margin-top: 12px;
	padding-left: 18px;
}
.detail-copy li {
	margin-top: 8px;
}
/* keep price stronger */
#priceValue {
	font-size: 48px !important;
	line-height: 0.95 !important;
}
/* CALCULATOR */
    .calculator-frame {
	background: #FFFFFF;
	border-radius: 40px;
	box-shadow: var(--shadow-float);
	overflow: hidden;
	position: relative;
}
/* === CALCULATOR DISPLAY */
.calc-display-area {
	background: linear-gradient(  180deg,  rgba(13, 84, 75, 0.14) 0%,  rgba(13, 84, 75, 0.08) 100%  );
	color: var(--st-navy);
	padding: 48px;
	position: relative;
	overflow: hidden;
}
 .calc-display-area::before {
 content: '';
 position: absolute;
 inset: 0;
 background: radial-gradient(  circle at 30% 20%,  rgba(201, 164, 92, 0.08),  transparent 55%  );
 pointer-events: none;
}
.selectionbgcream {
	background-color: var(--st-cream);
}
.mb-24 {
	margin-bottom: 6rem;
}
.gap-10 {
	gap: 2.5rem;
}
.mb-32 {
	margin-bottom: 8rem;
}
.mb-20 {
	margin-bottom: 5rem;
}
.w-28 {
	width: 7rem;
}
.h-16 {
	height: 4rem;
}
.calc-display-area {
	background: linear-gradient( 180deg, rgba(13, 84, 75, 0.14) 0%, rgba(13, 84, 75, 0.08) 100% );
	color: var(--st-navy);
	padding: 48px;
	position: relative;
	overflow: hidden;
}
.justify-end {
	justify-content: flex-end;
}
.blog-wrap .chip {
	padding: 6px 14px;
	border-radius: 999px;
	background: rgba(245, 246, 246, 0.85);
	color: rgba(24, 38, 36, 0.70);
	border: none;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
	white-space: nowrap;
}
.shadow-\[0_25px_50px_-20px_rgba\(13\,84\,75\,0\.18\)\] {
 --tw-shadow: 0 25px 50px -20px rgba(13, 84, 75, 0.18);
 --tw-shadow-colored: 0 25px 50px -20px var(--tw-shadow-color);
	box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.rounded-\[22px\] {
	border-radius: 22px;
}
.detail-copy li {
	color: rgba(24, 38, 36, 0.72);
}
.text-base.md\:text-lg.text-st-navy\/65.leading-relaxed.max-w-2xl.mx-auto.mt-6 {
	color: #182624;
}
 
.wrap {
	max-width: 72rem;
	margin: 0 auto;
}
.post-hero {
	max-width: 58rem;
	margin: 0 auto;
	text-align:center;
}
.post-title {
	font-family:"Cormorant Garamond", serif;
	color:#0B3F39;
	font-weight:500;
	line-height:1.06;
	letter-spacing:-0.02em;
}
.page-template-blog .post-meta {justify-content:left; }
.post-meta {
	margin-top: 14px;
	font-family:"Montserrat", sans-serif;
	font-size:12px;
	color: rgba(24, 38, 36, 0.55);
	display:flex;
	gap:10px;
	justify-content:center;
	flex-wrap:wrap;
	align-items:center;
	line-height:1.35;
}
.post-meta .sep {
	opacity:.55;
}
.hero-chips {
	margin-top: 18px;
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	gap:10px;
}
.pb-16 {
	padding-bottom: 4rem;
}
/*  Author note � slightly darker �paper� */
.author-note {
	margin-top: 18px;
	background: var(--card-paper);     /* primary paper */
	border: none;
	border-radius: 20px;
	padding: 14px 14px;
	display:flex;
	gap: 12px;
	align-items:center;
	text-align:left;
	max-width: 58rem;
	margin-left:auto;
	margin-right:auto;
	/* stronger lift (primary) */
  box-shadow:
 0 22px 50px -38px rgba(13, 84, 75, 0.20),  0 10px 20px -18px rgba(13, 84, 75, 0.10);
}
.author-avatar {
	width: 44px;
	height: 44px;
	border-radius: 999px;
	object-fit: cover;
	border: none;
	flex: 0 0 auto;
	background: #fff;
}
.author-text {
	font-family:"Montserrat", sans-serif;
	font-size: 13px;
	line-height: 1.65;
	color: rgba(24, 38, 36, 0.88);
	font-weight: 400;
	padding-top: 2px;
}
.author-byline {
	margin-top: 6px;
	font-size: 11px;
	color: rgba(24, 38, 36, 0.55);
	font-family:"Montserrat", sans-serif;
}
/* Featured image */
  .featured {
	max-width: 58rem;
	margin: 26px auto 0;
	border-radius: 18px;
	overflow:hidden;
	border:none;
	box-shadow: var(--pt-shadow-soft);
	background: #fff;
}
.pt-10 {
  padding-top: 2.5rem;
}
.featured img {
	width:100%;
	height:auto;
	display:block;
	object-fit:cover;
	aspect-ratio: 16 / 9;
}
/* Single-column body */
  .post-grid {
	max-width: 58rem;
	margin: 34px auto 0;
}
/* Prose */
  .prose {
	max-width: 58rem;
	margin: 0 auto;
}
.prose h2 {
	font-family:"Cormorant Garamond", serif;
	color:#0B3F39;
	font-weight:500;
	font-size:30px;
	line-height:1.15;
	margin-top: 30px;
	margin-bottom: 10px;
	letter-spacing: -0.01em;
}
.prose h3 {
	font-family:"Cormorant Garamond", serif;
	color:#0B3F39;
	font-weight:500;
	font-size:22px;
	line-height:1.2;
	margin-top: 22px;
	margin-bottom: 8px;
	letter-spacing: -0.01em;
}
.prose p {
	color: rgba(24, 38, 36, 0.92);
	line-height:1.9;
	font-weight:300;
	margin-top: 12px;
}
.prose ul {
	margin-top:12px;
	padding-left:18px;
}
.prose li {
	margin-top:10px;
	color:rgba(24, 38, 36, 0.92);
	line-height:1.85;
	font-weight:300;
}
/*  Gentle note card � slightly darker �paper� */
.soft-quote {
	margin: 18px 0 24px;
	padding: 16px 16px;
	border-radius: 18px;
	background: var(--card-paper-2);   /* darker editorial paper */
	border: none;
	color: rgba(24, 38, 36, 0.86);
	font-weight: 300;
	line-height: 1.85;
}
/*  Unified calm-luxury lift for editorial modules */
.author-note, .toc-top, .soft-quote {
	box-shadow: 0 14px 34px -30px rgba(13, 84, 75, 0.14);
}
.inline-media {
	margin-top: 18px;
	border-radius: 18px;
	overflow:hidden;
	border:none;
	background:#fff;
	box-shadow: var(--pt-shadow-soft);
}
.inline-media img {
	width:100%;
	height:auto;
	display:block;
	object-fit:cover;
	aspect-ratio: 16 / 10;
}
.caption {
	font-family:"Montserrat", sans-serif;
	font-size:12px;
	color: rgba(24, 38, 36, 0.55);
	margin-top: 10px;
}
/*  TOC � slightly darker �paper� */
.toc-top {
	max-width: 58rem;
	/*  more separation so intent is clear */
  margin: 22px auto 0;
	background: var(--card-paper-2);   /* secondary paper */
	border: none;
	border-radius: 18px;
	overflow: hidden;
	text-align: left;
	/* flatter than author card (secondary) */
  box-shadow:
 0 16px 34px -30px rgba(13, 84, 75, 0.14);
}
.toc-top-header {
	padding: 14px 16px;
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:12px;
}
.toc-top-title {
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color: rgba(24, 38, 36, 0.65);
	font-weight:600;
}
.toc-top-hint {
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	color: rgba(24, 38, 36, 0.55);
	white-space:nowrap;
}
.toc-top-body {
	padding: 0 16px 16px;
	border-top: 1px solid rgba(24, 38, 36, 0.06);
}
.toc-list {
	margin-top: 10px;
	display:flex;
	flex-direction:column;
	gap: 10px;
}
.toc-link {
	display:flex;
	align-items:flex-start;
	gap: 10px;
	padding: 6px 2px;
	text-decoration:none;
	color: rgba(24, 38, 36, 0.80);
	font-family:"Montserrat", sans-serif;
	font-size: 13px;
	line-height: 1.4;
	font-weight:500;
}
.toc-link:hover {
	color: rgba(13, 84, 75, 0.92);
	text-decoration: underline;
	text-decoration-color: rgba(13, 84, 75, .18);
	text-underline-offset: 4px;
}
.toc-num {
	font-family:"Montserrat", sans-serif;
	font-size: 11px;
	color: rgba(24, 38, 36, 0.55);
	min-width: 18px;
	padding-top: 2px;
	font-weight:400;
}
/* TOC more */
.toc-more {
	margin-top: 10px;
}
/* Make details a column */
.toc-more {
	display:block
}
.toc-more summary {
	/* order: 2;*/
  margin-top: 10px;
	list-style: none;
	cursor: pointer;
	font-family:"Montserrat", sans-serif;
	font-size:11px;
	letter-spacing:.12em;
	text-transform:uppercase;
	color: rgba(24, 38, 36, 0.60);
	text-decoration: underline;
	text-decoration-color: rgba(24, 38, 36, .18);
	text-underline-offset: 4px;
	padding: 8px 2px;
}
.toc-list-more {
	/*order: 1;*/
  margin-top: 0;     /* remove external gap */
	padding-top: 0;    /* no artificial spacing */
}

/* Hide default marker */
.toc-more summary::-webkit-details-marker {
 display:none;
}
/* Toggle labels */
.toc-more .label-close {
	display:none;
}
.toc-more[open] .label-open {
	display:none;
}
.toc-more[open] .label-close {
	display:inline;
}
/* Mid-article gentle CTA � visible but calm */
.kit-card {
	margin: 36px 0 28px; /* reading pause */
	border-radius: 22px;
	/* soft editorial paper (not white, not green) */
  background: rgba(251, 247, 240, 0.75);
	/* gentle lift so it doesn�t disappear */
  box-shadow:
 0 22px 44px -32px rgba(13, 84, 75, 0.18),  0 8px 18px -14px rgba(13, 84, 75, 0.08);
	overflow: hidden;
}
.kit-card-inner {
	display:grid;
	grid-template-columns: 1fr;
	gap: 18px;
	padding: 22px;
	align-items:center;
}
.kit-img {
	max-height:170px;
	object-fit:contain;
	width:100%;
	height:auto;
	display:block;
}
.author-text a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: none;
	color: rgba(13, 84, 75, 0.88);
	border-bottom: 1px solid rgba(13, 84, 75, 0.18);
	padding-bottom: 4px;
	white-space: nowrap;
 transition: all .2s ease;
}
.author-text a:hover {
	color: var(--st-gold);
	border-bottom-color: rgba(212, 175, 55, 0.55);
}
/* Continue reading */
  .recent-wrap {
	max-width:72rem;
	margin:0 auto;
	padding:0 24px;
}
.recent-simple {
	max-width:58rem;
	margin: 44px auto 0;
	padding-top: 18px;
	padding-bottom: 6px;
	border-top: 1px solid rgba(24, 38, 36, 0.08);
}
.recent-h {
	font-family:"Cormorant Garamond", serif;
	color: #0B3F39;
	font-weight:500;
	font-size:26px;
	line-height:1.15;
	margin-bottom: 6px;
	letter-spacing:-0.01em;
}
.recent-p {
	font-family:"Montserrat", sans-serif;
	font-size:12px;
	color: rgba(24, 38, 36, 0.55);
	margin-bottom: 18px;
}
.recent-links {
	display:flex;
	flex-direction:column;
	gap: 6px;
}
.recent-links a {
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;   /*  stop pushing arrow away */
	gap:6px;                      /*  tight editorial spacing */
	padding: 10px 0;
	text-decoration:none;
	font-family:"Montserrat", sans-serif;
	font-size:14px;
	font-weight:500;
	color: rgba(24, 38, 36, 0.88);
}
.recent-links a:hover {
	text-decoration: underline;
	text-decoration-color: rgba(24, 38, 36, .18);
	text-underline-offset: 4px;
}
/* Arrow */
.recent-links a span:last-child {
	flex: 0 0 auto;
	color: rgba(24, 38, 36, 0.55);   /* quieter arrow */
	font-weight:400;
	white-space:nowrap;
}
/* FINAL CTA image */
  .final-cta-image {
	max-width:420px;
}
.final-cta-image > div {
	border-radius: 16px;
	box-shadow:
 0 18px 40px -22px rgba(13, 84, 75, 0.18),  0 6px 14px -10px rgba(13, 84, 75, 0.08);
}
.final-cta-img {
	max-height:340px;
	width:100%;
	height:auto;
	object-fit:contain;
	display:block;
}
.bottom-cta {
	background: var(--st-cream);
	border-top: none;
}

  /* Blog image radius standard */
  .prose img:not(.kit-img):not(.final-cta-img),  .featured,  .featured img,  .inline-media,  .inline-media img {
 border-radius: 12px !important;
}
.featured,  .inline-media {
	overflow: hidden;
}
.h-\[190px\] {
	height: 190px;
}
.sd-img {
	background: #fff;
	border: none;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: var(--shadow-soft);
}
details.sd-more[open] > summary {
	display: none !important;
}
.space-y-5 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse: 0;
 margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom: calc(1.25rem * var(--tw-space-y-reverse));
}
.opacity-55 {
	opacity: 0.55;
}
.object-\[50\%_65\%\] {
	object-position: 50% 65%;
}
.mt-7 {
	margin-top: 1.75rem;
}

 .gap-14 {
	gap: 3.5rem;
}
 
.sd-reading {
	max-width: 62ch;
}
/* IMAGE SYSTEM (no borders) * /
    .sd-img {
	background:#fff;
	border:none;
	border-radius: 28px;
	overflow:hidden;
	box-shadow: var(--shadow-soft);
}
/* GLASS CARD */
    .glass-card {
	background: rgba(255, 255, 255, 0.68);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: none;
	border-radius: var(--radius-card);
	box-shadow: 0 18px 44px -28px rgba(13, 84, 75, 0.18);
}
/* GRID CARDS (Colors + Cuts) */
    .grid-card {
	position:relative;
	background: rgba(255, 255, 255, 0.60);
	border:none;
	border-radius: 28px;
	padding: 22px 20px;
 transition: transform .35s var(--ease-out-expo), background .25s ease, box-shadow .35s var(--ease-out-expo);
	box-shadow: 0 18px 44px -32px rgba(13, 84, 75, 0.14);
}
.grid-card:hover {
	background: rgba(255, 255, 255, 0.76);
	transform: translateY(-2px);
	box-shadow: 0 28px 70px -44px rgba(13, 84, 75, 0.20);
}
.grid-card h3 {
	font-family:"Cormorant Garamond", serif;
	font-weight:500;
	letter-spacing:-0.01em;
	color: var(--st-navy);
	font-size: 26px;
	margin: 0 0 8px;
}
.grid-card p {
	margin:0;
	color: rgba(24, 38, 36, 0.62);
	line-height: 1.65;
	font-size: 14px;
}
.sd-rule {
  height: 1px;
  background: linear-gradient(90deg, rgba(13,84,75,0.14), rgba(13,84,75,0.06) 55%, rgba(13,84,75,0.00));
  width: 42rem;
  max-width: 100%;
  margin-top: 18px;
}.space-y-6 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(1.5rem * var(--tw-space-y-reverse));
}.tracking-\[0\.28em\] {
  letter-spacing: 0.28em;
}
  /* Details toggle label swap */
details .when-open{ display:none; }
details[open] .when-open{ display:inline; }
details[open] .when-closed{ display:none; }
.w-3 {
  width: 0.75rem;
}
.h-3 {
  height: 0.75rem;
}
.-left-\[6px\] {
  left: -6px;
} 
.pl-8 {
  padding-left: 2rem;
}.max-w-\[640px\] {
  max-width: 640px;
}.max-w-\[1000px\] {
  max-width: 1000px;
}.text-xl {
  font-size: 1.25rem;
  line-height: 1.75rem;
} 
  #final-cta .final-image{ grid-area:image; }
  #final-cta .final-title{ grid-area:title; }
  #final-cta .final-copy{ grid-area:copy; }
  #final-cta .final-actions{ grid-area:cta; }
  #final-cta .final-micro{ grid-area:micro; }
.por{position:relative;top:15px}
  .fade-enter{ animation:fadeIn 1.2s ease-out forwards; }
.flex .btn-soft.px-10.tracking-widest {
  display: inline-flex;
}.col-span-2 {
  grid-column: span 2 / span 2;
}.py-7 {
  padding-top: 1.75rem;
  padding-bottom: 1.75rem;
}.h-\[240px\] {
  height: 240px;
}
.opacity-70 {
  opacity: 0.7;
} details[open] .toggle-label-open {
  display: inline;
}
.toggle-label-open {
  display: none;
}details[open] .toggle-label-closed {
  display: none;
}.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgb(107 114 128 / var(--tw-text-opacity, 1));
}
 
.text-\[13px\] {
  font-size: 13px;
}
.h-3\.5 {
  height: 0.875rem;
}
.aspect-\[16\/10\] {
  aspect-ratio: 16/10;
}
.text-6xl {
  font-size: 3.75rem;
  line-height: 1;
}
.sd-section--sage {
  background: var(--st-sage);
}
.w-16 {
  width: 4rem;
}
.sd-tile-media {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
@media (min-width: 480px){
  #design .design-preview{ min-height: 280px; }
}
  @media (min-width:640px){ .btn-soft {
    width: auto;
  }
  .text-gray-700 {
  --tw-text-opacity: 1;
  color: rgb(55 65 81 / var(--tw-text-opacity, 1));
}  .sm\:gap-4 {
    gap: 1rem;
  } .sm\:w-2\/3 {
    width: 66.666667%;
  } .sm\:text-right {
    text-align: right;
  }  .sm\:w-1\/3 {
    width: 33.333333%;
  }
    .micro-reassurance{
      font-size:11px !important;
      color:rgba(24,38,36,0.34);
    }
   .sm\:flex-wrap {
    flex-wrap: wrap;
  }
 .sm\:max-w-md {
 max-width: 28rem;
}
.sm\:h-\[260px\] {
 height: 260px;
}
.group-img {
 aspect-ratio: 16 / 10;
}     .calc-step-label{
    font-size: 10px;
    letter-spacing: 0.18em;
  }
 .sm\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }  .sm\:gap-y-2 {
    row-gap: 0.5rem;
  } .sm\:gap-x-6 {
    column-gap: 1.5rem;
  } .sm\:items-start {
    align-items: flex-start;
  }.sm\:grid-cols-\[auto_auto\] {
    grid-template-columns: auto auto;
  }.sm\:grid {
    display: grid;
  }
 .sm\:block {
 display:block
}
 .sm\:hidden {
 display:none
}
 .sm\:w-auto {
 width:auto
}
 .sm\:flex-row {
 flex-direction:row
}
 .sm\:items-start {
 align-items:flex-start
}
 .sm\:grid-cols-2 {
 grid-template-columns:repeat(2, minmax(0, 1fr))
}
.sm\:inline {
    display: inline;
  }  .sm\:h-\[230px\] {
    height: 230px;
  }
}
.home .sd-diamond-divider{
  width: 320px;
  aspect-ratio: 4 / 1;
  object-fit: contain;
  margin: 0 auto;
  display: block;max-width: 100%;opacity:1
}
.img-lux {
  border-radius: var(--radius-lux);
  overflow: hidden;
  box-shadow: 0 20px 50px -15px rgba(13,84,75,0.1);
  background: #fff;
  width: 100%;
}

@media (min-width: 768px) {
  .md\:text-\[50px\] {
    font-size: 50px;
  }
  .md\:leading-\[1\.02\] {
    line-height: 1.02;
  }
 .md\:mb-10 {
    margin-bottom: 2.5rem;
  }
 .home  .sd-diamond-divider{
    width: 540px;
  }
 
     .md\:text-\[54px\] {
    font-size: 54px;
  }
  .hero-title {
    font-size: 68px;
  } .md\:mt-10 {
    margin-top: 2.5rem;
  }.sd-section{ padding: 88px 24px; }  
  .md\:justify-start {
    justify-content: flex-start;
  }  .md\:col-span-1 {
    grid-column: span 1 / span 1;
  }  .md\:inline-flex {
    display: inline-flex;
  }
    .md\:mx-0 {
    margin-left: 0px;
    margin-right: 0px;
  }
   .md\:text-\[68px\] {
    font-size: 68px;
  } .md\:leading-\[0\.98\] {
    line-height: 0.98;
  }
   .md\:text-sm {
    font-size: 0.875rem;
    line-height: 1.25rem;
  }
   .md\:space-y-12 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(3rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(3rem * var(--tw-space-y-reverse));
  }
   .md\:ml-auto {
    margin-left: auto;
  }
   .md\:max-h-\[360px\] {
    max-height: 360px;
  }.md\:rounded-\[12px\] {
    border-radius: 12px;
  } .md\:text-right {
    text-align: right;
  }  .md\:pr-14 {
    padding-right: 3.5rem;
  }.md\:pl-14 {
    padding-left: 3.5rem;
  }  .md\:text-2xl {
    font-size: 1.5rem;
    line-height: 2rem;
  } .md\:text-\[15px\] {
    font-size: 15px;
  }  
    .md\:h-\[260px\] {
    height: 260px;
  }  .md\:mt-14 {
    margin-top: 3.5rem;
  }
   .detail-card{ padding: 34px; }
    .md\:h-\[280px\] {
    height: 280px;
  }
  .chapter-title{ font-size:42px; } .section-title{ font-size:38px; } .style-group .group-img{ aspect-ratio:16 / 10; } .md\:h-96 {
    height: 24rem;
  }  .md\:pt-32 {
    padding-top: 8rem;
  }
   .md\:pt-24 {
    padding-top: 6rem;
  }
    .md\:h-\[340px\] {
    height: 340px;
  }  .md\:col-span-7 {
    grid-column: span 7 / span 7;
  } .md\:col-span-5 {
    grid-column: span 5 / span 5;
  } .md\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  }
    .kit-card-inner{
    grid-template-columns: 1fr 240px;
    padding: 26px;
  }
  .md\:pt-20.footerstyl2  {
    padding-top: 5rem;
  }
   .permission-line{
      font-size:13px;
      color:rgba(95,110,104,0.62);
      margin-top:16px;
    }.meta-gap{ margin-top:18px; }
.md\:aspect-\[3\/2\] {
 aspect-ratio: 3/2;
}
.md\:bg-st-sage {
 background-color: var(--st-sage);
}
.md\:text-\[40px\] {
 font-size: 40px;
}
 .hidden-ds {
display:none !important
}
 .md\:grid-cols-12 {
 grid-template-columns: repeat(12, minmax(0, 1fr));
}
 .md\:shadow-none {
 --tw-shadow: 0 0 #0000;
 --tw-shadow-colored: 0 0 #0000;
 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
.md\:w-auto {
 width: auto;
}
.wpcf7-form-control.wpcf7-submit.has-spinner.btn-primary.w-full.px-10.py-4.rounded-full.font-bold.tracking-widest.shadow-lg {
 width: auto;
}
.section {
 padding: 84px 0;
}
 .md\:max-w-lg {
 max-width: 32rem;
}
.md\:h-\[320px\] {
 height: 320px;
}
 .md\:aspect-\[16\/10\] {
 aspect-ratio: 16/10;
}
 .review-card {
padding:22px;
border-radius:22px;
}
 .faq-search-wrap {
margin-top:14px;
}
 .reviews-list > .review-card + .review-card {
margin-top:22px;
}
 .md\:text-\[19px\] {
    font-size: 19px;
  }
  .md\:text-8xl {
    font-size: 6rem;
    line-height: 1;
  }
  .md\:order-2 {
    order: 2;
  }
 .md\:shadow-none {
 --tw-shadow: 0 0 #0000;
 --tw-shadow-colored: 0 0 #0000;
 box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}
 .md\:justify-between {
 justify-content: space-between;
}  .md\:text-left {
    text-align: left;
  }  .lg\:justify-start {
    justify-content: flex-start;
  }
.md\:items-start {
 align-items: flex-start;
}
 .md\:p-0 {
 padding: 0px;
}
 .md\:bg-transparent {
 background-color: transparent;
}
.md\:border-0 {
 border-width: 0px;
}
.md\:rounded-none {
 border-radius: 0px;
}
 .md\:pl-6 {
 padding-left: 1.5rem;
}
.md\:border-l {
 border-left-width: 1px;
}
 .md\:col-span-3 {
 grid-column: span 3 / span 3;
}
 .md\:col-span-6 {
 grid-column: span 6 / span 6;
}
 .md\:mb-10 {
 margin-bottom:2.5rem
}
 .md\:mb-16 {
 margin-bottom:4rem
}
 .md\:mb-2 {
 margin-bottom:0.5rem
}
 .md\:mb-20 {
 margin-bottom:5rem
}
 .md\:mb-8 {
 margin-bottom:2rem
}
 .md\:mt-0 {
 margin-top:0px
}
 .md\:mt-16 {
 margin-top:4rem
}
 .md\:mt-4 {
 margin-top:1rem
}
 .md\:mt-8 {
 margin-top:2rem
}
 .md\:mb-12 {
 margin-bottom:3rem
}
 .md\:mb-6 {
 margin-bottom:1.5rem
}
 .md\:mt-0 {
 margin-top:0px
}
 .md\:mt-3 {
 margin-top:0.75rem
}
 .md\:block {
 display:block
}
 .md\:inline {
 display:inline
}
 .md\:flex {
 display:flex
}
 .md\:grid {
 display:grid
}
 .md\:hidden {
 display:none
}
 .md\:h-10 {
 height:2.5rem
}
 .md\:h-12 {
 height:3rem
}
 .md\:h-\[500px\] {
 height:500px
}
 .md\:h-\[50vh\] {
 height:50vh
}
 .md\:h-\[600px\] {
 height:600px
}
 .md\:w-1\/2 {
 width:50%
}
 .md\:w-12 {
 width:3rem
}
 .md\:w-2\/5 {
 width:40%
}
 .md\:w-3\/5 {
 width:60%
}
 .md\:w-\[500px\] {
 width:500px
}
 .md\:w-full {
 width:100%
}
 .md\:min-w-0 {
 min-width:0px
}
.md\:py-16 {
 padding-top: 4rem;
 padding-bottom: 4rem;
}
 .h-56 {
 height: 14rem;
}
.md\:h-64 {
 height: 16rem;
}
 .md\:py-20 {
 padding-top: 5rem;
 padding-bottom: 5rem;
}
 .md\:py-12 {
 padding-top: 3rem;
 padding-bottom: 3rem;
}
 .md\:py-8 {
 padding-top: 2rem;
 padding-bottom: 2rem;
}
 .md\:py-10 {
 padding-top: 2.5rem;
 padding-bottom: 2.5rem;
}
 .md\:py-4 {
 padding-top: 1rem;
 padding-bottom: 1rem;
}
 .md\:grid-cols-2 {
 grid-template-columns:repeat(2, minmax(0, 1fr))
}
 .md\:grid-cols-3 {
 grid-template-columns:repeat(3, minmax(0, 1fr))
}
 .md\:grid-cols-4 {
 grid-template-columns:repeat(4, minmax(0, 1fr))
}
 .md\:flex-row {
 flex-direction:row
}
 .md\:flex-col {
 flex-direction:column
}
 .md\:items-center {
 align-items:center
}
 .md\:gap-0 {
 gap:0px
}
 .md\:gap-12 {
 gap:3rem
}
 .md\:gap-16 {
 gap:4rem
}
 .md\:gap-24 {
 gap:6rem
}
 .md\:gap-6 {
 gap:1.5rem
}
 .md\:gap-8 {
 gap:2rem
}
 .md\:space-y-6 > :not([hidden]) ~ :not([hidden]) {
 --tw-space-y-reverse:0;
 margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));
 margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))
}
 .md\:p-10 {
 padding:2.5rem
}
 .md\:p-12 {
 padding:3rem
}
 .md\:p-8 {
 padding:2rem
}
 .md\:px-12 {
 padding-left:3rem;
 padding-right:3rem
}
 .md\:py-24 {
 padding-top:6rem;
 padding-bottom:6rem
}
 .md\:py-5 {
 padding-top:1.25rem;
 padding-bottom:1.25rem
}
 .md\:pb-0 {
 padding-bottom:0px
}
 .md\:pt-0 {
 padding-top:0px
}
 .md\:pt-8 {
 padding-top:2rem
}
 .md\:text-center {
 text-align:center
}
 .md\:text-3xl {
 font-size:1.875rem;
 line-height:2.25rem
}
 .md\:text-4xl {
 font-size:2.25rem;
 line-height:2.5rem
}
 .md\:text-5xl {
 font-size:3rem;
 line-height:1
}
 .md\:text-6xl {
 font-size:3.75rem;
 line-height:1
}
 .md\:text-\[10px\] {
 font-size:10px
}
 .md\:text-base {
 font-size:1rem;
 line-height:1.5rem
}
 .md\:text-lg {
 font-size:1.125rem;
 line-height:1.75rem
}
 .md\:text-xl {
 font-size:1.25rem;
 line-height:1.75rem
}
 .md\:ring-8 {
 --tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
 --tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(8px + var(--tw-ring-offset-width)) var(--tw-ring-color);
 box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}


 .sd-section{ padding: 88px 24px; } 
  
    .featured img,
    .inline-media img,
    .prose img:not(.kit-img):not(.final-cta-img){
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 9 !important;
      object-fit: cover;
      object-position: center;
    }  .md\:h-\[420px\] {
    height: 420px;
  } .md\:max-w-lg {
    max-width: 32rem;
  }
 
  #design .design-frame{
    grid-template-columns: 1fr 1fr;
    min-height: 520px;
  }
 
  #design .design-diamond-img{
    width: min(420px, 78%);
    max-width: 460px;
    max-height: 76%;
    filter: drop-shadow(0 34px 64px rgba(13,84,75,0.18));
  }
  #design .design-preview:hover .design-diamond-img{
    transform: scale(1.02);
    filter: drop-shadow(0 42px 80px rgba(13,84,75,0.20));
 
  }
  
  .md\:pl-28 {
    padding-left: 7rem;
  }
  #sizeCt{ font-size: 46px !important; }  #priceValue{ font-size: 58px !important; }  .md\:text-7xl {
    font-size: 4.5rem;
    line-height: 1;
  }  .md\:text-left {
    text-align: left;
  }
 
  #home-calc .calc-head{ padding: 42px; }

  #home-calc #hc-sizeCt{ font-size: 40px; }
  #home-calc #hc-priceValue{ font-size: 36px; }

  #home-calc .cta-row .link-arrow{
    margin: 0;
    justify-content: flex-start;
  } .md\:h-\[240px\] {
    height: 240px;
  }
 
.md\:min-h-\[320px\] {
    min-height: 320px;
  }
body .md\:h-8 {
    height: 2rem;
  }
  #home-calc #hc-sizeMm{ display:block; }
  #process .sd-step{
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 16px;
  }
  #process .sd-step-num{
    text-align: center;
    min-width: 0;
    font-size: 56px;   
    margin-bottom: 2px;
  }
 
  .sd-diamond-divider{
    width: 64px;
    max-width: 64px;
    margin: 12px auto 28px;
    opacity: 0.78;
  }

 
  #design .design-preview{
    min-height: 520px;
    padding: 48px;
  }
 .post-body{ padding:16px 16px 18px; } 
  .posts-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
    column-gap:22px;
    row-gap:34px;  
  }
 
    .sd-p-to-cta{ margin-top:32px; }
      .md\:hover\:scale-\[1\.01\]:hover {
    --tw-scale-x: 1.01;
    --tw-scale-y: 1.01;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
  }
      .gj-title{ font-size:52px; } .md\:gap-y-16 {
    row-gap: 4rem;
  } .md\:h-\[360px\] {
    height: 360px;
  }
  .md\:min-h-\[280px\] {
    min-height: 280px;
  } .md\:p-9 {
    padding: 2.25rem;
  }
    }
 @media (min-width: 769px){
  .sd-hero-title .sd-hero-l1{ font-size: 66px; }
  .sd-hero-title .sd-hero-l2{ font-size: 60px; }

      .gj-more{ margin-top:0; }
      .gj-more > summary{ display:none !important; }
      .gj-more:not([open]) > *:not(summary){ display:block !important; }
    .post-tags{ margin-top:18px; }  
  #design .design-note{
    margin-top: 6px;
    padding-left: 6px;
    font-size: 11px;     
    line-height: 1.4;
    color: rgba(13,84,75,0.30);
  } .md\:text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem;
  }  .md\:mb-32 {
    margin-bottom: 8rem;
  }
} 
  @media (min-width: 1024px) {     .lg\:min-h-\[460px\] {
    min-height: 460px;
  }
   .lg\:text-5xl {
    font-size: 3rem;
    line-height: 1;
  }
   .serve-img-size {
    aspect-ratio: 4/3;
  }  .hero-img-size {
    aspect-ratio: 4/5;
  } .work-img-size {
    aspect-ratio: 5/4;
  }  .lg\:min-h-\[460px\] {
    min-height: 460px;
  } .exp-img-size {
    aspect-ratio: 1/1;
  }  .usa-img-size {
    aspect-ratio: 16/11;
  }
    .lg\:grid-cols-\[1\.1fr_0\.9fr\] {
    grid-template-columns: 1.1fr 0.9fr;
  } .lg\:gap-16 {
    gap: 4rem;
  }
   .lg\:text-right {
    text-align: right;
  }#final-cta .final-media-wrap {
    max-width: 520px;
    margin: 0 0 0 auto;
  }
  .lg\:aspect-\[4\/4\] {
    aspect-ratio: 4/4;
  }  .lg\:w-\[320px\] {
    width: 320px;
  }
    .lg\:mt-8 {
    margin-top: 2rem;
  }
  .lg\:h-\[48px\] {
    height: 48px;
  } .lg\:px-8 {
    padding-left: 2rem;
    padding-right: 2rem;
  } .lg\:py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }
  #final-cta .final-grid {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
"image" 
"title" 
"copy " 
"cta  " 
"micro";
  gap: 22px;
  align-items: start;
}
 #final-cta .final-grid {
    grid-template-columns: 1.05fr .95fr;
    gap: 56px;
    align-items: center;
    grid-template-areas:
"image title" 
"image copy " 
"image cta  " 
"image micro";
  } .lg\:h-\[420px\] {
    height: 420px;
  }
   .lg\:text-6xl {
    font-size: 3.75rem;
    line-height: 1;
  } .lg\:gap-x-24 {
    column-gap: 6rem;
  }
 .lg\:gap-20 {
    gap: 5rem;
  }
 .lg\:items-start {
    align-items: flex-start;
  } .lg\:hidden {
    display: none;
  }
 .lg\:mx-0 {
 margin-left:0px;
 margin-right:0px
}
  .lg\:col-span-3 {
    grid-column: span 3 / span 3;
  }
  .lg\:col-span-4 {
    grid-column: span 4 / span 4;
  }
 .lg\:col-span-5 {
 grid-column:span 5 / span 5
}
 .lg\:col-span-6 {
 grid-column:span 6 / span 6
}
 .lg\:col-span-7 {
 grid-column:span 7 / span 7
}
 .lg\:col-span-8 {
    grid-column: span 8 / span 8;
  }
   .lg\:col-span-9 {
    grid-column: span 9 / span 9;
  }
   .lg\:col-start-7 {
    grid-column-start: 7;
  }
 .lg\:mb-6 {
 margin-bottom:1.5rem
}
 .lg\:mt-0 {
 margin-top:0px
}
 .lg\:block {
 display:block
}
 .lg\:flex {
 display:flex
}
 .lg\:hidden {
 display:none
}
 .lg\:h-auto {
 height:auto
}
 .lg\:w-1\/2 {
 width:50%
}
 .lg\:cursor-auto {
 cursor:auto
}
 .lg\:grid-cols-12 {
 grid-template-columns:repeat(12, minmax(0, 1fr))
}
 .lg\:grid-cols-5 {
 grid-template-columns:repeat(5, minmax(0, 1fr))
}
 .lg\:flex-row {
 flex-direction:row
}
 .lg\:border-none {
 border-style:none
} 
 .py-3 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}


 
  .lg\:w-\[55\%\] {
    width: 55%;
  }
 
 .lg\:bg-gradient-to-r {
 background-image:linear-gradient(to right, var(--tw-gradient-stops))
} .lg\:py-0 {
 padding-top:0px;
 padding-bottom:0px
}
 .lg\:px-24 {
 padding-left:6rem;
 padding-right:6rem
}

 .lg\:pb-0 {
 padding-bottom:0px
}
 .lg\:pl-0 {
 padding-left:0px
}
 .lg\:pt-0 {
 padding-top:0px
}
 .lg\:text-7xl {
 font-size:4.5rem;
 line-height:1
}
 .lg\:text-\[14px\] {
 font-size:14px
}
 .lg\:text-\[18px\] {
 font-size:18px
}
 .lg\:opacity-60 {
 opacity:0.6
}
 .lg\:col-start-6 {
    grid-column-start: 6;
  }
 .lg\:text-left {
 text-align: left;
}
 footer details {
 open: true;
}
.rowff {
 display: flex;
}
 footer details > summary {
 pointer-events: none; /* disables click on desktop */
}
 footer details > summary svg {
 display: none; /* hide arrow on desktop */
}
 
  #final-cta .final-media{
    height: 380px;   /* try 380�420 */
  }.hero-trust{ justify-content:flex-start; }

  #design .design-frame{
    max-width: 1040px;
    margin: 0 auto;
  }
 
  .posts-grid{
    grid-template-columns:repeat(3, minmax(0,1fr));
    column-gap:22px;
    row-gap:42px; /* +14px calm editorial spacing */
  }
   #hero .hero-wrap{ gap:36px; }
  
    .hero-trust{ justify-content:flex-start; }
  
 .blog .final-cta-image {
  width: 420px;
}
  .lg\:grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  } .lg\:text-left {
    text-align: left;
  }  .lg\:order-1 {
    order: 1;
  }.lg\:order-2 {
    order: 2;
  }  #full-pricing-details .pt-table th,
  #full-pricing-details .pt-table td{
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 20px;
    padding-right: 20px;
  }  .lg\:h-\[360px\] {
    height: 360px;
  }
  .lg\:aspect-\[4\/5\] {
    aspect-ratio: 4/5;
  }.lg\:h-auto {
    height: auto;
  }
   .lg\:h-\[320px\] {
    height: 320px;
  }
  #full-pricing-details .pt-table thead th{
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .lg\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }.lg\:grid-cols-12 {
    grid-template-columns: repeat(12, minmax(0, 1fr));
  } .lg\:h-\[520px\] {
    height: 520px;
  } .lg\:h-\[360px\] {
    height: 360px;
  }
 
      .stage-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }

@media (min-width: 1200px){
  #priceValue{ font-size: 62px !important; }  #sizeCt{ font-size: 48px !important; }
}



@media (min-width: 1440px){
  #design .design-frame{
    max-width: 980px;
  }
}

.home .w-14.h-14.text-5xl.mb-6.opacity-60.grayscale {
  margin: auto;
}
 @media (max-width:768px){     .tile-title {
    font-size: 22px;
  }  .section-subtitle {
    font-size: 24px;
  } #rings .sd-tile:nth-of-type(n+3),
      #pendants .sd-tile:nth-of-type(n+3),
      #earrings .sd-tile:nth-of-type(n+3),
      #bracelets .sd-tile:nth-of-type(n+3){
        display:none;
      }
 footer li {
  text-align: left;
}
.page-template-petmemorial2026 .sd-section {
  padding: 56px 0;
}
 body{overflow-x:hidden !important}
 .h-\[55vh\] {
	height: 55vh;
}
.home #hero {
  padding-top: 70px;
} 
.home #hero .gap-x-10 {
  column-gap: 1rem;
}.home #hero .mt-10 .text-\[10px\] {
    font-size:9px;
    letter-spacing: 0.1px !important;
  }
  .page-template-memorialdiamond2026 p {
    font-size: 16px !important;
    line-height: 1.65 !important;
  }
    .page-template-technology2026  .stage-grid { grid-template-columns: 1fr;
    gap: 14px;}
	  .stage-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
 .newcssmobb .step-media{margin-top: -45px;
  margin-bottom: -45px;}
      .gj-desktop-grid{ display:none; }
      .gj-mobile-grid{ display:block; }
 
      #guided-journey .gj-grid > .gj-card:nth-child(-n+3){
        min-height: 140px;
        display: flex;
        flex-direction: column;
        justify-content: center;
      }
      #guided-journey .gj-grid > .gj-card:nth-child(-n+3) .gj-label{ margin-bottom: 6px; }
      #guided-journey .gj-grid > .gj-card:nth-child(-n+3) .gj-h{ margin-bottom: 8px; }
      #guided-journey .gj-grid > .gj-card:nth-child(-n+3) .gj-p{
        margin-top: 0;
        font-size: 12.5px;
        line-height: 1.5;
        color: rgba(27,43,40,0.48);
      }
   .sd-timeline{ margin-top: 34px; }
      .sd-timeline-row{ gap: 14px; }

      .sd-timeline-row::before{
        top: 60px;
        left: 16.66%;
        right: 16.66%;
      }

      .sd-dot{
        top: 55px;
        width: 12px;
        height: 12px;
        box-shadow: 0 0 0 5px var(--st-cream);
      }

      .sd-timeline-label{
        font-size: 10px;
        letter-spacing: .14em;
        margin-bottom: 24px;
      }

      .sd-timeline-sub{ font-size: 15px; }
      .sd-timeline-range{ font-size: 18px; }

      .sd-timeline-sub,
      .sd-timeline-range{ margin-top: 50px; }

      .sd-timeline-item{ padding-bottom: 50px; }
	   h3.font-serif {
    font-size: 24px !important;
    line-height: 1.2 !important;
  }
  .hero-context{
    font-size: 10px;
    letter-spacing: 0.14em;
    color: rgba(13,84,75,0.28);
    margin-bottom: 22px;
  }

    .prose img:not(.kit-img):not(.final-cta-img),
    .featured,
    .featured img,
    .inline-media,
    .inline-media img{
      border-radius: 14px !important;
    }
   .ops-card {
border-radius:20px;
}
 .mobile-tight {
padding-top:48px !important;
padding-bottom:48px !important;
}
 .mobile-tight-lg {
padding-top:56px !important;
padding-bottom:56px !important;
}
 
 .page-template-home2026 p,  .page-template-home2026 li,   .page-template-home2026 .text-sm {
 font-size: 16px !important;
 line-height: 1.6 !important;
}
.pricingtopo .mb-32 {
  margin-bottom: 6rem;
}.pricingtopo .mb-10 , .pricingtopo .mb-8{
  margin-bottom: 1.5rem;
}.pricingtopo .lg\:col-span-5.relativerelative {
  margin-top: -20px;
}
 .page-template-home2026 .text-xs {
 font-size: 13px !important;
} .faq-item summary {
padding:16px 14px;
}
 .faq-item summary h3 {
font-size:16px;
font-weight:500;
}
 .faq-answer {
font-size:16px;
line-height:1.7;
} .text-\[10px\] {
 font-size: 10px;
 letter-spacing: 0.1px !important;
}
 #hero.min-h-screen {
 min-height:auto
}
 .faq-answer {
font-size: 16px;
line-height: 1.7;
}  #final-cta .final-media-wrap{
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  #final-cta .final-media{
    height: 260px;  
  }
    .featured img,
    .inline-media img,
    .prose img:not(.kit-img):not(.final-cta-img){
      width: 100%;
      height: auto;
      aspect-ratio: 4 / 3 !important;
      object-fit: cover;
      object-position: center;
      max-height: 60vh;
    }
  .sd-img{ border-radius: 22px; }
  .kit-card{
    margin: 28px 0 22px;
  }
  .step-media{ height:360px; }
      .step-media-video{ height:420px; }

      #step-1 .sd-img.step-media,
      #step-2 .sd-img.step-media,
      #step-4 .sd-img.step-media,
      #step-5 .sd-img.step-media,
      #step-3 .sd-img.step-media-video{
        max-width:520px;
        margin-left:auto;
        margin-right:auto;
      }

      .gj-grid{
        grid-template-columns:1fr;
        gap:14px;
      }

      .gj-card{
        padding:20px 18px;
        border-radius:22px;
        min-height:0;
      }

      .gj-num{
        font-size:110px;
        top:10px;
        right:10px;
        opacity:0.5;
      }

      .gj-h{
        font-size:24px;
      }

      .gj-p{
        font-size:13px;
        line-height:1.55;
        color:rgba(27,43,40,0.52);
        max-width:30ch;
      }

      .gj-span-2{
        grid-column:auto;
      }
       
  .kit-card-inner{
    padding: 18px;
    gap: 14px;
  }
    .final-cta-image{ max-width:100%; }
    .final-cta-image > div{
      box-shadow:
        0 14px 30px -20px rgba(13, 84, 75, 0.14),
        0 4px 10px -8px rgba(13, 84, 75, 0.06);
    }
    .final-cta-img{ max-height:210px; }
    #final-cta{ padding-top: 56px; padding-bottom: 56px; }
footer.footerstyl2 {
  padding-top: 4rem;
}

 h1 { font-size: 48px !important;line-height:50px }
      .calculator-frame { border-radius: 32px; }
      .calc-display-area { padding: 32px; }
      .editorial-card{ padding:24px; }
      .info-tile{ padding:24px; }
      .note-card{ padding:24px; }
	  .gj-wrap {
  padding: 0;
}
	
	 .single-rings h1 { font-size: 48px !important;line-height:50px }
      
	
	  
#final-cta.blog .hidden {
  display: none;
}
  .desktop-items{display:none!important;}
    .chips-row{display:none!important;}
    .mobile-groups{display:block!important;}
    .reassurance-line{display:block;}
    .group-link{
      display:inline-flex;
      align-items:center;
      min-height:44px;
      padding:10px 0;
    }
    .hero-primary{display:none!important;}

    #rings .mobile-groups .style-group:nth-of-type(n+2){ display:none !important; }
    #earrings .mobile-groups .style-group:nth-of-type(n+2){ display:none !important; }
    #bracelets .mobile-groups .style-group:nth-of-type(1){ display:none !important; }
	
	 .style-group,
  .sd-surface,
  .gateway-card,
  .sd-tile,
  .faq-item{
    border: none !important;
    box-shadow: 0 10px 30px -24px rgba(13,84,75,0.18) !important;
  }

   .style-group .group-img{
    border: none !important;
    background: rgba(255,255,255,0.85);  
  }
  
  
.spac96px{margin-bottom:96px;}
.mobs96 {
padding-bottom:96px;
padding-top:96px
}
.mobs-b96 {
padding-bottom:96px;
}
.faq-item summary {
border:0
}
nav .tracking-widest {
 letter-spacing: 0.2px;
padding-left:20px;
padding-right:20px;
}
.gap-10 {
 gap: 0.85rem;
}
.controls-area {
 padding: 9px;
}
.py-32 {
 padding-top: 4rem;
 padding-bottom: 4rem;
}
 .hidden-ds {
display:block !important;
text-align:center;
margin-top: 10px;
}
footer.pb-12 {
 padding-bottom: 7rem;
}
 .builder-box {
 flex-direction: column;
}
 .preview-area,  .controls-area {
 width: 100%;
}
 .btn-primary.px-10.h-12.rounded-full.font-bold.uppercase.tracking-widest.text-xs.transition-colors.shadow-lg {
max-width:100%
}

  

  
      .stage-grid{ grid-template-columns: 1fr; gap: 14px; }
    
      .sd-img{ border-radius: 22px; }
    
    #hero .hero-lede{ margin-top:20px; }
  .post-title{ font-size:23px; }  .posts-grid{ padding-top:28px; } 

  .sd-hero-title .sd-hero-l1{ font-size: 42px; }
  .sd-hero-title .sd-hero-l2{ font-size: 38px; }
 
  #process .sd-step{ gap: 14px; }             
  #process .sd-step-num{
    font-size: 44px;                          
    min-width: 36px;                           
    text-align: left;
    padding-top: 0;
  }
 #design .design-reassure{
    font-size: 13px !important;
    line-height: 1.55 !important;
  }

  #design .design-note{
    margin-top: 6px !important;
    font-size: 11.5px !important;   
    line-height: 1.45 !important;
    letter-spacing: 0.01em;         
    color: rgba(13,84,75,0.34) !important;
  } .who-eyebrow{
    font-size: 11px;
    letter-spacing: 0.14em;
    color: rgba(13,84,75,0.55);
    margin-bottom: 28px; 
  } .blog-wrap .blog-cats{ margin-bottom:26px; }
  #design .design-reassure{
    font-size: 13px;
    padding-left: 0;
  }
  .hero-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.35);
  border: none;
  box-shadow: none;
  color: rgba(13, 84, 75, 0.78);
  font-size: 9px;
  letter-spacing: .038em;
  font-weight: 500;
}
.page-template-memorialdiamond2026 .mt-8.flex.flex-wrap.gap-2.justify-left.pt-6 {
  padding-top: 5px;
} #hero h1.text-6xl {
  line-height: 50px;
}
}
@media (max-width: 640px){

  .sd-field-grid{ grid-template-columns: 1fr; }
  .sd-modal-card{
    border-radius: 26px;
    padding: 18px;
  }
  .sd-modal-title{ font-size: 30px; }
}   
   

/* ============================================================
   SITE-WIDE RADIUS + BUTTON SCALE
   Added to replace ad-hoc values (8/12/16/24/26/28/32/36px radii and
   48/51/56/58/59px buttons) with one system:
     photographs ............ 0      (treated like gallery prints)
     portrait/story cards ... 16px   (faces stay a little softer)
     UI containers .......... 24px   (cards, calculator, FAQ, frames)
     controls in containers . 12px   (swatches, size buttons)
     buttons ................ pill, 48px mobile / 56px desktop
   Placed last so it wins on order; ID-prefixed where the theme uses IDs.
   ============================================================ */

/* --- photographs: square --- */
img.rounded-lg, img.rounded-xl, img.rounded-2xl, img.rounded-3xl,
[class*="aspect-"].rounded-lg, [class*="aspect-"].rounded-xl,
[class*="aspect-"].rounded-2xl, [class*="aspect-"].rounded-3xl { border-radius: 0; }

/* theme photo wrappers using custom classes rather than Tailwind */
.sd-img, .sd-img-luxury, .video-hover, .final-cta-inner, .final-cta-inner img { border-radius: 0; }

/* --- portrait / story cards keep a soft corner --- */
#stories [class*="aspect-"] { border-radius: 16px; }

/* --- UI containers --- */
.surface-card, .modern-faq, .design-frame,
#home-calc .calc-frame, .calc-frame { border-radius: 24px; }

/* --- controls inside containers --- */
.color-btn, .sd-color-pill, #home-calc .color-btn { border-radius: 12px; }
#hc-sizes button { border-radius: 12px !important; }

/* --- button scale (nav + footer keep their own sizing) --- */
/* NB: no display property here — setting one would override Tailwind's
   .hidden on responsive/mobile-only buttons and reveal them. */
section .btn-primary, section .btn-soft,
main .btn-primary, main .btn-soft {
  height: 56px; min-height: 56px;
  padding-top: 0; padding-bottom: 0;
  align-items: center; justify-content: center;
  line-height: 1;
  /* long labels (e.g. "…and a Deposit") were wrapping to two cramped lines:
     keep one line and trim the generous 40px side padding so it still fits
     inside narrow flex rows and on phones. */
  white-space: nowrap;
  padding-left: 2rem; padding-right: 2rem;
}
@media (max-width: 1023.98px) {
  section .btn-primary, section .btn-soft,
  main .btn-primary, main .btn-soft { height: 48px; min-height: 48px; }
}


/* --- accessible gold for small text ------------------------------------
   #C9A45C on cream is only 2.2:1 — below the 4.5 minimum for text under
   18px. Small gold links use a deeper tone (4.71:1) while the original
   gold stays for large decorative type (italic headline, stars). */
:root{ --st-gold-ink:#8A6A2B; }
a[href="#home-calc"], .sd-hero-price, .sd-mobile-proof a[href="#home-calc"] { color: var(--st-gold-ink); }


/* --- pricing calculator density -----------------------------------------
   The section ran 932px on desktop (1.3 screens) while the left column held
   only 297px of content, leaving ~635px of empty space beside a tall card.
   Centre the left column, tighten the card, and cut the outer padding. */
#home-calc{ padding-top:72px; padding-bottom:80px; }
#home-calc > .grid, #home-calc .grid:first-child{ align-items:center; }
#home-calc .calc-head{ padding:28px 28px 24px; }
#home-calc .calc-body{ padding:22px 24px 26px; }
#home-calc #hc-sizeCt, #home-calc #hc-priceValue{ font-size:34px; }
#home-calc .color-btn{ padding-top:14px; padding-bottom:14px; }
@media (max-width:1023.98px){
  #home-calc{ padding-top:52px; padding-bottom:56px; }
  #home-calc .calc-head{ padding:22px 20px 20px; }
  #home-calc .calc-body{ padding:20px 18px 22px; }
  #home-calc #hc-sizeCt, #home-calc #hc-priceValue{ font-size:27px; }
}


/* --- How it works hero ---------------------------------------------------
   The 96px headline wrapped to four lines (384px), pushing the CTAs 173px
   below the fold. Bring the display size in line with the homepage (68px),
   trim the top padding, and put the image on the left like the homepage. */
.page-template-howitworks2026 section:first-of-type{ padding-top:96px; }
.page-template-howitworks2026 section:first-of-type h1{ font-size:64px; line-height:1.03; margin-bottom:1.25rem; }
.page-template-howitworks2026 section:first-of-type p{ margin-bottom:0.9rem; }
@media (min-width:1024px){
  .page-template-howitworks2026 section:first-of-type .grid > :first-child{ order:2; }
  .page-template-howitworks2026 section:first-of-type .grid > :last-child{ order:1; }
}
@media (max-width:767px){
  .page-template-howitworks2026 section:first-of-type{ padding-top:72px; }
  .page-template-howitworks2026 section:first-of-type h1{ font-size:40px !important; }
}
/* SD-HERO-SQUARE: hero photo wrapper uses an arbitrary rounded-[40px], which
   the site-wide square-photo rule (xl/2xl/3xl only) did not catch */
.page-template-howitworks2026 section:first-of-type .rounded-\[40px\]{ border-radius:0; }


/* --- Pricing hero (same treatment as How it works) -----------------------
   96px headline ran to three lines and pushed the CTAs to the fold line.
   Match the homepage display size, put the image on the left, square the
   photo (its wrapper uses an arbitrary rounded-[40px]). */
.page-template-pricing_v2_temp section:first-of-type h1{ font-size:64px; line-height:1.03; margin-bottom:1.25rem; }
.page-template-pricing_v2_temp section:first-of-type .rounded-\[40px\]{ border-radius:0; }
@media (min-width:1024px){
  .page-template-pricing_v2_temp section:first-of-type .grid > :first-child{ order:2; }
  .page-template-pricing_v2_temp section:first-of-type .grid > :last-child{ order:1; }
}
@media (max-width:767px){
  .page-template-pricing_v2_temp section:first-of-type h1{ font-size:40px !important; }
}


/* --- Memorial diamonds + Pet memorial heroes -----------------------------
   Same treatment as How it works / Pricing: 64px display headline, image on
   the left, square photo. Note the pet hero h1 carried no size class at all
   and was falling back to 32px — half the size of every other hero. */
.page-template-memorialdiamond2026 section:first-of-type h1,
.page-template-petmemorial2026 section:first-of-type h1{ font-size:64px; line-height:1.03; margin-bottom:1.25rem; }
.page-template-memorialdiamond2026 section:first-of-type .rounded-\[40px\],
.page-template-petmemorial2026 section:first-of-type .rounded-\[40px\]{ border-radius:0; }
@media (min-width:1024px){
  .page-template-memorialdiamond2026 section:first-of-type .grid > :first-child,
  .page-template-petmemorial2026 section:first-of-type .grid > :first-child{ order:2; }
  .page-template-memorialdiamond2026 section:first-of-type .grid > :last-child,
  .page-template-petmemorial2026 section:first-of-type .grid > :last-child{ order:1; }
}
@media (max-width:767px){
  .page-template-memorialdiamond2026 section:first-of-type h1,
  .page-template-petmemorial2026 section:first-of-type h1{ font-size:40px !important; }
}

/* memorial-diamonds hero: a theme rule collapsed the column gap to 36px,
   noticeably tighter than the 64px used on the other hero pages */
@media (min-width:1024px){
  .page-template-memorialdiamond2026 section:first-of-type .grid{ column-gap:64px !important; }
}

/* hero microcopy: memorial-diamonds used .hero-reassurance at 11px/2.64px
   while How it works and Pricing use .text-micro at 10px/2px. Match them. */
.page-template-memorialdiamond2026 section:first-of-type .hero-reassurance{
  display:block; font-size:10px; letter-spacing:2px;
}


/* --- Hero body copy: one style across all heroes -------------------------
   Four of five heroes already used 18px/300; memorial-diamonds ran 16px/400
   and how-it-works used 68% opacity. Standardise on the Pricing setting and
   cap the measure at 576px (how-it-works was ~95 characters per line). */
@media (min-width:1024px){
  .page-template-homeversion2-2026 #hero > .order-1 > div > p:not(.hero-context),
  .page-template-howitworks2026 section:first-of-type h1 ~ p,
  .page-template-pricing_v2_temp section:first-of-type h1 ~ p,
  .page-template-memorialdiamond2026 section:first-of-type h1 ~ p,
  .page-template-petmemorial2026 section:first-of-type h1 ~ p{
    font-size:18px; line-height:1.63; font-weight:300;
    color:rgb(24,38,36); max-width:576px;
  }
}

/* the two heroes that wrap their copy in .hero-subline / .hero-lede rather
   than placing paragraphs as h1 siblings */
@media (min-width:1024px){
  .page-template-howitworks2026 section:first-of-type .hero-subline,
  .page-template-howitworks2026 section:first-of-type .hero-subline p,
  .page-template-memorialdiamond2026 section:first-of-type .hero-lede,
  .page-template-memorialdiamond2026 section:first-of-type .hero-lede p{
    font-size:18px !important; line-height:1.63; font-weight:300;
    color:rgb(24,38,36); max-width:576px;
  }
}


/* --- Hero top spacing: one value across the four inner pages -------------
   Gap from the nav pill to the first hero element measured 64 / 73 / 89 /
   153px — an 89px spread, visible when moving between pages. Normalise to
   96px. The homepage is excluded: its hero is full-bleed by design. */
@media (min-width:1024px){
  .page-template-howitworks2026 section:first-of-type{ padding-top:128px; }
  .page-template-petmemorial2026 section:first-of-type{ padding-top:23px; }
  .page-template-memorialdiamond2026 section:first-of-type{ padding-top:7px; }
  .page-template-pricing_v2_temp section:first-of-type{ padding-top:0; margin-top:-57px; }
}


/* --- Mobile hero: alignment + top spacing --------------------------------
   Gap below the nav measured 31 / 71 / 71 / 103px, and memorial-diamonds was
   the only left-aligned hero while the others centred. Left matches desktop
   and the homepage, and reads better for 3-4 line paragraphs on a phone. */
@media (max-width:1023.98px){
  .page-template-howitworks2026 section:first-of-type .grid > *,
  .page-template-howitworks2026 section:first-of-type .grid > * > *,
  .page-template-pricing_v2_temp section:first-of-type .grid > *,
  .page-template-pricing_v2_temp section:first-of-type .grid > * > *,
  .page-template-memorialdiamond2026 section:first-of-type .grid > *,
  .page-template-memorialdiamond2026 section:first-of-type .grid > * > *,
  .page-template-petmemorial2026 section:first-of-type .grid > *,
  .page-template-petmemorial2026 section:first-of-type .grid > * > *{
    text-align:left;
  }
  /* calibrated: three of these sit inside a wrapper with 112px top padding,
     so the section needs a negative margin rather than more padding */
  .page-template-howitworks2026 section:first-of-type{ padding-top:105px; }
  .page-template-pricing_v2_temp section:first-of-type{ padding-top:0; margin-top:-7px; }
  .page-template-memorialdiamond2026 section:first-of-type{ padding-top:0; margin-top:-39px; }
  .page-template-petmemorial2026 section:first-of-type{ padding-top:0; margin-top:-7px; }
}


/* --- Mobile hero body copy ----------------------------------------------
   Sizes were split 16px (process, memorial) vs 18px (pricing, pet). 18px on
   a 390px screen gives ~38 characters per line, which fragments sentences;
   16px lands nearer 45. Weight stays 400 on mobile (desktop is 300) because
   lighter weights need size to hold up at small sizes. */
@media (max-width:767px){
  .page-template-howitworks2026 section:first-of-type h1 ~ p,
  .page-template-howitworks2026 section:first-of-type .hero-subline p,
  .page-template-howitworks2026 section:first-of-type .hero-lede p,
  .page-template-howitworks2026 section:first-of-type .hero-subline,
  .page-template-howitworks2026 section:first-of-type .hero-lede,
  .page-template-pricing_v2_temp section:first-of-type h1 ~ p,
  .page-template-pricing_v2_temp section:first-of-type .hero-subline p,
  .page-template-pricing_v2_temp section:first-of-type .hero-lede p,
  .page-template-pricing_v2_temp section:first-of-type .hero-subline,
  .page-template-pricing_v2_temp section:first-of-type .hero-lede,
  .page-template-memorialdiamond2026 section:first-of-type h1 ~ p,
  .page-template-memorialdiamond2026 section:first-of-type .hero-subline p,
  .page-template-memorialdiamond2026 section:first-of-type .hero-lede p,
  .page-template-memorialdiamond2026 section:first-of-type .hero-subline,
  .page-template-memorialdiamond2026 section:first-of-type .hero-lede,
  .page-template-petmemorial2026 section:first-of-type h1 ~ p,
  .page-template-petmemorial2026 section:first-of-type .hero-subline p,
  .page-template-petmemorial2026 section:first-of-type .hero-lede p,
  .page-template-petmemorial2026 section:first-of-type .hero-subline,
  .page-template-petmemorial2026 section:first-of-type .hero-lede{
    font-size:16px !important; line-height:1.65; font-weight:400;
  }
}
/* pet page wraps its copy in a .text-lg div rather than .hero-subline/.hero-lede */
@media (max-width:767px){
  .page-template-petmemorial2026 section:first-of-type .text-lg,
  .page-template-petmemorial2026 section:first-of-type .text-lg p{
    font-size:16px !important; line-height:1.65; font-weight:400;
  }
}


/* --- Mobile hero body: colour, rhythm and measure ------------------------
   Size/weight/line-height were already unified, but three things still
   differed and are just as visible: text colour (68% / 82% / solid),
   paragraph gap (0 / 14.4 / 20 / 40px) and text width (327 vs 342px).
   Settle on solid navy, a 20px gap and one horizontal padding. */
@media (max-width:767px){
  .page-template-howitworks2026 section:first-of-type h1 ~ p,
  .page-template-howitworks2026 section:first-of-type .hero-subline p,
  .page-template-howitworks2026 section:first-of-type .hero-lede p,
  .page-template-howitworks2026 section:first-of-type .text-lg p,
  .page-template-pricing_v2_temp section:first-of-type h1 ~ p,
  .page-template-pricing_v2_temp section:first-of-type .hero-subline p,
  .page-template-pricing_v2_temp section:first-of-type .hero-lede p,
  .page-template-pricing_v2_temp section:first-of-type .text-lg p,
  .page-template-memorialdiamond2026 section:first-of-type h1 ~ p,
  .page-template-memorialdiamond2026 section:first-of-type .hero-subline p,
  .page-template-memorialdiamond2026 section:first-of-type .hero-lede p,
  .page-template-memorialdiamond2026 section:first-of-type .text-lg p,
  .page-template-petmemorial2026 section:first-of-type h1 ~ p,
  .page-template-petmemorial2026 section:first-of-type .hero-subline p,
  .page-template-petmemorial2026 section:first-of-type .hero-lede p,
  .page-template-petmemorial2026 section:first-of-type .text-lg p{
    color:rgb(24,38,36) !important;
    margin-bottom:20px;
  }
  .page-template-howitworks2026 section:first-of-type .grid > *,
  .page-template-pricing_v2_temp section:first-of-type .grid > *,
  .page-template-petmemorial2026 section:first-of-type .grid > *{
    padding-left:24px; padding-right:24px;
  }
  /* memorial-diamonds already carries its own 24px column padding */
  .page-template-memorialdiamond2026 section:first-of-type .grid > *{
    padding-left:0; padding-right:0;
  }
  .page-template-howitworks2026 section:first-of-type,
  .page-template-pricing_v2_temp section:first-of-type,
  .page-template-memorialdiamond2026 section:first-of-type,
  .page-template-petmemorial2026 section:first-of-type{
    padding-left:0; padding-right:0;
  }
}




/* pricing hero headline: its italic line was weight 500 in navy, while the
   other heroes use weight 300 in gold - so it read as bold emphasis */
.page-template-pricing_v2_temp section:first-of-type h1 i,
.page-template-pricing_v2_temp section:first-of-type h1 em{
  font-weight:300; color:#C9A45C;
}

/* pet page: the pendant photo is rounded by a max-w-[520px] rounded-3xl
   wrapper, which the site-wide square-photo rules did not reach. The
   video cards keep their radius - they are cards, not bare photographs. */
.page-template-petmemorial2026 .max-w-\[520px\].rounded-3xl{ border-radius:0; }




/* --- Jewellery pages + footer form ---------------------------------------
   The four Explore pages (jewelry2026 / rings2026) still used 18/22/28/40px
   photo corners. Square them like the rest of the site. The footer
   newsletter input + button were the last 8px controls; make them pills. */
.page-template-jewelry2026 .hero-media-wrap,
.page-template-rings2026 .hero-media-wrap,
.page-template-jewelry2026 .sd-tile-image,
.page-template-rings2026 .sd-tile-image,
.page-template-jewelry2026 .process-ring-media,
.page-template-rings2026 .process-ring-media,
.page-template-jewelry2026 [class*="rounded-[28px]"],
.page-template-rings2026 [class*="rounded-[28px]"]{ border-radius:0 !important; }
/* jewelry hero uses rounded-[2.5rem] */
.page-template-jewelry2026 [class*="rounded-[2.5rem]"],
.page-template-rings2026 [class*="rounded-[2.5rem]"]{ border-radius:0 !important; }

footer form .btn-primary,
footer form input[type="email"]{ border-radius:999px; height:48px; min-height:48px; }
footer form input[type="email"]{ padding-left:20px; padding-right:20px; }


/* --- Memorial Jewelry hero -----------------------------------------------
   Last hero still running copy-left / photo-right, centred on mobile and a
   68px headline. Brings it onto the How It Works / Pricing / Memorial
   Diamonds pattern: photo left on desktop, headline above photo on mobile,
   copy left-aligned throughout, 64px headline, 64px column gap. */

/* Desktop: photo left, copy right, 50/50 */
@media (min-width:1024px){
  .page-template-jewelry2026 section:first-of-type .grid.items-center > .lg\:order-1{ order:2; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center > .lg\:order-2{ order:1; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center{ column-gap:64px; }
  .page-template-jewelry2026 section:first-of-type h1{ font-size:64px; line-height:1.03; }
}

/* 1024-1279: the two-column hero leaves ~449px of copy, too narrow for the
   button and the secondary link side by side - let the row wrap. */
@media (min-width:1024px) and (max-width:1279.98px){
  .page-template-jewelry2026 section:first-of-type .grid.items-center .mt-9{ flex-wrap:wrap; row-gap:16px; }
}

/* Mobile: eyebrow-less pattern B - headline, photo, one line, CTA.
   display:contents flattens the copy column so the h1 can sit above the
   photo without reordering the source HTML. */
@media (max-width:1023.98px){
  .page-template-jewelry2026 section:first-of-type{ padding-top:25px; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center > .lg\:order-1{ display:contents; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center h1{ order:1; font-size:40px !important; line-height:50px !important; text-align:left; margin:0; max-width:none; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center > .lg\:order-2{ order:2; margin:20px 0 0 !important; width:100%; align-self:stretch; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center > .lg\:order-2 > div{ max-width:none; width:100%; margin:0; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center h1 ~ p{ order:3; text-align:left; margin:20px 0 0; font-size:16px; line-height:1.55; max-width:none; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center .permission-line{ order:4; margin:10px 0 0; text-align:left; }
  .page-template-jewelry2026 section:first-of-type .grid.items-center .mt-9{ order:5; margin-top:20px; align-items:flex-start; }
}

/* phone only: 280px matches the memorial-diamonds hero photo; tablets keep
   the taller 384px crop so 720px-wide images do not read as letterboxed. */
@media (max-width:767.98px){
  .page-template-jewelry2026 section:first-of-type .grid.items-center img{ height:280px !important; }
}


/* --- Jewellery category cards (bento grid) -------------------------------
   The four cards had four label systems: 36/30/24/20px type, bare text vs a
   white pill vs centred-on-a-flat-tile, and a Pendants label that rendered
   dark green on a scrim built for white text. Markup is now uniform; this
   declares the scrim explicitly because the Tailwind arbitrary-opacity
   utilities (from-black/60, via-black/15) are not all in the compiled
   stylesheet, so one card rendered without a gradient. */
.page-template-jewelry2026 a.group > div[class*="bg-gradient-to-t"]{
  background-image:linear-gradient(to top, rgba(0,0,0,.70) 0%, rgba(0,0,0,.50) 9%, rgba(0,0,0,.20) 24%, rgba(0,0,0,0) 42%) !important;
  opacity:1 !important;
}
.page-template-jewelry2026 a.group:hover > div[class*="bg-gradient-to-t"]{
  background-image:linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.58) 9%, rgba(0,0,0,.26) 24%, rgba(0,0,0,0) 42%) !important;
}
/* Some category photos are near-white at the base (the bracelet especially),
   so legibility comes from the label rather than from darkening the image. */
.page-template-jewelry2026 a.group > div[class*="bottom-8"] h3{
  color:#fff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.55), 0 3px 12px rgba(0,0,0,.45), 0 0 28px rgba(0,0,0,.30);
}

/* Bento gutters: 24px read as four separate boxes rather than one grid. */
@media (min-width:768px){
  .page-template-jewelry2026 .grid.md\:grid-cols-12.gap-6,
  .page-template-jewelry2026 .grid.grid-rows-\[240px_236px\],
  .page-template-jewelry2026 .grid.grid-cols-2.gap-6{ gap:14px !important; }
  .page-template-jewelry2026 .grid.grid-rows-\[240px_236px\]{ grid-template-rows:243px 243px !important; }
}

/* Final CTA on the jewellery page: photo left, copy right, so the closing
   section mirrors the hero. Desktop only - on mobile the copy should still
   lead, since the reader arrives at this section already scrolling. */
@media (min-width:1024px){
  .page-template-jewelry2026 #final-cta .grid > .order-1{ order:2; }
  .page-template-jewelry2026 #final-cta .grid > .order-2{ order:1; }
}

/* Final CTA, mobile: this was the only closing section on the site running
   text-first / image-last, centred, at 30px+14px. Memorial Diamonds and How
   It Works both lead with the photo, left-aligned, at 48px+16px. Bring this
   one into line: the Welcome Kit shot is the argument for ordering one, so
   it belongs above the ask, not below it. */
@media (max-width:1023.98px){
  /* the grid carries items-center, which centres the copy column against a
     left-aligned photo once it becomes a vertical stack - so reset it. */
  .page-template-jewelry2026 #final-cta .grid{ display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
  .page-template-jewelry2026 #final-cta .grid > .order-1{ width:100%; }
  /* the copy block carries mx-auto, which re-centres it inside the column */
  .page-template-jewelry2026 #final-cta .grid > .order-1 > div{ margin-left:0 !important; margin-right:auto !important; }
  .page-template-jewelry2026 #final-cta .grid > .order-1{ order:2; }
  .page-template-jewelry2026 #final-cta .grid > .order-2{ order:1; }
  .page-template-jewelry2026 #final-cta .text-center{ text-align:left !important; }
  .page-template-jewelry2026 #final-cta h2{ font-size:40px !important; line-height:44px !important; margin-bottom:16px; }
  .page-template-jewelry2026 #final-cta p:not(.text-xs){ font-size:16px !important; line-height:26px !important; text-align:left !important; }
  /* image fills its column at every width, like the copy does */
  .page-template-jewelry2026 #final-cta .grid > .order-2,
  .page-template-jewelry2026 #final-cta .grid > .order-2 > div{ width:100%; max-width:none; margin-left:0; margin-right:0; }
  /* button row: left, and no longer stretched edge to edge */
  .page-template-jewelry2026 #final-cta .btn-primary{ width:auto; align-self:flex-start; }
  .page-template-jewelry2026 #final-cta [class*="justify-center"]{ justify-content:flex-start !important; align-items:flex-start !important; gap:18px !important; }
  /* reassurance sits directly under the button, where it lowers the barrier */
  .page-template-jewelry2026 #final-cta .text-xs{ margin-top:16px; text-align:left !important; font-size:13px !important; line-height:20px !important; }
}

/* Between 640 and 1023 the column is wide enough that the square photo would
   run 720x720 and push the headline off screen. Cap it and keep it left,
   flush with the copy below. */
@media (min-width:640px) and (max-width:1023.98px){
  .page-template-jewelry2026 #final-cta .grid > .order-2 > div{ max-width:420px !important; margin-left:0 !important; margin-right:auto !important; }
}


/* --- Jewellery page consistency pass -------------------------------------
   Audit found: mobile headings alternating centre/left down the page, body
   copy at two sizes and five line-heights, one section heading 16px larger
   than the rest, and two sections off the 96/64 padding rhythm. */

/* one scale for every section heading */
.page-template-jewelry2026 main section h2{ font-size:38px !important; line-height:1.16 !important; }
@media (max-width:1023.98px){
  .page-template-jewelry2026 main section h2{ text-align:left !important; }
  .page-template-jewelry2026 main section h2 + p,
  .page-template-jewelry2026 main section [class*="text-center"]{ text-align:left !important; }
}
@media (max-width:767.98px){
  .page-template-jewelry2026 main section h2{ font-size:30px !important; line-height:1.22 !important; }
}

/* one body size and one leading; small utility copy keeps its own scale */
.page-template-jewelry2026 main section p:not(.text-xs):not(.permission-line):not(.tile-title){
  font-size:16px; line-height:26px;
}

/* vertical rhythm: 96 desktop, 64 mobile, everywhere */
.page-template-jewelry2026 main section{ padding-top:96px; padding-bottom:96px; }
@media (max-width:1023.98px){
  .page-template-jewelry2026 main section{ padding-top:64px; padding-bottom:64px; }
}

/* the theme sets #final-cta padding by id, which outranked the rhythm rule;
   put the final CTA sits on the same rhythm as every other section. */
.page-template-jewelry2026 main section#final-cta{ padding-top:96px; padding-bottom:96px; }
@media (max-width:1023.98px){
  .page-template-jewelry2026 main section#final-cta{ padding-top:64px; padding-bottom:64px; }
}
/* one stray paragraph was still on 24.8px leading */
.page-template-jewelry2026 main section p:not(.text-xs):not(.permission-line):not(.tile-title){ line-height:26px !important; }


/* === Rings / Pendants / Earrings (shared rings2026 template) =============
   These three pages were the last on the old pattern: copy-left hero, mobile
   headline pushed to 468px behind the photo, four heading sizes that inverted
   on mobile, body copy at 14/16/18px across five leadings, and padding of
   96/80/56/64. Brought onto the same system as the jewellery page. */

/* --- HERO: photo left, copy right on desktop --- */
@media (min-width:1024px){
.page-template-rings2026 section#hero .grid.items-center > .lg\:order-1{ order:2; }
.page-template-rings2026 section#hero .grid.items-center > .lg\:order-2{ order:1; }
.page-template-rings2026 section#hero .grid.items-center{ column-gap:64px; }
.page-template-rings2026 section#hero h1{ font-size:64px !important; line-height:1.03 !important; }
}
@media (min-width:1024px) and (max-width:1279.98px){
.page-template-rings2026 section#hero .mt-9{ flex-wrap:wrap; row-gap:16px; }
}

/* --- HERO mobile: headline, photo, copy, CTA --- */
@media (max-width:1023.98px){
.page-template-rings2026 section#hero{ padding-top:25px !important; }
.page-template-rings2026 section#hero .grid.items-center{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.page-template-rings2026 section#hero .grid.items-center > .lg\:order-1{ display:contents; }
.page-template-rings2026 section#hero .grid.items-center h1{ order:1; font-size:40px !important; line-height:50px !important; text-align:left !important; margin:0 !important; max-width:none; }
.page-template-rings2026 section#hero .grid.items-center > .lg\:order-2{ order:2; margin:20px 0 0 !important; width:100%; align-self:stretch; }
.page-template-rings2026 section#hero .grid.items-center > .lg\:order-2 > div{ max-width:none !important; width:100%; margin:0 !important; }
.page-template-rings2026 section#hero .grid.items-center h1 ~ *{ order:3; width:100%; text-align:left !important; margin-left:0 !important; margin-right:auto !important; }
.page-template-rings2026 section#hero .grid.items-center .mt-9{ align-items:flex-start !important; margin-top:22px !important; }
}
@media (max-width:767.98px){
.page-template-rings2026 section#hero .grid.items-center img{ height:280px !important; }
}

/* --- rings2026 consistency pass: headings, body, rhythm, final CTA --- */
.page-template-rings2026 main section h2{ font-size:38px !important; line-height:1.16 !important; }
@media (max-width:1023.98px){
.page-template-rings2026 main section h2{ text-align:left !important; }
.page-template-rings2026 main section [class*="text-center"]{ text-align:left !important; }
}
@media (max-width:767.98px){
.page-template-rings2026 main section h2{ font-size:30px !important; line-height:1.22 !important; }
}
.page-template-rings2026 main section p:not(.text-xs):not(.permission-line):not(.tile-title){ font-size:16px; line-height:26px !important; }
.page-template-rings2026 main section{ padding-top:96px; padding-bottom:96px; }
.page-template-rings2026 main section#final-cta{ padding-top:96px; padding-bottom:96px; }
@media (max-width:1023.98px){
.page-template-rings2026 main section{ padding-top:64px; padding-bottom:64px; }
.page-template-rings2026 main section#final-cta{ padding-top:64px; padding-bottom:64px; }
}

/* final CTA: photo left on desktop; photo first on mobile */
@media (min-width:1024px){
.page-template-rings2026 #final-cta .grid > .order-1{ order:2; }
.page-template-rings2026 #final-cta .grid > .order-2{ order:1; }
}
@media (max-width:1023.98px){
.page-template-rings2026 #final-cta .grid{ display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.page-template-rings2026 #final-cta .grid > .order-1{ order:2; width:100%; }
.page-template-rings2026 #final-cta .grid > .order-1 > div{ margin-left:0 !important; margin-right:auto !important; }
.page-template-rings2026 #final-cta .grid > .order-2{ order:1; width:100%; }
.page-template-rings2026 #final-cta .grid > .order-2 > div{ width:100%; max-width:none; margin-left:0; margin-right:0; }
.page-template-rings2026 #final-cta h2{ font-size:40px !important; line-height:44px !important; margin-bottom:16px; }
.page-template-rings2026 #final-cta .btn-primary{ width:auto; align-self:flex-start; }
.page-template-rings2026 #final-cta [class*="justify-center"]{ justify-content:flex-start !important; align-items:flex-start !important; gap:18px !important; }
.page-template-rings2026 #final-cta .text-xs{ margin-top:16px; text-align:left !important; font-size:13px !important; line-height:20px !important; }
}
@media (min-width:640px) and (max-width:1023.98px){
.page-template-rings2026 #final-cta .grid > .order-2 > div{ max-width:420px !important; margin-left:0 !important; margin-right:auto !important; }
}


/* === FAQ accordion: one component everywhere =============================
   Two separate components were in play: .modern-faq (home, pricing, memorial
   diamonds) and .faq-item (rings, pendants, earrings, jewellery) with a
   different background opacity, corner radius and answer leading. The three
   .modern-faq pages also disagreed with each other on card gap (24/16/12)
   and question size (16/17). One spec for all six. */
details.modern-faq,
details.faq-item{
  background:rgba(255,255,255,.78) !important;
  border-radius:24px !important;
  box-shadow:0 18px 44px -28px rgba(13,84,75,.18) !important;
  margin-bottom:0 !important;
}
details.modern-faq + details.modern-faq,
details.faq-item + details.faq-item{ margin-top:16px !important; }
details.modern-faq > summary,
details.faq-item > summary{ font-size:16px !important; padding:24px !important; }
details.modern-faq > *:not(summary),
details.faq-item > *:not(summary){ font-size:14px !important; line-height:24.5px !important; padding:0 24px 22px !important; }
/* wrappers that space the cards with flex/grid gap rather than margins */
.sd-md-info{ row-gap:16px !important; }


/* === Catalogue pages alignment (/styles/ pages) ==========================
   Three separate templates - ringcatalouge2026, pendants-catalouge-page2026,
   earrings-catalouge-page2026 - identical in structure. They never got the
   site-wide passes: images still rounded 20/28px, hero photo on the right,
   headings 48/52/60px, padding 88/44. Small text (breadcrumb, microline,
   disclaimer, trust line) is deliberate hierarchy and is left alone. */

/* square the photos */
.page-template-ringcatalouge2026 .sd-surface,
.page-template-pendants-catalouge-page2026 .sd-surface,
.page-template-earrings-catalouge-page2026 .sd-surface,
.page-template-ringcatalouge2026 .ring-img,
.page-template-pendants-catalouge-page2026 .ring-img,
.page-template-earrings-catalouge-page2026 .ring-img,
.page-template-ringcatalouge2026 [class*="rounded-["],
.page-template-pendants-catalouge-page2026 [class*="rounded-["],
.page-template-earrings-catalouge-page2026 [class*="rounded-["],
.page-template-ringcatalouge2026 .life-frame,
.page-template-pendants-catalouge-page2026 .life-frame,
.page-template-earrings-catalouge-page2026 .life-frame{ border-radius:0 !important; }

/* hero: photo left on desktop */
@media (min-width:1024px){
.page-template-ringcatalouge2026 #hero .grid > *:first-child,
.page-template-pendants-catalouge-page2026 #hero .grid > *:first-child,
.page-template-earrings-catalouge-page2026 #hero .grid > *:first-child{ order:2; }
.page-template-ringcatalouge2026 #hero .grid > *:last-child,
.page-template-pendants-catalouge-page2026 #hero .grid > *:last-child,
.page-template-earrings-catalouge-page2026 #hero .grid > *:last-child{ order:1; }
.page-template-ringcatalouge2026 #hero h1,
.page-template-pendants-catalouge-page2026 #hero h1,
.page-template-earrings-catalouge-page2026 #hero h1{ font-size:64px !important; line-height:1.03 !important; }
}

/* one heading scale */
.page-template-ringcatalouge2026 section h2,
.page-template-pendants-catalouge-page2026 section h2,
.page-template-earrings-catalouge-page2026 section h2{ font-size:38px !important; line-height:1.16 !important; }
@media (max-width:767.98px){
.page-template-ringcatalouge2026 section h2,
.page-template-pendants-catalouge-page2026 section h2,
.page-template-earrings-catalouge-page2026 section h2{ font-size:30px !important; line-height:1.22 !important; }
.page-template-ringcatalouge2026 #hero h1,
.page-template-pendants-catalouge-page2026 #hero h1,
.page-template-earrings-catalouge-page2026 #hero h1{ font-size:40px !important; line-height:50px !important; }
}
@media (max-width:1023.98px){
.page-template-ringcatalouge2026 section h2,
.page-template-pendants-catalouge-page2026 section h2,
.page-template-earrings-catalouge-page2026 section h2{ text-align:left !important; }
.page-template-ringcatalouge2026 #hero h1,
.page-template-pendants-catalouge-page2026 #hero h1,
.page-template-earrings-catalouge-page2026 #hero h1{ text-align:left !important; }
.page-template-ringcatalouge2026 section [class*="text-center"],
.page-template-pendants-catalouge-page2026 section [class*="text-center"],
.page-template-earrings-catalouge-page2026 section [class*="text-center"]{ text-align:left !important; }
}

/* prose leading: 16px copy ran at both 24px and 28px */
.page-template-ringcatalouge2026 section .sd-reading,
.page-template-pendants-catalouge-page2026 section .sd-reading,
.page-template-earrings-catalouge-page2026 section .sd-reading,
.page-template-ringcatalouge2026 section .sd-reading p,
.page-template-pendants-catalouge-page2026 section .sd-reading p,
.page-template-earrings-catalouge-page2026 section .sd-reading p,
.page-template-ringcatalouge2026 section p:not([class]),
.page-template-pendants-catalouge-page2026 section p:not([class]),
.page-template-earrings-catalouge-page2026 section p:not([class]){ line-height:26px !important; }

/* vertical rhythm */
.page-template-ringcatalouge2026 section,
.page-template-pendants-catalouge-page2026 section,
.page-template-earrings-catalouge-page2026 section{ padding-top:96px !important; padding-bottom:96px !important; }
@media (max-width:1023.98px){
.page-template-ringcatalouge2026 section,
.page-template-pendants-catalouge-page2026 section,
.page-template-earrings-catalouge-page2026 section{ padding-top:64px !important; padding-bottom:64px !important; }
}

/* --- catalogue final CTA + mobile hero ---------------------------------
   Final CTA: photo left / copy right on desktop, photo first on mobile, the
   same order swap serving both. Hero on mobile follows the site pattern:
   breadcrumb, eyebrow, headline, photo, then the rest. */

/* final CTA: one swap covers desktop (left) and mobile (first) */
.page-template-ringcatalouge2026 #final-cta .grid > *:first-child,
.page-template-pendants-catalouge-page2026 #final-cta .grid > *:first-child,
.page-template-earrings-catalouge-page2026 #final-cta .grid > *:first-child{ order:2; }
.page-template-ringcatalouge2026 #final-cta .grid > *:last-child,
.page-template-pendants-catalouge-page2026 #final-cta .grid > *:last-child,
.page-template-earrings-catalouge-page2026 #final-cta .grid > *:last-child{ order:1; }

@media (max-width:1023.98px){
  /* hero: flatten the copy column so the photo can sit under the headline */
.page-template-ringcatalouge2026 #hero .grid,
.page-template-pendants-catalouge-page2026 #hero .grid,
.page-template-earrings-catalouge-page2026 #hero .grid{ display:flex; flex-direction:column; align-items:flex-start; gap:0; }
.page-template-ringcatalouge2026 #hero .grid > *:first-child,
.page-template-pendants-catalouge-page2026 #hero .grid > *:first-child,
.page-template-earrings-catalouge-page2026 #hero .grid > *:first-child{ display:contents; }
.page-template-ringcatalouge2026 #hero .grid h1,
.page-template-pendants-catalouge-page2026 #hero .grid h1,
.page-template-earrings-catalouge-page2026 #hero .grid h1{ order:1; margin-bottom:0 !important; }
.page-template-ringcatalouge2026 #hero .grid > *:last-child,
.page-template-pendants-catalouge-page2026 #hero .grid > *:last-child,
.page-template-earrings-catalouge-page2026 #hero .grid > *:last-child{ order:2; width:100%; margin:20px 0 0 !important; }
.page-template-ringcatalouge2026 #hero .grid > *:last-child > div,
.page-template-pendants-catalouge-page2026 #hero .grid > *:last-child > div,
.page-template-earrings-catalouge-page2026 #hero .grid > *:last-child > div{ width:100% !important; max-width:none !important; margin:0 !important; }
.page-template-ringcatalouge2026 #hero .grid h1 ~ *,
.page-template-pendants-catalouge-page2026 #hero .grid h1 ~ *,
.page-template-earrings-catalouge-page2026 #hero .grid h1 ~ *{ order:3; width:100%; margin-left:0 !important; margin-right:auto !important; }
.page-template-ringcatalouge2026 #hero .grid .sd-reading,
.page-template-pendants-catalouge-page2026 #hero .grid .sd-reading,
.page-template-earrings-catalouge-page2026 #hero .grid .sd-reading{ margin-top:20px !important; }
.page-template-ringcatalouge2026 #final-cta .grid,
.page-template-pendants-catalouge-page2026 #final-cta .grid,
.page-template-earrings-catalouge-page2026 #final-cta .grid{ display:flex; flex-direction:column; align-items:flex-start; gap:24px; }
.page-template-ringcatalouge2026 #final-cta .grid > *,
.page-template-pendants-catalouge-page2026 #final-cta .grid > *,
.page-template-earrings-catalouge-page2026 #final-cta .grid > *{ width:100%; }
}

/* --- hero top gap ------------------------------------------------------
   The rhythm rule put 96px on every section, but the hero sits directly
   under the nav, which already has 80-96px of <main> padding above it. That
   stacked to a 121-142px gap - the largest on the site. Trim the hero only;
   mid-page sections keep the 96/64 rhythm. Target ~72px, matching the How
   It Works page. */
@media (min-width:1024px){
  .page-template-jewelry2026 main section:first-of-type{ padding-top:26px !important; }
  .page-template-rings2026 main section#hero{ padding-top:48px !important; }
.page-template-ringcatalouge2026 main section#hero,
.page-template-pendants-catalouge-page2026 main section#hero,
.page-template-earrings-catalouge-page2026 main section#hero{ padding-top:40px !important; }
}
@media (max-width:1023.98px){
.page-template-ringcatalouge2026 main section#hero,
.page-template-pendants-catalouge-page2026 main section#hero,
.page-template-earrings-catalouge-page2026 main section#hero{ padding-top:24px !important; }
}


/* === CTA buttons: hover, press, focus, motion ============================
   Three hover treatments were live across two platforms: -2px/0.30 shadow
   here, -2px/0.60 on welcome-kit-start, -1px/0.22 on start-with-a-welcome-kit.
   Adopting the last one - the softest lift, the widest shadow, and the only
   one that also changes background colour, which is what actually signals
   'interactive'. Adds the :active, :focus-visible and reduced-motion states
   that style.css was missing entirely (WCAG 2.4.7 on the conversion path). */

.btn-primary, .btn-soft, .btn-outline{
  transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}

/* hover: settle upward, soft wide shadow */
.btn-primary:hover,
.btn-soft:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 34px rgba(13,84,75,.22) !important;
}
.btn-outline:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 18px 34px rgba(13,84,75,.14) !important;
}

/* pressed: return to the surface */
.btn-primary:active,
.btn-soft:active,
.btn-outline:active{
  transform: translateY(0) !important;
  box-shadow: 0 3px 8px -5px rgba(13,84,75,.45) !important;
}

/* keyboard focus: gold ring, matching the shop pages */
.btn-primary:focus-visible,
.btn-soft:focus-visible,
.btn-outline:focus-visible,
.link-arrow:focus-visible{
  outline: 3px solid rgba(201,164,92,.45);
  outline-offset: 3px;
  border-radius: inherit;
}

@media (prefers-reduced-motion: reduce){
  .btn-primary, .btn-soft, .btn-outline{ transition: background-color .2s ease, color .2s ease !important; }
  .btn-primary:hover, .btn-soft:hover, .btn-outline:hover,
  .btn-primary:active, .btn-soft:active, .btn-outline:active{ transform: none !important; }
}


/* === Mobile nav bar: height vs tap targets ===============================
   The pill ran the same 63px height on phone and desktop and consumed 87px
   of screen (13% of an iPhone SE) before any content. The height came from
   12px padding wrapped around a 37px button - and 37px is under the 44px
   minimum tap target (Apple HIG / WCAG 2.5.8), as was the 32px hamburger.
   Cut the padding, grow the targets: 63px -> 56px pill, 87px -> 72px total,
   with every control at 44px. Desktop is untouched. */
@media (max-width:1023.98px){
  nav.fixed{ top:16px !important; }
  .nav-pill{ padding-top:6px !important; padding-bottom:6px !important; }
  /* the homepage template carries an inline `height:auto; min-height:0` rule
     that loads after this file, so these need !important to win on mobile */
  /* Visible button stays 36px so it sits comfortably beside the 28px logo;
     an invisible ::after extends the *tap target* to 44px. WCAG 2.5.8 sizes
     the target, not the painted box, so this satisfies both. */
  .nav-pill a[class*="btn"]{
    min-height:36px !important; height:36px !important;
    display:inline-flex !important; align-items:center; justify-content:center;
    padding-top:0 !important; padding-bottom:0 !important;
    line-height:1 !important; position:relative;
    /* 24px of padding either side of a 100px label left only 10px of slack
       in the pill and forced the logo to compress on 375px screens */
    padding-left:14px !important; padding-right:14px !important;
  }
  .nav-pill a[class*="btn"]::after{
    content:""; position:absolute; left:0; right:0; top:50%;
    transform:translateY(-50%); height:44px;
  }
  /* same technique on the menu icon: 32px visual box, 44px tap target, so it
     stops driving the pill height */
  #mobile-menu-btn{
    width:32px; height:32px; min-width:0; min-height:0;
    display:inline-flex; align-items:center; justify-content:center;
    padding:0 !important; margin-right:-4px; position:relative;
  }
  #mobile-menu-btn::after{
    content:""; position:absolute; left:50%; top:50%;
    transform:translate(-50%,-50%); width:44px; height:44px;
  }
}


/* === Step-by-step process photography ===================================
   The four steps described a physical process in words only. Images sit
   above the number so the eye lands on the photo first, then the label. */
.sd-step-media{ margin:0 0 18px; overflow:hidden; background:rgba(13,84,75,.04); }
.sd-step-media img{
  display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;
  transition:transform .6s ease;
}
.sd-step:hover .sd-step-media img{ transform:scale(1.03); }
@media (max-width:767.98px){
  /* .sd-step is a flex row on mobile (number beside text), which collapsed
     the media div to zero width - stack it so the photo leads the step */
  .sd-step{ flex-wrap:wrap; }
  .sd-step-media{ flex:0 0 100%; width:100%; margin-bottom:14px; }
  .sd-step-media img{ aspect-ratio:16/10; }
}

/* tablet: the step row stays flex between 768 and 1023, squeezing the photo
   to 144px - stack it there too */
@media (min-width:768px) and (max-width:1023.98px){
  /* the grid is md:grid-cols-4, which is only 144px per column at this width
     - too narrow for a photo. Two columns gives ~340px each. */
  #process .grid.md\:grid-cols-4{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; row-gap:40px !important; }
  .sd-step{ flex-wrap:wrap; }
  .sd-step-media{ flex:0 0 100%; width:100%; margin-bottom:14px; }
  .sd-step-media img{ aspect-ratio:4/3; }
}


/* === Welcome Kit CTA: photo left, copy right ============================
   Was centred with a 320px image from a 1080px file. Two columns give the
   kit ~500px and put the contents list beside it, where the buying
   decision is made. Mobile stays stacked. */
.sd-kit-media img{ width:100%; height:auto; display:block; }
.sd-kit-media > div{ width:100%; justify-content:flex-start; }
.sd-kit-trust{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(13,84,75,.75); margin:0 0 14px; font-weight:600; }
.sd-kit-stars{ color:var(--st-gold,#C9A45C); letter-spacing:.08em; margin-right:8px; }
.sd-kit-included{ margin:22px 0 26px; padding-top:20px; border-top:1px solid rgba(13,84,75,.12); }
.sd-kit-included-label{ font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:rgba(13,84,75,.55); margin:0 0 12px; font-weight:600; }
.sd-kit-list{ list-style:none; margin:0; padding:0; }
.sd-kit-list li{ position:relative; padding-left:28px; margin:0 0 10px; font-size:15px; line-height:1.55; color:rgba(24,38,36,.85); }
.sd-kit-list li::before{ content:'✓'; position:absolute; left:0; top:0; color:var(--st-navy,#0D544B); font-size:13px; }
/* the section already had a microcopy row; style that one instead */
.sd-kit-cta + .mt-10{ justify-content:center !important; }
@media (min-width:1024px){
  .sd-kit-cta .sd-kit-copy .flex.flex-col.items-center{ align-items:flex-start !important; }
  .sd-kit-cta .sd-kit-copy .hidden.md\:flex{ align-items:flex-start !important; }
}
@media (max-width:1023.98px){
  .sd-kit-media > div{ justify-content:center; }
  .sd-kit-list li{ text-align:left; }
  .sd-kit-included{ max-width:420px; margin-left:auto; margin-right:auto; }
}



/* ==========================================================================
   Jewelry dropdown - header sub-menu (added 2026-10-14, revised same day)
   Desktop: square borderless panel on hover/focus, shadow only.
   Mobile drawer: chevron-marked sub-items, always visible under the parent.
   Sub-item rules are scoped through #menu-header2026 so they outrank the
   theme rule .headerstyle2 #menu-header2026 li {padding:5px 20px}.
   ========================================================================== */
.nav-links ul.primary li.menu-item-has-children{position:relative}
/* Desktop caret. The hover panel is invisible until hovered, so this is the
   only cue that Jewelry expands. Border-drawn rather than a glyph so it stays
   crisp at 5px; currentColor means it follows the gold hover state for free. */
.nav-links ul.primary li.menu-item-has-children > a::after{content:"";display:inline-block;width:5px;height:5px;margin-left:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.45}
.nav-links ul.primary li.menu-item-has-children:hover > a::after,
.nav-links ul.primary li.menu-item-has-children:focus-within > a::after{transform:translateY(1px) rotate(225deg);opacity:.75}
.nav-links ul.primary li.menu-item-has-children::after{content:"";position:absolute;left:0;right:0;top:100%;height:16px}
.nav-links ul.primary li.menu-item-has-children > .sub-menu{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);margin:0;padding:8px 0;min-width:190px;list-style:none;background:#fff;border:0;border-radius:0;box-shadow:0 12px 28px rgba(24,38,36,.10);opacity:0;visibility:hidden;transition:opacity .18s ease;z-index:80}
.nav-links ul.primary li.menu-item-has-children:hover > .sub-menu,
.nav-links ul.primary li.menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible}
.headerstyle2 #menu-header2026 .sub-menu li,
#menu-header2026 .sub-menu li{display:block;width:100%;margin:0;padding:0}
.headerstyle2 #menu-header2026 .sub-menu a,
#menu-header2026 .sub-menu a{display:block;padding:9px 20px;white-space:nowrap;line-height:1.5;font-size:15px;color:#0D544B;text-decoration:none}
.headerstyle2 #menu-header2026 .sub-menu a:hover,
#menu-header2026 .sub-menu a:hover,
#menu-header2026 .sub-menu a:focus-visible{background:#EFF5F2}
ul.mobileNav .sub-menu{list-style:none;margin:10px auto 2px;padding:0;display:none;flex-direction:column;width:-moz-fit-content;width:fit-content}
ul.mobileNav li.sd-open > .sub-menu{display:flex}
ul.mobileNav .sub-menu li{margin:0;padding:0}
ul.mobileNav .sub-menu a{display:block;font-size:1.5rem;line-height:1.3;padding:7px 0;opacity:1;color:var(--st-navy);letter-spacing:0;text-decoration:none;text-align:left;white-space:nowrap}
ul.mobileNav .sub-menu a::before{content:"\203A";display:inline-block;width:.6em;margin-right:.3em;opacity:.45}
/* Chevron on the Jewelry row itself so it reads as a parent now that the
   children are the same size as it. Decorative only - no JS, nothing to tap. */
/* Decorative chevron replaced by a real toggle button (built in footer.php):
   the group is collapsed on open, so the control has to be tappable. */
/* The 44px toggle sits on the same centred line as the label, so it pushed
   "Jewelry" 23px left of every other item. This invisible 46px spacer (button
   44 + its 2px margin) balances the line so the word centres with the rest.
   Measured: text centre 170.0 before, 193.0 after - same as all siblings. */
ul.mobileNav li.menu-item-has-children > a::before{content:"";display:inline-block;width:46px}
ul.mobileNav .sdsub-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0 0 0 2px;padding:0;border:0;background:none;color:inherit;cursor:pointer;vertical-align:middle}
ul.mobileNav .sdsub-toggle i{display:block;width:8px;height:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);opacity:.5}
ul.mobileNav li.sd-open > .sdsub-toggle i{transform:translateY(1px) rotate(225deg);opacity:.75}
ul.mobileNav .sdsub-toggle:focus-visible{outline:2px solid #46836F;outline-offset:2px;border-radius:4px}


/* ==========================================================================
   CRITICAL 2026-10-14: the mobile drawer never slid off-screen.
   #mobile-menu uses Tailwind .transform + .translate-x-full, but --tw-translate-y
   and the other --tw-* defaults are undefined on this site, so the composed
   transform value is invalid and computes to none. Result: the drawer sat at
   inset-0 covering every mobile page permanently and could not be closed.
   These two rules drive it directly, with no Tailwind variables involved.
   ========================================================================== */
#mobile-menu.translate-x-full{transform:translateX(100%) !important}
#mobile-menu:not(.translate-x-full){transform:translateX(0) !important}
/* The transform alone proved unreliable here: with the class removed the
   element still computed translateX(100%), and even an inline !important
   could not move it. display is not defeatable that way, so the closed
   drawer is now removed from the layout entirely. No slide animation, but
   it can never again cover the page or trap a visitor. */
#mobile-menu.translate-x-full{display:none !important}
/* The drawer has never scrolled. With the Jewelry children back it is ~620px
   tall, which overflows a 553px phone at both ends with nothing reachable.
   safe center keeps it centred when it fits and scrollable when it does not. */
@media(max-width:1023px){#mobile-menu{overflow-y:auto;overscroll-behavior:contain;justify-content:safe center;padding:80px 0 28px}}

/* Sticky CTA - same dead-transform fault as the drawer. The bar was stuck
   permanently visible on every mobile page instead of appearing after the hero.
   transform is ignored on this element too, so visibility + pointer-events do
   the hiding. The transform rules are kept so the slide returns if the Tailwind
   base layer is ever restored. */
#sticky-cta.translate-y-full{transform:translateY(100%) !important;visibility:hidden;pointer-events:none}
#sticky-cta:not(.translate-y-full){transform:translateY(0) !important;visibility:visible;pointer-events:auto}
/* The running transition was the thing overriding everything: CSS transitions
   sit ABOVE author !important in the cascade, and because the target transform
   was invalid the transition never resolved - it stalled on the old value.
   Disabling it lets the rules above actually apply. Costs the slide, buys
   correct behaviour. */
#sticky-cta{transition:none !important}


/* ==========================================================================
   Button radius token (2026-10-15). Ben: buttons squared to 0.
   Deliberately NOT changed: .nav-pill header container (stays rounded) and
   .styimg story images (stay 7px) - his call, both asked and answered.
   Appended at the end on purpose: these selectors match the ones that already
   set 999px, so equal specificity + later source order wins without !important.
   Retune the whole button system from the one token below.
   ========================================================================== */
:root{--radius-btn:0px}
.btn-primary,
article.prose a.btn-primary,
.btn-soft,
body .btn-soft,
body a.btn-soft,
.wpcf7-form-control.wpcf7-submit{border-radius:var(--radius-btn)}
/* body .btn-soft inherits var(--radius-pill) from the header system. We square
   the button explicitly rather than changing that token, because .nav-pill uses
   the same token and Ben wants the header bar to stay rounded. */


/* STAGING ONLY - content CTAs to 2026 Jewelry pill spec (2026-10-15) */
body.page-template-homeversion2-staging section :is(.btn-primary,.btn-soft){
	font-family:Montserrat,sans-serif;
	font-size:12px;
	font-weight:600;
	letter-spacing:0.48px;
	min-height:48px;
	border-radius:0;
	box-shadow:none;
	transform:none;
	transition:none;
}
body.page-template-homeversion2-staging section .btn-soft{
	border:1px solid #729184 !important;
	color:#0D544B !important;
}
body.page-template-homeversion2-staging section :is(.btn-primary,.btn-soft):hover{
	transform:none;
	box-shadow:none !important;
}
body.page-template-homeversion2-staging section .btn-soft:hover{
	background-color:#EFF5F2 !important;
	color:#0D544B !important;
	border-color:#729184 !important;
}
body.page-template-homeversion2-staging section :is(.btn-primary,.btn-soft):focus-visible{
	outline:3px solid #0D544B;
	outline-offset:2px;
}


/* PRODUCTION - homepage content CTAs to 2026 Jewelry pill spec (2026-10-15) */
body.page-template-homeversion2-2026 section :is(.btn-primary,.btn-soft){
	font-family:Montserrat,sans-serif;
	font-size:12px;
	font-weight:600;
	letter-spacing:0.48px;
	min-height:48px;
	border-radius:0;
	box-shadow:none;
	transform:none;
	transition:none;
}
body.page-template-homeversion2-2026 section .btn-soft{
	border:1px solid #729184 !important;
	color:#0D544B !important;
}
body.page-template-homeversion2-2026 section :is(.btn-primary,.btn-soft):hover{
	transform:none;
	box-shadow:none !important;
}
body.page-template-homeversion2-2026 section .btn-soft:hover{
	background-color:#EFF5F2 !important;
	color:#0D544B !important;
	border-color:#729184 !important;
}
body.page-template-homeversion2-2026 section :is(.btn-primary,.btn-soft):focus-visible{
	outline:3px solid #0D544B;
	outline-offset:2px;
}

/* hero primary: remove template shadow, matches approved button spec */
body.page-template-homeversion2-2026 #hero .btn-primary{box-shadow:none}


/* STAGING ONLY - FAQ to 2026 Jewelry divider spec (2026-10-15) */
body.page-template-homeversion2-staging #faq details.modern-faq{
	background:none !important;
	border-radius:0 !important;
	box-shadow:none !important;
	margin:0 !important;
	backdrop-filter:none;
	-webkit-backdrop-filter:none;
	border:0;
	border-top:1px solid #E1E8E1;
	transform:none;
	transition:none;
	overflow:visible;
}
body.page-template-homeversion2-staging #faq details.modern-faq + details.modern-faq{margin-top:0 !important}
body.page-template-homeversion2-staging #faq #faq-more{margin:0 !important}
body.page-template-homeversion2-staging #faq details.modern-faq:hover,
body.page-template-homeversion2-staging #faq details.modern-faq[open]{background:none !important;box-shadow:none !important;transform:none}
body.page-template-homeversion2-staging #faq details.modern-faq > summary{
	font-family:Montserrat,sans-serif;
	font-size:15px !important;
	padding:20px 4px !important;
	font-weight:600;
	line-height:1.5;
	color:#344D42;
	gap:18px;
	transition:none;
}
body.page-template-homeversion2-staging #faq details.modern-faq .faq-chevron{display:none}
body.page-template-homeversion2-staging #faq details.modern-faq > summary::after{
	content:"+";flex:0 0 auto;font-family:Montserrat,sans-serif;font-weight:300;
	font-size:22px;line-height:1.35;min-width:18px;text-align:center;color:#0D544B;
}
body.page-template-homeversion2-staging #faq details.modern-faq[open] > summary::after{content:"\2212"}
body.page-template-homeversion2-staging #faq details.modern-faq > summary:focus-visible{outline:3px solid #0D544B;outline-offset:-2px;border-radius:2px}
body.page-template-homeversion2-staging #faq details.modern-faq > *:not(summary){
	font-size:15px !important;
	line-height:1.68 !important;
	padding:0 !important;
	font-family:Montserrat,sans-serif;
	font-weight:400;
	color:#4B5D54;
	margin:-2px 44px 22px 4px;
	max-width:68ch;
}
body.page-template-homeversion2-staging #faq .mt-10{border-top:1px solid #E1E8E1;margin-top:0;padding-top:32px}
@media (max-width:767px){
	body.page-template-homeversion2-staging #faq details.modern-faq > summary{padding:18px 2px !important;gap:14px}
	body.page-template-homeversion2-staging #faq details.modern-faq > *:not(summary){margin:-2px 30px 20px 2px}
}


/* PRODUCTION homepage - FAQ to 2026 Jewelry divider spec (2026-10-15) */
body.home #faq details.modern-faq{
	background:none !important;
	border-radius:0 !important;
	box-shadow:none !important;
	margin:0 !important;
	backdrop-filter:none;
	-webkit-backdrop-filter:none;
	border:0;
	border-top:1px solid #E1E8E1;
	transform:none;
	transition:none;
	overflow:visible;
}
body.home #faq details.modern-faq + details.modern-faq{margin-top:0 !important}
body.home #faq #faq-more{margin:0 !important}
body.home #faq details.modern-faq:hover,
body.home #faq details.modern-faq[open]{background:none !important;box-shadow:none !important;transform:none}
body.home #faq details.modern-faq > summary{
	font-family:Montserrat,sans-serif;
	font-size:15px !important;
	padding:20px 4px !important;
	font-weight:600;
	line-height:1.5;
	color:#344D42;
	gap:18px;
	transition:none;
}
body.home #faq details.modern-faq .faq-chevron{display:none}
body.home #faq details.modern-faq > summary::after{
	content:"+";flex:0 0 auto;font-family:Montserrat,sans-serif;font-weight:300;
	font-size:22px;line-height:1.35;min-width:18px;text-align:center;color:#0D544B;
}
body.home #faq details.modern-faq[open] > summary::after{content:"\2212"}
body.home #faq details.modern-faq > summary:focus-visible{outline:3px solid #0D544B;outline-offset:-2px;border-radius:2px}
body.home #faq details.modern-faq > *:not(summary){
	font-size:15px !important;
	line-height:1.68 !important;
	padding:0 !important;
	font-family:Montserrat,sans-serif;
	font-weight:400;
	color:#4B5D54;
	margin:-2px 44px 22px 4px;
	max-width:68ch;
}
body.home #faq .mt-10{border-top:1px solid #E1E8E1;margin-top:0;padding-top:32px}
@media (max-width:767px){
	body.home #faq details.modern-faq > summary{padding:18px 2px !important;gap:14px}
	body.home #faq details.modern-faq > *:not(summary){margin:-2px 30px 20px 2px}
}


/* PRICING page (id 20423) - FAQ to 2026 Jewelry divider spec (2026-10-15) */
body.page-id-20423 details.modern-faq{
	background:none !important;
	border-radius:0 !important;
	box-shadow:none !important;
	margin:0 !important;
	backdrop-filter:none;
	-webkit-backdrop-filter:none;
	border:0;
	border-top:1px solid #E1E8E1;
	transform:none;
	transition:none;
	overflow:visible;
}
body.page-id-20423 details.modern-faq + details.modern-faq{margin-top:0 !important}
body.page-id-20423 details.modern-faq:last-of-type{border-bottom:1px solid #E1E8E1}
body.page-id-20423 details.modern-faq:has(+ #faq-more:not(.hidden)){border-bottom:0}
body.page-id-20423 details.modern-faq:hover,
body.page-id-20423 details.modern-faq[open]{background:none !important;box-shadow:none !important;transform:none}
body.page-id-20423 details.modern-faq > summary{
	font-family:Montserrat,sans-serif;
	font-size:15px !important;
	padding:20px 4px !important;
	font-weight:600;
	line-height:1.5;
	color:#344D42;
	gap:18px;
	transition:none;
}
body.page-id-20423 details.modern-faq .faq-chevron{display:none}
body.page-id-20423 details.modern-faq > summary::after{
	content:"+";flex:0 0 auto;font-family:Montserrat,sans-serif;font-weight:300;
	font-size:22px;line-height:1.35;min-width:18px;text-align:center;color:#0D544B;
}
body.page-id-20423 details.modern-faq[open] > summary::after{content:"\2212"}
body.page-id-20423 details.modern-faq > summary:focus-visible{outline:3px solid #0D544B;outline-offset:-2px;border-radius:2px}
body.page-id-20423 details.modern-faq > *:not(summary){
	font-size:15px !important;
	line-height:1.68 !important;
	padding:0 !important;
	font-family:Montserrat,sans-serif;
	font-weight:400;
	color:#4B5D54;
	margin:-2px 44px 22px 4px;
	max-width:68ch;
}
@media (max-width:767px){
	body.page-id-20423 details.modern-faq > summary{padding:18px 2px !important;gap:14px}
	body.page-id-20423 details.modern-faq > *:not(summary){margin:-2px 30px 20px 2px}
}


/* BATCH 2 - FAQ to 2026 Jewelry divider spec (2026-10-15)
   31557 memorial-diamonds | 31558 pet-cremation-diamonds | 32915 pet-memorial-gifts */
body.page-id-31557 details.modern-faq,
body.page-id-31558 details.modern-faq,
body.page-id-32915 details.modern-faq{
	background:none !important;
	border-radius:0 !important;
	box-shadow:none !important;
	margin:0 !important;
	backdrop-filter:none;
	-webkit-backdrop-filter:none;
	border:0;
	border-top:1px solid #E1E8E1;
	transform:none;
	transition:none;
	overflow:visible;
}
body.page-id-31557 details.modern-faq + details.modern-faq,
body.page-id-31558 details.modern-faq + details.modern-faq,
body.page-id-32915 details.modern-faq + details.modern-faq{margin-top:0 !important}
body.page-id-31557 details.modern-faq:last-of-type,
body.page-id-31558 details.modern-faq:last-of-type,
body.page-id-32915 details.modern-faq:last-of-type{border-bottom:1px solid #E1E8E1}
body.page-id-31557 details.modern-faq:has(+ #faq-more:not(.hidden)),
body.page-id-31558 details.modern-faq:has(+ #faq-more:not(.hidden)),
body.page-id-32915 details.modern-faq:has(+ #faq-more:not(.hidden)){border-bottom:0}
body.page-id-31557 details.modern-faq:hover,
body.page-id-31558 details.modern-faq:hover,
body.page-id-32915 details.modern-faq:hover,
body.page-id-31557 details.modern-faq[open],
body.page-id-31558 details.modern-faq[open],
body.page-id-32915 details.modern-faq[open]{background:none !important;box-shadow:none !important;transform:none}
body.page-id-31557 details.modern-faq > summary,
body.page-id-31558 details.modern-faq > summary,
body.page-id-32915 details.modern-faq > summary{
	font-family:Montserrat,sans-serif;
	font-size:15px !important;
	padding:20px 4px !important;
	font-weight:600;
	line-height:1.5;
	color:#344D42;
	gap:18px;
	transition:none;
}
body.page-id-31557 details.modern-faq .faq-chevron,
body.page-id-31558 details.modern-faq .faq-chevron,
body.page-id-32915 details.modern-faq .faq-chevron{display:none}
body.page-id-31557 details.modern-faq > summary::after,
body.page-id-31558 details.modern-faq > summary::after,
body.page-id-32915 details.modern-faq > summary::after{
	content:"+";flex:0 0 auto;font-family:Montserrat,sans-serif;font-weight:300;
	font-size:22px;line-height:1.35;min-width:18px;text-align:center;color:#0D544B;
}
body.page-id-31557 details.modern-faq[open] > summary::after,
body.page-id-31558 details.modern-faq[open] > summary::after,
body.page-id-32915 details.modern-faq[open] > summary::after{content:"\2212"}
body.page-id-31557 details.modern-faq > summary:focus-visible,
body.page-id-31558 details.modern-faq > summary:focus-visible,
body.page-id-32915 details.modern-faq > summary:focus-visible{outline:3px solid #0D544B;outline-offset:-2px;border-radius:2px}
body.page-id-31557 details.modern-faq > *:not(summary),
body.page-id-31558 details.modern-faq > *:not(summary),
body.page-id-32915 details.modern-faq > *:not(summary){
	font-size:15px !important;
	line-height:1.68 !important;
	padding:0 !important;
	font-family:Montserrat,sans-serif;
	font-weight:400;
	color:#4B5D54;
	margin:-2px 44px 22px 4px;
	max-width:68ch;
}
@media (max-width:767px){
body.page-id-31557 details.modern-faq > summary,
body.page-id-31558 details.modern-faq > summary,
body.page-id-32915 details.modern-faq > summary{padding:18px 2px !important;gap:14px}
body.page-id-31557 details.modern-faq > *:not(summary),
body.page-id-31558 details.modern-faq > *:not(summary),
body.page-id-32915 details.modern-faq > *:not(summary){margin:-2px 30px 20px 2px}
}


/* FAQ HUB (page 19610) - 2026 divider spec + chip/search restyle (2026-10-16) */
body.page-id-19610 details.faq-item{background:none !important;border-radius:0 !important;box-shadow:none !important;margin:0 !important;
	backdrop-filter:none;-webkit-backdrop-filter:none;border:0 !important;border-top:1px solid #E1E8E1 !important;
	transform:none;transition:none;overflow:visible}
body.page-id-19610 .faq-group.faq-stack{gap:0 !important;row-gap:0 !important}
body.page-id-19610 details.faq-item + details.faq-item{margin-top:0 !important}
body.page-id-19610 details.faq-item:last-of-type{border-bottom:1px solid #E1E8E1 !important}
body.page-id-19610 details.faq-item summary{background:none !important}
body.page-id-19610 details.faq-item[open] > summary{background:none !important;border:0 !important}
body.page-id-19610 details.faq-item summary:hover{background:none !important;border-radius:0 !important}
body.page-id-19610 details.faq-item .faq-answer{border-top:0 !important}
body.page-id-19610 details.faq-item:hover,
body.page-id-19610 details.faq-item[open]{background:none !important;box-shadow:none !important;transform:none}
body.page-id-19610 details.faq-item > summary{font-family:Montserrat,sans-serif;padding:20px 4px !important;display:flex;
	align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;transition:none}
body.page-id-19610 details.faq-item > summary h3{font-family:Montserrat,sans-serif;font-size:15px !important;font-weight:600;
	line-height:1.5;color:#344D42;margin:0}
body.page-id-19610 details.faq-item summary .chev{display:none}
body.page-id-19610 details.faq-item > summary::after{content:"+";flex:0 0 auto;font-family:Montserrat,sans-serif;font-weight:300;
	font-size:22px;line-height:1.35;min-width:18px;text-align:center;color:#0D544B}
body.page-id-19610 details.faq-item[open] > summary::after{content:"\2212"}
body.page-id-19610 details.faq-item > summary:focus-visible{outline:3px solid #0D544B;outline-offset:-2px;border-radius:2px}
body.page-id-19610 details.faq-item > *:not(summary){font-family:Montserrat,sans-serif;font-size:15px !important;font-weight:400;
	line-height:1.68 !important;color:#4B5D54;padding:0 !important;margin:-2px 44px 22px 4px;max-width:68ch}
body.page-id-19610 .faq-chip{border-radius:0 !important;background:transparent !important;box-shadow:none !important;
	border:1px solid #729184 !important;color:#0D544B !important;font-family:Montserrat,sans-serif;
	font-size:12px !important;font-weight:600 !important;letter-spacing:0.48px;padding:12px 14px !important;
	min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:none;text-decoration:none}
body.page-id-19610 .faq-chip:hover{background:#EFF5F2 !important}
body.page-id-19610 .faq-chip.is-active{background:#0D544B !important;color:#fff !important;border-color:#0D544B !important;box-shadow:none !important}
body.page-id-19610 .faq-chip:focus-visible{outline:3px solid #0D544B;outline-offset:2px}
body.page-id-19610 .faq-search{border-radius:0 !important;background:#fff !important;border:1px solid #729184 !important;
	box-shadow:none !important;font-family:Montserrat,sans-serif;font-size:15px !important;color:#0D544B;
	padding:13px 16px !important;height:48px !important;transition:none}
body.page-id-19610 .faq-search:focus{outline:3px solid #0D544B;outline-offset:-1px}
body.page-id-19610 .faq-search::placeholder{color:rgba(13,84,75,.55)}
@media (max-width:767px){
	body.page-id-19610 details.faq-item > summary{padding:18px 2px !important;gap:14px}
	body.page-id-19610 details.faq-item > *:not(summary){margin:-2px 30px 20px 2px}
	body.page-id-19610 .faq-search{font-size:16px !important}
	body.page-id-19610 .faq-chip{font-size:12px !important;padding:11px 13px !important}
}


/* ============================================================
   HOMEPAGE PRICING CALCULATOR - V6 COMPACT (2026-10-16)
   Scope: #home-calc .calc-frame only. Nothing outside the frame.
   Radius overrides carry one extra class purely for specificity,
   so no sitewide radius rule is modified.
   ============================================================ */
body.page-template-homeversion2-2026 #home-calc .calc-frame{border-radius:17px}
body.page-template-homeversion2-2026 #home-calc .calc-frame .color-btn{border-radius:8px}
body.page-template-homeversion2-2026 #home-calc .calc-frame .size-choice{border-radius:8px !important}

#home-calc .calc-frame{background:#fff;border:1px solid rgba(13,84,75,.09);box-shadow:0 22px 65px rgba(43,64,51,.055);overflow:hidden}

/* header band: diamond preview + summary */
#home-calc .calc-frame .calc-head{display:grid;grid-template-columns:34% 66%;align-items:stretch;gap:0;padding:0;background:linear-gradient(115deg,#F5F8F5,#EDF4F0);border-bottom:1px solid #E5ECE7;box-shadow:none}
#home-calc .calc-frame .hero-visual{position:relative;display:grid;place-items:center;min-height:168px;border-right:1px solid rgba(13,84,75,.055);overflow:hidden}
#home-calc .calc-frame .hero-visual::after{content:"";position:absolute;inset:0;margin:auto;width:min(140px,74%);aspect-ratio:1;border:1px solid rgba(13,84,75,.085);border-radius:50%;opacity:.5;pointer-events:none}
#home-calc .calc-frame .hero-visual .gem-art{position:relative;z-index:2;width:min(124px,66%);height:auto;aspect-ratio:1;object-fit:contain;display:block;filter:drop-shadow(0 12px 10px rgba(17,57,53,.17))}
#home-calc .calc-frame .hero-info{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:13px;padding:18px 20px;min-width:0}
#home-calc .calc-frame .summary-choice,#home-calc .calc-frame .summary-price{min-width:0;width:100%;text-align:left}
#home-calc .calc-frame #hc-sizeCt{font-family:Montserrat,sans-serif;font-size:26px;font-weight:500;letter-spacing:-.045em;line-height:1.1;color:#0D544B;margin:0 0 5px}
#home-calc .calc-frame #hc-sizeMm{display:block;font-family:Montserrat,sans-serif;font-size:12px;font-weight:400;line-height:1.4;color:#5D7C71;margin:0}
#home-calc .calc-frame #hc-priceLabel{font-family:Montserrat,sans-serif;font-size:10px;font-weight:600;letter-spacing:.11em;line-height:1.3;color:#638278;text-transform:uppercase;margin:0 0 3px}
#home-calc .calc-frame #hc-priceValue{font-family:Montserrat,sans-serif;font-size:35px;font-weight:400;letter-spacing:-.052em;line-height:1.08;color:#0D544B;margin:0;font-variant-numeric:tabular-nums}

@media (min-width:1220px){
 #home-calc .calc-frame .calc-head{grid-template-columns:32% 68%}
 #home-calc .calc-frame .hero-visual{min-height:178px}
 #home-calc .calc-frame .hero-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;gap:14px;padding:20px 22px}
 #home-calc .calc-frame .summary-price{text-align:right;justify-self:end;width:auto}
 #home-calc .calc-frame .summary-choice{width:auto}
 #home-calc .calc-frame #hc-sizeMm{font-size:11px}
 #home-calc .calc-frame #hc-priceLabel{font-size:9px}
}

/* body */
#home-calc .calc-frame .calc-body{padding:18px 22px 20px;background:#fff}
#home-calc .calc-frame .step-title{font-family:Montserrat,sans-serif;font-size:11px;font-weight:700;letter-spacing:.155em;text-transform:uppercase;color:#0D544B;margin-bottom:10px}
#home-calc .calc-frame .calc-body.space-y-8 > * + *{margin-top:18px}

/* colour tiles */
#home-calc .calc-frame .color-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
#home-calc .calc-frame .color-btn{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:98px;padding:10px 8px;background:#F9FAF8;border:1px solid #E4EBE7;color:#0D544B;text-align:center;transform:none;box-shadow:none;transition:background-color .15s,border-color .15s}
#home-calc .calc-frame .color-btn:hover{background:#F0F6F2;border-color:#A8C3B7;transform:none;box-shadow:none}
#home-calc .calc-frame .color-btn[aria-pressed="true"]{background:#EDF6F0;border:1.5px solid #0D544B;box-shadow:none;transform:none}
#home-calc .calc-frame .color-btn .gem-art{width:50px;height:50px;object-fit:contain;display:block;filter:drop-shadow(0 3px 3px rgba(12,56,52,.15))}
#home-calc .calc-frame .color-name{font-family:Montserrat,sans-serif;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#0D544B}

/* selected tick */
#home-calc .calc-frame .tick{position:absolute;right:6px;top:6px;width:16px;height:16px;border-radius:50%;background:#0D544B;color:#fff;display:none;align-items:center;justify-content:center}
#home-calc .calc-frame .tick svg{width:11px;height:11px;display:block}
#home-calc .calc-frame [aria-pressed="true"] > .tick{display:flex}

/* size tiles */
#home-calc .calc-frame .size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;row-gap:14px;margin-top:13px}
#home-calc .calc-frame .size-choice{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;min-height:72px;padding:12px 6px 10px;background:#fff;border:1px solid #DCE6E1;color:#0D544B;text-align:center;transform:none;box-shadow:none;transition:background-color .15s,border-color .15s}
#home-calc .calc-frame .size-choice:hover{background:#F6FAF7;border-color:#9BBEAE;transform:none;box-shadow:none}
#home-calc .calc-frame .size-choice[aria-pressed="true"]{background:#EFF7F2;border:1.5px solid #0D544B;box-shadow:none;transform:none}
#home-calc .calc-frame .size-ct{font-family:Montserrat,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.025em;line-height:1.25;white-space:nowrap;color:#0D544B}
#home-calc .calc-frame .size-price{font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;line-height:1.35;color:#42665B;font-variant-numeric:tabular-nums;margin-top:3px;white-space:nowrap}

/* original navy popularity badges, preserved */
#home-calc .calc-frame .size-badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);z-index:2;background:#1F3A5F;color:#fff;border-radius:999px;font-family:Montserrat,sans-serif;font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1;padding:4px 8px 3px;white-space:nowrap}

/* footer */
#home-calc .calc-frame .calc-foot{border-top:1px solid rgba(13,84,75,.07);margin-top:14px;padding-top:14px;gap:0}
#home-calc .calc-frame .cta-row{display:flex;flex-direction:column;gap:0;margin-top:0}
#home-calc .calc-frame .cta-row .link-arrow{margin:0 auto 12px;width:fit-content;justify-content:center;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;letter-spacing:.02em;color:#0D544B}
#home-calc .calc-frame .cta-row > div:first-child{margin-top:0}
#home-calc .calc-frame .cta-row > p{margin-top:11px}

/* keyboard focus */
#home-calc .calc-frame .color-btn:focus-visible,
#home-calc .calc-frame .size-choice:focus-visible,
#home-calc .calc-frame a:focus-visible{outline:3px solid #0D544B;outline-offset:2px}

@media (max-width:767.98px){
 #home-calc .calc-frame .calc-head{grid-template-columns:36% 64%}
 #home-calc .calc-frame .hero-visual{min-height:142px}
 #home-calc .calc-frame .hero-visual .gem-art{width:min(96px,80%)}
 #home-calc .calc-frame .hero-visual::after{width:min(108px,86%)}
 #home-calc .calc-frame .hero-info{gap:11px;padding:13px 12px}
 #home-calc .calc-frame #hc-sizeCt{font-size:23px;margin-bottom:4px}
 #home-calc .calc-frame #hc-sizeMm{font-size:10.5px;line-height:1.35}
 #home-calc .calc-frame #hc-priceLabel{font-size:9px;letter-spacing:.075em;margin-bottom:3px}
 #home-calc .calc-frame #hc-priceValue{font-size:29px}
 #home-calc .calc-frame .calc-body{padding:16px 14px 18px}
 #home-calc .calc-frame .calc-body.space-y-8 > * + *{margin-top:16px}
 #home-calc .calc-frame .color-grid{gap:7px}
 #home-calc .calc-frame .color-btn{min-height:88px;padding:9px 4px 8px;gap:4px}
 #home-calc .calc-frame .color-btn .gem-art{width:44px;height:44px}
 #home-calc .calc-frame .color-name{font-size:8.5px;letter-spacing:.03em}
 #home-calc .calc-frame .size-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;row-gap:13px;margin-top:12px}
 #home-calc .calc-frame .size-choice{min-height:70px;padding:11px 10px 9px}
 #home-calc .calc-frame .size-choice .tick{top:auto;bottom:5px;right:5px}
}

/* ============================================================
   PRICING PAGE CALCULATOR - V2 (2026-10-17)
   Scope: body.page-id-20423.page-template-pricing_v2_temp #sd-pc only.
   Mirrors the approved homepage V6 Compact values so the two
   calculators read as one component family.
   NO !important anywhere in this block.
   Nothing outside the calculator is touched.
   ============================================================ */

/* ---- frame ------------------------------------------------ */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc{
  font-family:Montserrat,sans-serif;
  background:#fff;
  border:1px solid rgba(13,84,75,.09);
  box-shadow:0 22px 65px rgba(43,64,51,.055);
  border-radius:17px;
  overflow:hidden;
  position:relative;
}

/* ---- summary header -------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-head{
  display:grid;
  grid-template-columns:34% 66%;
  align-items:stretch;
  gap:0;
  padding:0;
  background:linear-gradient(115deg,#F5F8F5,#EDF4F0);
  border-bottom:1px solid #E5ECE7;
  min-width:0;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-visual{
  position:relative;
  display:grid;
  place-items:center;
  min-height:168px;
  border-right:1px solid rgba(13,84,75,.055);
  overflow:hidden;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-visual::after{
  content:"";
  position:absolute;
  inset:0;
  margin:auto;
  width:min(140px,74%);
  aspect-ratio:1;
  border:1px solid rgba(13,84,75,.085);
  border-radius:50%;
  opacity:.5;
  pointer-events:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-gem{
  position:relative;
  z-index:2;
  width:min(124px,66%);
  height:auto;
  aspect-ratio:1;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 12px 10px rgba(17,57,53,.16));
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-info{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:center;
  gap:13px;
  padding:18px 20px;
  min-width:0;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-choice,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pricebox{
  min-width:0;
  width:100%;
  text-align:left;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-ct{
  font-family:Montserrat,sans-serif;
  font-size:26px;
  font-weight:500;
  letter-spacing:-.045em;
  line-height:1.1;
  color:#0D544B;
  margin:0 0 5px;
  white-space:nowrap;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-caption{
  display:block;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:1.4;
  color:#5D7C71;
  margin:0;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-plabel{
  font-family:Montserrat,sans-serif;
  font-size:10px;
  font-weight:600;
  letter-spacing:.11em;
  line-height:1.3;
  color:#638278;
  text-transform:uppercase;
  margin:0 0 4px;
  white-space:nowrap;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pvalue{
  font-family:Montserrat,sans-serif;
  font-size:35px;
  font-weight:400;
  letter-spacing:-.052em;
  line-height:1.08;
  color:#0D544B;
  margin:0;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}

/* ---- body -------------------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-body{
  padding:18px 22px 20px;
  background:#fff;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-group + .pc-group{
  margin-top:18px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-step{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  font-family:Montserrat,sans-serif;
  font-size:11px;
  font-weight:700;
  letter-spacing:.155em;
  text-transform:uppercase;
  color:#0D544B;
  margin:0 0 10px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-helper{
  font-family:Montserrat,sans-serif;
  font-size:11px;
  font-weight:500;
  letter-spacing:0;
  text-transform:none;
  color:#8A9E96;
}

/* ---- shared tile base ------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size{
  -webkit-appearance:none;
  appearance:none;
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  margin:0;
  font-family:Montserrat,sans-serif;
  color:#0D544B;
  cursor:pointer;
  border:1px solid #DCE8E2;
  border-radius:8px;
  box-shadow:none;
  transform:none;
  transition:background-color .15s ease,border-color .15s ease;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color:focus-visible,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size:focus-visible,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disclose:focus-visible,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc a:focus-visible{
  outline:3px solid #0D544B;
  outline-offset:2px;
}

/* ---- colour tiles ----------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-colors{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color{
  gap:5px;
  min-height:98px;
  padding:10px 8px;
  background:#FAFBF9;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color:hover{
  background:#F0F6F2;
  border-color:#A8C3B7;
  transform:none;
  box-shadow:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color[aria-pressed="true"]{
  background:#EDF6F0;
  border:1.5px solid #0D544B;
  box-shadow:none;
  transform:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color img{
  width:50px;
  height:50px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 3px 3px rgba(12,56,52,.15));
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cname{
  font-family:Montserrat,sans-serif;
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#0D544B;
  white-space:nowrap;
}

/* ---- size tiles ------------------------------------------- */
/* row-gap 20px (V6 uses 14px). V6 shows 4 sizes in one row, so its
   badges never sit under another tile. This calculator shows 8, so
   the second row's badge needs clearance. 20px gives 12px rather
   than 6px, and costs no height in the default collapsed state. */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sizes{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  row-gap:20px;
  margin-top:13px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size{
  min-height:72px;
  padding:12px 6px 10px;
  background:#fff;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size:hover:not(:disabled){
  background:#F6FAF7;
  border-color:#9BBEAE;
  transform:none;
  box-shadow:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size[aria-pressed="true"]{
  background:#EFF7F2;
  border:1.5px solid #0D544B;
  box-shadow:none;
  transform:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size:disabled{
  cursor:not-allowed;
  opacity:.45;
  background:#F6F7F5;
  border-style:dashed;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sct{
  font-family:Montserrat,sans-serif;
  font-size:15px;
  font-weight:700;
  letter-spacing:-.025em;
  line-height:1.25;
  white-space:nowrap;
  color:#0D544B;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sprice{
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:600;
  line-height:1.35;
  color:#42665B;
  font-variant-numeric:tabular-nums;
  margin-top:3px;
  white-space:nowrap;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size:disabled .pc-sprice{
  font-size:9.5px;
  letter-spacing:.02em;
}

/* ---- navy popularity badges (literal #1F3A5F, NOT --st-navy) */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-badge{
  position:absolute;
  top:-9px;
  left:50%;
  transform:translateX(-50%);
  z-index:2;
  background:#1F3A5F;
  color:#fff;
  border-radius:999px;
  font-family:Montserrat,sans-serif;
  font-size:8px;
  font-weight:700;
  letter-spacing:.07em;
  line-height:1;
  text-transform:uppercase;
  padding:4px 8px 3px;
  white-space:nowrap;
}

/* ---- tick ------------------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-tick{
  position:absolute;
  right:6px;
  top:6px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#0D544B;
  color:#fff;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:3;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-tick svg{
  width:11px;
  height:11px;
  display:block;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc [aria-pressed="true"] > .pc-tick{
  display:flex;
}

/* ---- disclosure ------------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disclose{
  -webkit-appearance:none;
  appearance:none;
  display:inline-block;
  border:0;
  background:none;
  margin:0;
  padding:11px 1px 1px;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  text-align:left;
  color:#0D544B;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-color:#B8CBBF;
  transform:none;
  box-shadow:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disclose:hover{
  text-decoration-color:#0D544B;
  transform:none;
  box-shadow:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-note{
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:1.55;
  color:#667E74;
  margin:9px 0 0;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-note:empty{
  display:none;
}

/* ---- size-based benefit ----------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-benefit{
  display:flex;
  align-items:flex-start;
  gap:10px;
  background:#F4F8F5;
  border:1px solid #E7EFE9;
  border-radius:7px;
  padding:11px 12px;
  margin-top:18px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-bicon{
  flex:none;
  width:20px;
  height:20px;
  border:1px solid #C6D9CE;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:700;
  color:#0D544B;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-bcopy{
  font-family:Montserrat,sans-serif;
  font-size:11.5px;
  font-weight:400;
  line-height:1.6;
  color:#547164;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-bcopy strong{
  color:#0D544B;
  font-weight:700;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-bcopy a{
  color:#0D544B;
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-color:#B8CBBF;
}

/* ---- footer / conversion pathway -------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-foot{
  display:flex;
  flex-direction:column;
  gap:12px;
  border-top:1px solid rgba(13,84,75,.07);
  margin-top:18px;
  padding-top:16px;
}
/* width:max-content neutralises #pricing a{text-align:center!important} */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-tablelink{
  display:block;
  width:max-content;
  max-width:100%;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.015em;
  color:#0D544B;
  text-decoration:none;
  border-bottom:1px solid #C0D2C6;
  padding-bottom:4px;
  margin:0 0 1px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-tablelink:hover{
  border-bottom-color:#0D544B;
}
/* Primary CTA - fully self-contained.
   It deliberately does NOT carry .btn-primary. The sitewide button
   class would have forced four overrides (white-space:nowrap,
   min-height:44px, display:inline-flex, and the :hover lift +
   shadow) in order to inherit three declarations. Writing those
   three directly removes every specificity conflict instead.
   Values are identical to the approved homepage V6 CTA.
   No shadow and no movement in normal, hover, focus or active.    */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cta{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:56px;
  height:auto;
  padding:13px 10px;
  background-color:#0D544B;
  color:#fff;
  border:1px solid #0D544B;
  border-radius:0;
  font-family:Montserrat,sans-serif;
  font-size:12px;
  font-weight:600;
  letter-spacing:.04em;
  line-height:1.4;
  text-transform:none;
  text-decoration:none;
  white-space:normal;
  box-shadow:none;
  transform:none;
  transition:background-color .2s ease,color .2s ease;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cta:hover,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cta:focus,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cta:active{
  background-color:#0B463F;
  color:#fff;
  border-color:#0B463F;
  box-shadow:none;
  transform:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-reassure{
  font-family:Montserrat,sans-serif;
  font-size:11px;
  font-weight:400;
  line-height:1.5;
  color:#58766A;
  text-align:center;
  margin:0;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-deposit{
  display:block;
  width:max-content;
  max-width:100%;
  margin:0 auto;
  font-family:Montserrat,sans-serif;
  font-size:11px;
  font-weight:600;
  color:#0D544B;
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:#B3C9BD;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-deposit:hover{
  text-decoration-color:#0D544B;
}

/* ---- visually hidden single live region ------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
  border:0;
}

/* ---- >= 1220px ------------------------------------------- */
@media (min-width:1220px){
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-head{
    grid-template-columns:32% 68%;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-visual{
    min-height:178px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-info{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);
    align-items:center;
    gap:14px;
    padding:20px 22px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pricebox{
    text-align:right;
    justify-self:end;
    width:auto;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-choice{
    width:auto;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-caption{
    font-size:11px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-plabel{
    font-size:9px;
  }
}

/* ---- < 768px --------------------------------------------- */
@media (max-width:767.98px){
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-head{
    grid-template-columns:36% 64%;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-visual{
    min-height:142px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-visual::after{
    width:min(108px,86%);
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-gem{
    width:min(96px,80%);
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-info{
    gap:11px;
    padding:13px 12px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-ct{
    font-size:23px;
    margin-bottom:4px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-caption{
    font-size:10.5px;
    line-height:1.35;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-plabel{
    font-size:9px;
    letter-spacing:.075em;
    margin-bottom:3px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pvalue{
    font-size:29px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-body{
    padding:16px 14px 18px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-group + .pc-group{
    margin-top:16px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-colors{
    gap:7px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color{
    min-height:88px;
    padding:9px 4px 8px;
    gap:4px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color img{
    width:44px;
    height:44px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cname{
    font-size:8.5px;
    letter-spacing:.03em;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sizes{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    row-gap:20px;
    margin-top:12px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size{
    min-height:70px;
    padding:11px 10px 9px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size .pc-tick{
    top:auto;
    bottom:5px;
    right:5px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cta{
    min-height:48px;
  }
}

/* ---- <= 360px -------------------------------------------- */
@media (max-width:360px){
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-body{
    padding-left:12px;
    padding-right:12px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-info{
    padding-right:9px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-ct{
    font-size:21px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pvalue{
    font-size:27px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-colors{
    gap:5px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cname{
    font-size:8px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sct{
    font-size:14px;
  }
}

/* ---- reduced motion -------------------------------------- */
@media (prefers-reduced-motion:reduce){
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color,
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size,
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cta{
    transition:none;
  }
}
/* ===== end PRICING PAGE CALCULATOR V2 ====================== */

/* ---------------------------------------------------------------
   Pricing V2 calculator - neutralise the theme hero pull-up.
   .page-template-pricing_v2_temp section:first-of-type sets
   margin-top:-57px, intended for the page hero. The calculator
   first .pc-group is also a section:first-of-type inside .pc-body,
   so it was pulled 57px up into the gradient header.
   Added 2026-10-17. Scoped to page 20423 only.
--------------------------------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-group:first-of-type{
  margin-top:0;
  padding-top:0;
}
/* ---------------------------------------------------------------
   PRICING V4 COMPACT - calculator only, page 20423 only.
   Appended 2026-10-17 after the V2 block. Overrides the V2 block
   by document order at equal specificity. No !important anywhere.

   STRUCTURAL ISOLATION: V4 uses <div class="pc-g"> for the two
   control groups, not <section>. The theme rule
     .page-template-pricing_v2_temp section:first-of-type
       { padding-top:0; margin-top:-57px }
   therefore cannot match anything inside the calculator, and the
   first group carries no top margin of its own - vertical rhythm
   is set only by .pc-g + .pc-g. This removes the overlap class of
   bug by construction rather than by a counter-override.
   (The earlier override on .pc-group is now inert: V4 ships no
   .pc-group element. It is left in place to avoid an extra write.)
--------------------------------------------------------------- */

/* ---- header band: shorter, same visual language --------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-visual{
  min-height:142px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-gem{
  width:min(110px,73%);
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-info{
  padding:17px 18px;
  gap:8px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-ct{
  font-size:24px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-caption{
  margin-top:5px;
  font-size:11.5px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-plabel{
  font-size:9px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pvalue{
  font-size:34px;
}

/* ---- body and group rhythm ------------------------------------ */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-body{
  padding:15px 21px 17px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-g + .pc-g{
  margin-top:10px;
}

/* ---- section heading with the disclosure control inline ------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 6px;
  min-height:35px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-step{
  display:block;
  margin:0;
  padding:0;
  border:0;
  font-family:Montserrat,Arial,sans-serif;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.125em;
  line-height:1.35;
  text-transform:uppercase;
  color:#0D544B;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disc{
  appearance:none;
  -webkit-appearance:none;
  background:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:8px 3px 8px 9px;
  color:#0D544B;
  font-family:Montserrat,Arial,sans-serif;
  font-size:12.5px;
  font-weight:600;
  line-height:1.25;
  letter-spacing:0;
  text-transform:none;
  text-decoration:none;
  white-space:nowrap;
  cursor:pointer;
  transform:none;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disc-t{
  text-decoration:underline;
  text-decoration-color:#B8CBBF;
  text-underline-offset:4px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disc:hover .pc-disc-t{
  text-decoration-color:#0D544B;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disc:focus-visible{
  outline:3px solid #0D544B;
  outline-offset:3px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-chev{
  width:8px;
  height:8px;
  flex:none;
  display:inline-block;
  border-right:1.5px solid currentColor;
  border-bottom:1.5px solid currentColor;
  transform:translateY(-2px) rotate(45deg);
  transition:transform .15s ease;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disc[aria-expanded="true"] .pc-chev{
  transform:translateY(2px) rotate(225deg);
}

/* ---- selection tiles: tighter, touch targets kept comfortable -- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-colors{
  gap:8px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color{
  min-height:82px;
  padding:7px 5px;
  gap:3px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color img{
  width:43px;
  height:43px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-cname{
  font-size:10px;
  letter-spacing:.045em;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sizes{
  padding-top:8px;
  gap:8px;
  row-gap:20px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size{
  min-height:67px;
  padding:12px 6px 8px;
  gap:2px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sct{
  font-size:15px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sprice{
  font-size:12.5px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-note{
  margin-top:7px;
  font-size:11.5px;
}

/* ---- benefit: compact inline line, not a panel ---------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-micro{
  display:flex;
  align-items:center;
  gap:8px;
  margin:13px 0 0;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  min-height:24px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-micro .pc-bicon{
  width:18px;
  height:18px;
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #C6D9CE;
  border-radius:50%;
  background:#EDF6F0;
  color:#0D544B;
  font-size:11px;
  font-weight:700;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-micro .pc-bcopy{
  font-size:11.5px;
  line-height:1.45;
  color:#547164;
}

/* ---- CTA area -------------------------------------------------- */
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-foot{
  display:flex;
  flex-direction:column;
  gap:0;
  margin-top:12px;
  padding-top:12px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-reassure{
  margin:9px 0 0;
  font-size:11.5px;
  line-height:1.45;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-top:12px;
}
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-links .pc-tablelink,
body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-links .pc-deposit{
  display:inline-block;
  width:auto;
  max-width:100%;
  margin:0;
  font-size:11.5px;
  line-height:1.45;
  font-weight:600;
  text-align:left;
}

/* ---- mobile ---------------------------------------------------- */
@media (max-width:767.98px){
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-visual{
    min-height:117px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-gem{
    width:min(87px,77%);
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-info{
    padding:11px;
    gap:8px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-ct{
    font-size:22px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-caption{
    margin-top:3px;
    font-size:10.5px;
    line-height:1.35;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-plabel{
    font-size:8.5px;
    letter-spacing:.065em;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pvalue{
    font-size:28px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-body{
    padding:12px 14px 15px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-bar{
    margin-bottom:5px;
    min-height:34px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-step{
    font-size:11px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-disc{
    min-height:44px;
    font-size:12px;
    padding:7px 2px 7px 5px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-colors{
    gap:7px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color{
    min-height:76px;
    padding:6px 3px;
    gap:2px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-color img{
    width:40px;
    height:40px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sizes{
    gap:8px;
    row-gap:20px;
    padding-top:8px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-size{
    min-height:66px;
    padding:10px 7px 8px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-sprice{
    font-size:12px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-micro{
    margin-top:13px;
    gap:7px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-micro .pc-bcopy{
    font-size:11px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-foot{
    margin-top:11px;
    padding-top:10px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-reassure{
    margin-top:8px;
    font-size:11px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-links{
    margin-top:11px;
    gap:8px 12px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-links .pc-tablelink,
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-links .pc-deposit{
    font-size:10.5px;
  }
}

@media (max-width:360px){
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-body{
    padding-left:12px;
    padding-right:12px;
  }
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-pvalue{
    font-size:27px;
  }
}

@media (prefers-reduced-motion:reduce){
  body.page-id-20423.page-template-pricing_v2_temp #sd-pc .pc-chev{
    transition:none;
  }
}

/* ============================================================
   Saint Diamonds — shared final CTA component
   Added 2026-10-19. Scoped to five page templates only.
   The Jewelry reference (.closing inside .jwl26) is NOT touched.
   ============================================================ */
.page-template-homeversion2-2026 .sd-closing,
.page-template-howitworks2026 .sd-closing,
.page-template-pricing_v2_temp .sd-closing,
.page-template-memorialdiamond2026 .sd-closing,
.page-template-petmemorial2026 .sd-closing{padding-top:70px;padding-bottom:80px;margin-top:0;margin-bottom:0}
.page-template-homeversion2-2026 .sd-closing-grid,
.page-template-howitworks2026 .sd-closing-grid,
.page-template-pricing_v2_temp .sd-closing-grid,
.page-template-memorialdiamond2026 .sd-closing-grid,
.page-template-petmemorial2026 .sd-closing-grid{display:grid;grid-template-columns:41% 1fr;align-items:center;gap:9%;max-width:1152px;margin-left:auto;margin-right:auto;text-align:left}
.page-template-homeversion2-2026 .sd-closing-photo,
.page-template-howitworks2026 .sd-closing-photo,
.page-template-pricing_v2_temp .sd-closing-photo,
.page-template-memorialdiamond2026 .sd-closing-photo,
.page-template-petmemorial2026 .sd-closing-photo{aspect-ratio:1.4/1;height:auto;overflow:hidden;background:#E5E7E3;margin:0;border-radius:0}
.page-template-homeversion2-2026 .sd-closing-photo img,
.page-template-howitworks2026 .sd-closing-photo img,
.page-template-pricing_v2_temp .sd-closing-photo img,
.page-template-memorialdiamond2026 .sd-closing-photo img,
.page-template-petmemorial2026 .sd-closing-photo img{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:none;max-height:none;margin:0;padding:0;object-fit:cover;object-position:center center;border-radius:0;box-shadow:none;opacity:1;scale:none;transform:none;filter:none;transition:none}
.page-template-homeversion2-2026 .sd-closing-photo img:hover,
.page-template-howitworks2026 .sd-closing-photo img:hover,
.page-template-pricing_v2_temp .sd-closing-photo img:hover,
.page-template-memorialdiamond2026 .sd-closing-photo img:hover,
.page-template-petmemorial2026 .sd-closing-photo img:hover{scale:none;transform:none;opacity:1;filter:none}
.page-template-petmemorial2026 .sd-closing-photo img{object-position:50% 55%}
.page-template-homeversion2-2026 .sd-closing-copy,
.page-template-howitworks2026 .sd-closing-copy,
.page-template-pricing_v2_temp .sd-closing-copy,
.page-template-memorialdiamond2026 .sd-closing-copy,
.page-template-petmemorial2026 .sd-closing-copy{text-align:left}
.page-template-homeversion2-2026 .sd-closing-pre,
.page-template-howitworks2026 .sd-closing-pre,
.page-template-pricing_v2_temp .sd-closing-pre,
.page-template-memorialdiamond2026 .sd-closing-pre,
.page-template-petmemorial2026 .sd-closing-pre{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 6px;font-family:Montserrat,sans-serif;font-size:12px;line-height:1.5}
.page-template-homeversion2-2026 .sd-closing-pre *,
.page-template-howitworks2026 .sd-closing-pre *,
.page-template-pricing_v2_temp .sd-closing-pre *,
.page-template-memorialdiamond2026 .sd-closing-pre *,
.page-template-petmemorial2026 .sd-closing-pre *{font-family:Montserrat,sans-serif;margin:0}
.page-template-homeversion2-2026 .sd-closing-head,
.page-template-howitworks2026 .sd-closing-head,
.page-template-pricing_v2_temp .sd-closing-head,
.page-template-memorialdiamond2026 .sd-closing-head,
.page-template-petmemorial2026 .sd-closing-head{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(46px,4.5vw,66px);font-weight:500;line-height:1.03;letter-spacing:-0.033em;color:#0D544B;margin:11px 0 0;text-align:left}
.page-template-homeversion2-2026 .sd-closing-head em,
.page-template-howitworks2026 .sd-closing-head em,
.page-template-pricing_v2_temp .sd-closing-head em,
.page-template-memorialdiamond2026 .sd-closing-head em,
.page-template-petmemorial2026 .sd-closing-head em{font-weight:400;font-style:italic}
.page-template-homeversion2-2026 .sd-closing-intro,
.page-template-howitworks2026 .sd-closing-intro,
.page-template-pricing_v2_temp .sd-closing-intro,
.page-template-memorialdiamond2026 .sd-closing-intro,
.page-template-petmemorial2026 .sd-closing-intro{font-family:Montserrat,sans-serif;font-size:15px;font-weight:400;line-height:27.3px;color:#4B5E55;max-width:550px;margin:18px 0 23px;text-align:left}
.page-template-homeversion2-2026 .sd-closing-actions,
.page-template-howitworks2026 .sd-closing-actions,
.page-template-pricing_v2_temp .sd-closing-actions,
.page-template-memorialdiamond2026 .sd-closing-actions,
.page-template-petmemorial2026 .sd-closing-actions{display:flex;flex-wrap:wrap;align-items:stretch;gap:12px;margin:0;justify-content:flex-start}
.page-template-homeversion2-2026 .sd-closing-actions .sd-pill,
.page-template-howitworks2026 .sd-closing-actions .sd-pill,
.page-template-pricing_v2_temp .sd-closing-actions .sd-pill,
.page-template-memorialdiamond2026 .sd-closing-actions .sd-pill,
.page-template-petmemorial2026 .sd-closing-actions .sd-pill{display:flex;align-items:center;justify-content:center;text-align:center;flex:1 1 auto;width:auto;padding:15px 28px;min-height:48px;height:auto;border:1px solid #0D544B;border-radius:0;box-shadow:none;font-family:Montserrat,sans-serif;font-size:12px;font-weight:600;line-height:15.6px;letter-spacing:0.48px;text-decoration:none;white-space:normal;transition:background-color .18s,border-color .18s,color .18s}
.page-template-homeversion2-2026 .sd-closing-actions .sd-pill--primary,
.page-template-howitworks2026 .sd-closing-actions .sd-pill--primary,
.page-template-pricing_v2_temp .sd-closing-actions .sd-pill--primary,
.page-template-memorialdiamond2026 .sd-closing-actions .sd-pill--primary,
.page-template-petmemorial2026 .sd-closing-actions .sd-pill--primary{background:#0D544B;color:#fff}
.page-template-homeversion2-2026 .sd-closing-actions .sd-pill--ghost,
.page-template-howitworks2026 .sd-closing-actions .sd-pill--ghost,
.page-template-pricing_v2_temp .sd-closing-actions .sd-pill--ghost,
.page-template-memorialdiamond2026 .sd-closing-actions .sd-pill--ghost,
.page-template-petmemorial2026 .sd-closing-actions .sd-pill--ghost{background:transparent;color:#0D544B}
.page-template-homeversion2-2026 .sd-closing-actions .sd-pill--primary:hover,
.page-template-howitworks2026 .sd-closing-actions .sd-pill--primary:hover,
.page-template-pricing_v2_temp .sd-closing-actions .sd-pill--primary:hover,
.page-template-memorialdiamond2026 .sd-closing-actions .sd-pill--primary:hover,
.page-template-petmemorial2026 .sd-closing-actions .sd-pill--primary:hover{background:#0A443D;border-color:#0A443D;color:#fff}
.page-template-homeversion2-2026 .sd-closing-actions .sd-pill--ghost:hover,
.page-template-howitworks2026 .sd-closing-actions .sd-pill--ghost:hover,
.page-template-pricing_v2_temp .sd-closing-actions .sd-pill--ghost:hover,
.page-template-memorialdiamond2026 .sd-closing-actions .sd-pill--ghost:hover,
.page-template-petmemorial2026 .sd-closing-actions .sd-pill--ghost:hover{background:rgba(13,84,75,.04);color:#0D544B}
.page-template-homeversion2-2026 .sd-closing-actions .sd-pill:focus-visible,
.page-template-howitworks2026 .sd-closing-actions .sd-pill:focus-visible,
.page-template-pricing_v2_temp .sd-closing-actions .sd-pill:focus-visible,
.page-template-memorialdiamond2026 .sd-closing-actions .sd-pill:focus-visible,
.page-template-petmemorial2026 .sd-closing-actions .sd-pill:focus-visible{outline:3px solid #79B4A2;outline-offset:3px}
.page-template-homeversion2-2026 .sd-closing-small,
.page-template-howitworks2026 .sd-closing-small,
.page-template-pricing_v2_temp .sd-closing-small,
.page-template-memorialdiamond2026 .sd-closing-small,
.page-template-petmemorial2026 .sd-closing-small{font-family:Montserrat,sans-serif;font-size:12px;font-weight:400;line-height:20.64px;color:#65786F;max-width:590px;margin:15px 0 0;text-align:left}
.page-template-homeversion2-2026 .sd-closing-extras,
.page-template-howitworks2026 .sd-closing-extras,
.page-template-pricing_v2_temp .sd-closing-extras,
.page-template-memorialdiamond2026 .sd-closing-extras,
.page-template-petmemorial2026 .sd-closing-extras{max-width:1152px;margin:30px auto 0}
.page-template-homeversion2-2026 .sd-closing-extras-in,
.page-template-howitworks2026 .sd-closing-extras-in,
.page-template-pricing_v2_temp .sd-closing-extras-in,
.page-template-memorialdiamond2026 .sd-closing-extras-in,
.page-template-petmemorial2026 .sd-closing-extras-in{border-top:1px solid rgba(24,38,36,.10);border-bottom:1px solid rgba(24,38,36,.10);padding:20px 0}
.page-template-homeversion2-2026 .sd-closing-extras-in > span,
.page-template-howitworks2026 .sd-closing-extras-in > span,
.page-template-pricing_v2_temp .sd-closing-extras-in > span,
.page-template-memorialdiamond2026 .sd-closing-extras-in > span,
.page-template-petmemorial2026 .sd-closing-extras-in > span{display:block;font-family:Montserrat,sans-serif;font-size:10px;font-weight:600;letter-spacing:1.9px;text-transform:uppercase;color:#5C8A80;line-height:15px}
.page-template-homeversion2-2026 .sd-closing-extras-in ul,
.page-template-howitworks2026 .sd-closing-extras-in ul,
.page-template-pricing_v2_temp .sd-closing-extras-in ul,
.page-template-memorialdiamond2026 .sd-closing-extras-in ul,
.page-template-petmemorial2026 .sd-closing-extras-in ul{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 48px}
.page-template-homeversion2-2026 .sd-closing-extras-in li,
.page-template-howitworks2026 .sd-closing-extras-in li,
.page-template-pricing_v2_temp .sd-closing-extras-in li,
.page-template-memorialdiamond2026 .sd-closing-extras-in li,
.page-template-petmemorial2026 .sd-closing-extras-in li{display:flex;align-items:flex-start;gap:9px;margin:0;padding:0;position:relative;font-family:Montserrat,sans-serif;font-size:13px;font-weight:400;line-height:1.6;color:#4B5E55;text-transform:none;letter-spacing:normal}
.page-template-homeversion2-2026 .sd-closing-extras-in li *,
.page-template-howitworks2026 .sd-closing-extras-in li *,
.page-template-pricing_v2_temp .sd-closing-extras-in li *,
.page-template-memorialdiamond2026 .sd-closing-extras-in li *,
.page-template-petmemorial2026 .sd-closing-extras-in li *{font-family:Montserrat,sans-serif;font-size:13px;font-weight:400;line-height:1.6;color:#4B5E55;text-transform:none;letter-spacing:normal;position:static;float:none;transform:none}
.page-template-homeversion2-2026 .sd-closing-extras-in li > span:first-child,
.page-template-howitworks2026 .sd-closing-extras-in li > span:first-child,
.page-template-pricing_v2_temp .sd-closing-extras-in li > span:first-child,
.page-template-memorialdiamond2026 .sd-closing-extras-in li > span:first-child,
.page-template-petmemorial2026 .sd-closing-extras-in li > span:first-child{flex:0 0 16px;width:16px;height:16px;margin:2px 0 0;color:#5C8A80;font-size:11px;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:900px){
.page-template-homeversion2-2026 .sd-closing-grid,
.page-template-howitworks2026 .sd-closing-grid,
.page-template-pricing_v2_temp .sd-closing-grid,
.page-template-memorialdiamond2026 .sd-closing-grid,
.page-template-petmemorial2026 .sd-closing-grid{grid-template-columns:45% 1fr;gap:5%}
}
@media (max-width:680px){
.page-template-homeversion2-2026 .sd-closing,
.page-template-howitworks2026 .sd-closing,
.page-template-pricing_v2_temp .sd-closing,
.page-template-memorialdiamond2026 .sd-closing,
.page-template-petmemorial2026 .sd-closing{padding-top:49px;padding-bottom:36px}
.page-template-homeversion2-2026 .sd-closing-grid,
.page-template-howitworks2026 .sd-closing-grid,
.page-template-pricing_v2_temp .sd-closing-grid,
.page-template-memorialdiamond2026 .sd-closing-grid,
.page-template-petmemorial2026 .sd-closing-grid{display:flex;flex-direction:column-reverse;align-items:stretch;gap:22px}
.page-template-homeversion2-2026 .sd-closing-head,
.page-template-howitworks2026 .sd-closing-head,
.page-template-pricing_v2_temp .sd-closing-head,
.page-template-memorialdiamond2026 .sd-closing-head,
.page-template-petmemorial2026 .sd-closing-head{font-size:clamp(43px,11vw,56px)}
.page-template-homeversion2-2026 .sd-closing-intro,
.page-template-howitworks2026 .sd-closing-intro,
.page-template-pricing_v2_temp .sd-closing-intro,
.page-template-memorialdiamond2026 .sd-closing-intro,
.page-template-petmemorial2026 .sd-closing-intro{font-size:13px}
.page-template-homeversion2-2026 .sd-closing-small,
.page-template-howitworks2026 .sd-closing-small,
.page-template-pricing_v2_temp .sd-closing-small,
.page-template-memorialdiamond2026 .sd-closing-small,
.page-template-petmemorial2026 .sd-closing-small{font-size:11px}
.page-template-homeversion2-2026 .sd-closing-extras,
.page-template-howitworks2026 .sd-closing-extras,
.page-template-pricing_v2_temp .sd-closing-extras,
.page-template-memorialdiamond2026 .sd-closing-extras,
.page-template-petmemorial2026 .sd-closing-extras{margin-top:24px}
.page-template-homeversion2-2026 .sd-closing-extras-in,
.page-template-howitworks2026 .sd-closing-extras-in,
.page-template-pricing_v2_temp .sd-closing-extras-in,
.page-template-memorialdiamond2026 .sd-closing-extras-in,
.page-template-petmemorial2026 .sd-closing-extras-in{padding:18px 0}
.page-template-homeversion2-2026 .sd-closing-extras-in ul,
.page-template-howitworks2026 .sd-closing-extras-in ul,
.page-template-pricing_v2_temp .sd-closing-extras-in ul,
.page-template-memorialdiamond2026 .sd-closing-extras-in ul,
.page-template-petmemorial2026 .sd-closing-extras-in ul{grid-template-columns:1fr;gap:10px}
}
@media (max-width:560px){
.page-template-homeversion2-2026 .sd-closing-actions,
.page-template-howitworks2026 .sd-closing-actions,
.page-template-pricing_v2_temp .sd-closing-actions,
.page-template-memorialdiamond2026 .sd-closing-actions,
.page-template-petmemorial2026 .sd-closing-actions{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:11px}
.page-template-homeversion2-2026 .sd-closing-actions .sd-pill,
.page-template-howitworks2026 .sd-closing-actions .sd-pill,
.page-template-pricing_v2_temp .sd-closing-actions .sd-pill,
.page-template-memorialdiamond2026 .sd-closing-actions .sd-pill,
.page-template-petmemorial2026 .sd-closing-actions .sd-pill{width:100%;flex:0 0 auto;min-width:0;padding:14px 16px;min-height:48px;height:auto;white-space:normal}
}


/* Final CTA gutter fix (2026-10-20).
   Pet Memorial carries a pre-existing `.page-template-petmemorial2026 .sd-section{padding:56px 0}`
   whose shorthand zeroes the side gutters and outranks Tailwind .px-6, so the CTA lost its
   mobile gutters once px-6 moved onto the section. Set the shared 24px gutter explicitly on all
   five CTAs so it is deterministic rather than class-order dependent.
   No-op on the other four: they already compute 24px. Never uses the padding shorthand, so each
   page keeps its own vertical rhythm. */
.page-template-homeversion2-2026 .sd-closing,
.page-template-howitworks2026 .sd-closing,
.page-template-pricing_v2_temp .sd-closing,
.page-template-memorialdiamond2026 .sd-closing,
.page-template-petmemorial2026 .sd-closing{padding-left:24px;padding-right:24px}


/* Final CTA intro + action spacing (2026-10-20).
   Several ACF intro fields store HTML (a <p> with its own legacy utility classes), not plain
   text. The intro wrapper is now a <div> so that markup nests legally instead of breaking out
   of a <p> and escaping the component. These rules pull anything inside the intro back to the
   shared 15px/27.3px Montserrat, and give the action row its own top margin so the gap above
   the buttons no longer depends on the intro existing or carrying a bottom margin.
   Sibling margins collapse, so Home and Pricing keep the spacing they already had. */
.page-template-homeversion2-2026 .sd-closing-intro *,
.page-template-howitworks2026 .sd-closing-intro *,
.page-template-pricing_v2_temp .sd-closing-intro *,
.page-template-memorialdiamond2026 .sd-closing-intro *,
.page-template-petmemorial2026 .sd-closing-intro *{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;letter-spacing:inherit}
.page-template-homeversion2-2026 .sd-closing-intro > p,
.page-template-howitworks2026 .sd-closing-intro > p,
.page-template-pricing_v2_temp .sd-closing-intro > p,
.page-template-memorialdiamond2026 .sd-closing-intro > p,
.page-template-petmemorial2026 .sd-closing-intro > p{margin:0 0 14px}
.page-template-homeversion2-2026 .sd-closing-intro > p:last-child,
.page-template-howitworks2026 .sd-closing-intro > p:last-child,
.page-template-pricing_v2_temp .sd-closing-intro > p:last-child,
.page-template-memorialdiamond2026 .sd-closing-intro > p:last-child,
.page-template-petmemorial2026 .sd-closing-intro > p:last-child{margin-bottom:0}
.page-template-homeversion2-2026 .sd-closing-actions,
.page-template-howitworks2026 .sd-closing-actions,
.page-template-pricing_v2_temp .sd-closing-actions,
.page-template-memorialdiamond2026 .sd-closing-actions,
.page-template-petmemorial2026 .sd-closing-actions{margin-top:23px}


/* Final CTA container width (2026-10-20).
   Widened 1152 -> 1320 to match the Jewelry reference exactly. The photo column stays 41%,
   so the image grows 472x337 -> 541x387 and the headings stop wrapping to two lines.
   Only binds above ~1200px; the 900/680/560 breakpoints are untouched, so tablet and mobile
   layouts are unchanged. */
.page-template-homeversion2-2026 .sd-closing-grid,
.page-template-howitworks2026 .sd-closing-grid,
.page-template-pricing_v2_temp .sd-closing-grid,
.page-template-memorialdiamond2026 .sd-closing-grid,
.page-template-petmemorial2026 .sd-closing-grid{max-width:1320px}


/* ==========================================================================
   Saint Diamonds — global navigation (2026-10-21)
   Full-width opaque white header, square corners, no pill, no shadow,
   sticky in normal document flow. 72 / 64 / 60px.
   Scoped to the header component and the two templates whose obsolete
   fixed-nav top offsets are corrected. No broad element selectors.
   ========================================================================== */

.sd-header{
  position:sticky; top:0; z-index:500;
  width:100%; box-sizing:border-box;
  background:#fff; border-radius:0; box-shadow:none;
  border-bottom:1px solid rgba(13,84,75,.12);
  height:72px; display:flex; align-items:center; padding:0 24px;
  font-family:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.sd-header-inner{
  display:flex; align-items:center; gap:24px;
  width:100%; max-width:1320px; margin:0 auto;
}
.sd-logo{ flex:0 0 auto; display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.sd-logo-img{ height:32px; width:auto; display:block; }
.sd-header-end{ flex:0 0 auto; display:flex; align-items:center; gap:12px; margin-left:auto; }

/* ---- desktop navigation ---- */
.sd-nav{ flex:1 1 auto; display:flex; justify-content:center; }
.sd-nav ul.primary{ display:flex; align-items:center; gap:4px; list-style:none; margin:0; padding:0; }
.sd-nav ul.primary > li{ position:relative; margin:0; }
.sd-nav ul.primary > li > a{
  display:inline-flex; align-items:center; min-height:44px; padding:0 14px;
  font-family:inherit; font-size:13px; font-weight:500; letter-spacing:.03em;
  line-height:1; color:#182624; text-decoration:none; white-space:nowrap;
}
.sd-nav ul.primary > li > a:hover{ color:#0D544B; }
.sd-nav ul.primary > li.current-menu-item > a,
.sd-nav ul.primary > li.current_page_item > a{ color:#0D544B; }

/* submenu panel */
.sd-nav ul.primary ul{
  position:absolute; top:100%; left:0; min-width:208px;
  background:#fff; border:1px solid rgba(13,84,75,.12);
  box-shadow:0 8px 24px rgba(13,84,75,.08);
  list-style:none; margin:0; padding:6px 0; display:none; z-index:510;
}
.sd-nav ul.primary > li.sd-open > ul{ display:block; }
.sd-nav ul.primary ul a{
  display:flex; align-items:center; min-height:44px; padding:0 18px; width:100%;
  box-sizing:border-box; font-family:inherit; font-size:13px; font-weight:400;
  color:#182624; text-decoration:none; white-space:nowrap;
}
.sd-nav ul.primary ul a:hover{ background:#FBF7F0; color:#0D544B; }

/* disclosure control (injected by the header script) */
.sd-disc{
  display:inline-flex; align-items:center; justify-content:center;
  background:none; border:0; cursor:pointer; color:#182624; padding:0;
}
.sd-disc--d{ min-width:36px; min-height:44px; margin-left:-8px; }
.sd-caret{
  display:inline-block; width:8px; height:8px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); margin-top:-4px;
}
li.sd-open > .sd-disc .sd-caret{ transform:rotate(225deg); margin-top:3px; }

/* ---- header CTA ---- */
.sd-cta{
  display:inline-flex; align-items:center; justify-content:center;
  min-height:44px; padding:13px 22px;
  border:1px solid #0D544B; border-radius:0; background:transparent; color:#0D544B;
  font-family:inherit; font-size:12px; font-weight:600; letter-spacing:.09em;
  text-transform:uppercase; text-decoration:none; white-space:nowrap;
}
.sd-cta:hover{ background:#0D544B; color:#fff; }

/* ---- labelled Menu control ---- */
.sd-menubtn{
  display:none; align-items:center; justify-content:center;
  min-width:44px; min-height:44px; padding:0 12px;
  background:none; border:0; cursor:pointer; color:#0D544B;
  font-family:inherit; font-size:12px; font-weight:600;
  letter-spacing:.09em; text-transform:uppercase;
}
.sd-menubtn-label{ pointer-events:none; }

/* ---- visible keyboard focus (replaces outline:none) ---- */
.sd-header a:focus-visible,
.sd-header button:focus-visible,
.sd-mobile a:focus-visible,
.sd-mobile button:focus-visible{
  outline:2px solid #0D544B; outline-offset:3px; border-radius:2px;
}

/* ---- mobile panel ---- */
.sd-mobile{
  position:fixed; top:0; right:0; bottom:0; left:0; z-index:1050;
  background:#fff; display:flex; flex-direction:column; overflow-y:auto;
  font-family:Montserrat,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.sd-mobile-top{
  flex:0 0 auto; display:flex; align-items:center; justify-content:space-between;
  height:60px; padding:0 16px; border-bottom:1px solid rgba(13,84,75,.12);
}
.sd-menubtn--close{ display:inline-flex; min-width:44px; min-height:44px; }
.sd-mobile-body{ flex:1 1 auto; padding:8px 16px 40px; }
.sd-mobile-body ul.mobileNav{ list-style:none; margin:0; padding:0; }
.sd-mobile-body ul.mobileNav li{ margin:0; }
.sd-mobile-body ul.mobileNav > li{
  display:flex; flex-wrap:wrap; align-items:center;
  border-bottom:1px solid rgba(13,84,75,.07);
}
.sd-mobile-body ul.mobileNav > li > a{
  flex:1 1 auto; display:flex; align-items:center; min-height:52px; padding:0 4px;
  font-family:inherit; font-size:16px; font-weight:500; line-height:1.2;
  color:#182624; text-decoration:none;
}
.sd-mobile-body .sd-disc--m{
  flex:0 0 52px; width:52px; min-width:52px; min-height:52px; color:#0D544B;
}
.sd-mobile-body ul.mobileNav ul{
  flex:1 0 100%; list-style:none; margin:0; padding:0 0 6px 16px; display:none;
}
.sd-mobile-body ul.mobileNav > li.sd-open > ul{ display:block; }
.sd-mobile-body ul.mobileNav ul a{
  display:flex; align-items:center; min-height:48px; padding:0 4px;
  font-family:inherit; font-size:15px; font-weight:400; color:#4B5E55; text-decoration:none;
}
.sd-cta--mobile{ display:flex; margin:24px 0 0; min-height:52px; }

/* ---- breakpoints: 72 / 64 / 60 ---- */
@media (max-width:1149px){
  .sd-header{ height:64px; }
  .sd-nav, .sd-header .sd-cta{ display:none; }
  .sd-menubtn{ display:inline-flex; }
}
@media (max-width:767px){
  .sd-header{ height:60px; padding:0 16px; }
}

/* ---- anchor offsets for the sticky header ---- */
html{ scroll-padding-top:72px; }
@media (max-width:1149px){ html{ scroll-padding-top:64px; } }
@media (max-width:767px){ html{ scroll-padding-top:60px; } }

/* ---- obsolete fixed-nav top offsets ----------------------------------
   The previous header was position:fixed and occupied no document space,
   so these templates padded their content down by the nav height + its
   top offset (87-88px desktop / 66px mobile). The header is now in normal
   flow, so only that compensation is removed; the remaining spacing is the
   page's own and is preserved.                                          */
.page-template-memorialdiamond2026 main{ padding-top:25px; }
.page-template-petmemorial2026 main{ padding-top:41px; }

/* Pricing used a .pt-28 wrapper (128px desktop / 112px mobile) for the same
   purpose. Exactly one such element exists and it is a direct child of body,
   so this cannot affect any other element. Target: 32px desktop, 24px mobile. */
body.page-template-pricing_v2_temp > .pt-28{ padding-top:89px; }
@media (max-width:767px){
  body.page-template-pricing_v2_temp > .pt-28{ padding-top:31px; }
}


/* ==========================================================================
   Saint Diamonds — navigation corrections (2026-10-21b)
   1. Desktop nav items: force an inline row and clear the inherited li
      padding. Fixes the chevron stacking below its link, and removes 240px
      of excess width that was clipping the CTA between 1150 and 1347px.
   2. Remove the header rule line.
   3. Remove the mobile menu divider lines.
   4. Restore the previous bar transparency: rgba(255,255,255,.7) + blur(20px),
      recovered from the original .nav-pill rule.
   ========================================================================== */

/* 1 — desktop nav row -------------------------------------------------------
   The inherited rule sets padding:5px 20px on every li and cannot be
   outranked from this stylesheet, so !important is required here. It is the
   only use of !important in the navigation CSS. */
.sd-nav ul.primary > li{
  display:flex; align-items:center;
  padding:0 !important;
}

/* 2 — no rule line under the header */
.sd-header{ border-bottom:0; }

/* 3 — no divider lines in the mobile menu */
.sd-mobile-top{ border-bottom:0; }
.sd-mobile-body ul.mobileNav > li{ border-bottom:0; }

/* 4 — previous bar transparency (was on .nav-pill) */
.sd-header{
  background:rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}

/* the theme supplies its own submenu toggle inside the mobile panel;
   give it a comfortable target instead of adding a second control */
.sd-mobile-body .sdsub-toggle{
  flex:0 0 44px; min-width:44px; min-height:44px;
  display:inline-flex; align-items:center; justify-content:center;
}

/* Memorial Diamonds, mobile: the desktop remainder (25px) is too small below
   768px, where the former fixed nav occupied 66px rather than 87px. Measured
   value giving the same 24px clearance used elsewhere on mobile. */
@media (max-width:767px){
  .page-template-memorialdiamond2026 main{ padding-top:63px; }
}

/* Header background correction (2026-10-21c).
   The approved navigation design is an opaque white, non-glass bar. The
   translucent values added earlier are reverted here, scoped to the
   navigation header only. Overlays and dialogs are untouched. */
.sd-header{
  background:#FFFFFF;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:none;
  border-radius:0;
}


/* ==========================================================================
   Saint Diamonds - Memorial Diamonds header clearance, 768-1023px band
   (2026-10-21c)

   Correction to my own error. The earlier rule used @media (max-width:767px),
   chosen on the assumption that the hero's negative top margin began at 768px.
   It does not: the hero carries margin-top:-39px below 1024px (a lg: Tailwind
   breakpoint). Measured on the live page:

     >=1150     header 72  hero margin   0   pad 25  -> gap  25  ok
     1024-1149  header 64  hero margin   0   pad 25  -> gap  25  ok
     768-1023   header 64  hero margin -39   pad 25  -> gap -14  OVERLAP
     <=767      header 60  hero margin -39   pad 63  -> gap  24  ok

   Only the 768-1023 band is wrong. This adds that one band and leaves every
   other width untouched, so 1024 and above keep padding-top:25px.
   ========================================================================== */
@media (min-width:768px) and (max-width:1023px){
  .page-template-memorialdiamond2026 main{ padding-top:64px; }
}


/* ==========================================================================
   Saint Diamonds - Jewelry menu item alignment (2026-10-21d)

   1+2. DESKTOP. The disclosure button was 36px wide with the caret centred
   inside it, sitting 8px past the anchor's 14px right padding. That put 18px
   between the label and the caret and made the Jewelry item 16px wider than
   its content, so the label-to-label rhythm ran 32 / 32 / 32 / 48 / 32 and
   Jewelry read as misaligned against Home and Pet Memorial.

   Dropping the parent anchor's right padding and left-aligning a narrow
   caret button gives: rhythm 32 / 32 / 32 / 35 / 32, label-to-caret 5px.
   The ::after expands the pointer target to 25x44 without adding layout
   width, so the button still exceeds the 24x24 minimum while the spacing
   stays even. It reaches 4px into the 4px inter-item gap only - the next
   item's own link area is unaffected (verified with elementFromPoint).

   3. MOBILE. Submenu-parent anchors inherit a theme ::before pseudo-element
   with empty content and width:46px. As a flex item it pushed the Jewelry
   label to x=66 while every other label sat at x=20. Removing it inside the
   mobile panel only aligns all six labels at x=20. The footer-generated
   toggle, the accordion and the 44x44 target are untouched.
   ========================================================================== */
.sd-nav ul.primary > li.menu-item-has-children > a{ padding-right:0; }
.sd-disc--d{
  position:relative; min-width:0; width:auto;
  padding:0 2px 0 7px; margin-left:0;
  min-height:44px; justify-content:flex-start;
}
.sd-disc--d::after{ content:""; position:absolute; top:0; bottom:0; left:-4px; right:-4px; }
.sd-mobile-body ul.mobileNav > li > a::before{ display:none; }


/* ==========================================================================
   Saint Diamonds - Pricing header clearance, 768-1023px band (2026-10-21e)

   Same fault as the Memorial Diamonds band: the earlier rule was bounded at
   max-width:767px, but the hero's negative top margin changes at 1024 (lg),
   not 768. Measured on the live page:

     >=1024     header 72/64  section margin -57  wrapper 89  -> gap 32  ok
     768-1023   header 64     section margin  -7  wrapper 89  -> gap 82  TOO LOOSE
     <=767      header 60     section margin  -7  wrapper 31  -> gap 24  ok

   Only the 768-1023 band is adjusted; 1024+ keeps 89px and <=767 keeps 31px.
   Exactly one .pt-28 element exists on this template and it is a direct child
   of body, so this selector cannot reach the calculator, the pricing table,
   the hero content or any other section.
   ========================================================================== */
@media (min-width:768px) and (max-width:1023px){
  body.page-template-pricing_v2_temp > .pt-28{ padding-top:39px; }
}


/* ==========================================================================
   Saint Diamonds - desktop Jewelry disclosure hit area (2026-10-21f)

   The previous ::after used left:-4px, which put the chevron's hit area over
   the last 5px of the "Jewelry" label itself: the Jewelry landing-page link
   measured 63 hittable pixels out of 67. Clicking the tail of the word opened
   the submenu instead of following the link.

   left:0 removes that overlap entirely (link back to 67/67). Width cannot be
   gained on the right: anything past the 4px inter-item gap is painted over
   by the adjacent "Memorial diamonds" anchor, so right:-7px measured no wider
   than right:-4px. Raising z-index above a sibling link is exactly the
   interference being avoided, so the horizontal extent stays at 21px.

   Height is free - the space above and below the control is header
   background - so the target is extended vertically instead:
     before  25x45, overlapping the label by 5px
     after   21x71, no overlap, entirely inside the 72px header

   Area rises from ~1,125 to ~1,491 square px. Visual geometry is untouched:
   the caret still sits 6px from the label and the item rhythm stays
   32/32/32/35/32.
   ========================================================================== */
.sd-disc--d::after{ top:-13px; bottom:-13px; left:0; right:-4px; }


/* ==========================================================================
   Saint Diamonds - Jewelry label vertical alignment (2026-10-21g)

   Reported: on desktop the "Jewelry" label sits higher than Pricing and
   Memorial diamonds, and snaps into line when the submenu is open.

   Cause: the earlier rule `.sd-nav ul.primary > li{display:flex}` never took
   effect - a more specific theme rule keeps these list items at
   `display:block`, and only the `padding:0 !important` in that rule survived.
   The label anchor and the chevron button are therefore inline-level siblings
   aligned on the text baseline, not flex items. The caret carries
   `margin-top:-4px` when closed, which drags the button's baseline down 2.5px,
   inflates the line box to 46.5px and lifts the label by 1.25px. When the
   submenu opens the caret margin flips to +3px, the error nearly cancels, and
   the label appears to snap into place - exactly the reported behaviour.

   Measured against Pricing's label top:
     closed  -1.25px (li 46.5)   open  +0.50px (li 45.0)
     after    0.00px (li 44.0)   both states

   `vertical-align:middle` centres both inline boxes on the same axis, so the
   fix holds regardless of which rule wins the `display` cascade. No
   !important, no change to horizontal rhythm, hit area or the mobile panel.
   ========================================================================== */
.sd-nav ul.primary > li > a,
.sd-nav ul.primary > li > .sd-disc--d{ vertical-align:middle; }


/* ==========================================================================
   Saint Diamonds - navigation: submenu colour, bar transparency, Menu label
   (2026-10-21h)

   1. SUBMENU FONT COLOUR. Three different colours were in play:
        top-level items      #182624
        desktop submenu      #0D544B  (teal)
        mobile submenu       #4B5E55  (muted grey-green)
      The desktop value was not mine - `#menu-header2026 .sub-menu a{color:#0D544B}`
      carries an ID, so it outranked `.sd-nav ul.primary ul a`. Re-scoping
      through the header's own id wins the cascade without !important.
      Both submenus now match the top-level items at #182624, with the
      existing teal kept for hover.

   2. BAR TRANSPARENCY. Restores the original `.nav-pill` treatment -
      background rgba(255,255,255,.7) with blur(20px) - read back out of the
      deployed stylesheet rather than from memory. NOTE: this reverses the
      2026-10-21b opaque-white correction. The pill's border, drop shadow and
      pill radius are NOT restored: the bar stays full-width, square and
      shadowless per the approved design.

   3. "Menu" NOT "MENU". `.sd-menubtn` carried text-transform:uppercase while
      the markup already reads "Menu". Removing the transform applies to the
      Close control too, so the pair stays consistent.

   3b. TARGET SIZE REGRESSION (found while checking 3, not caused by it).
      The live Menu button measured 32x32: a theme rule was overriding
      min-width, min-height and padding on `.sd-menubtn` (all computed 0px).
      The Close control escaped only because its extra `--close` class gave it
      more specificity. Scoping through the element id restores 44x44.
      The earlier "63x44" figure in the audit came from an injected preview,
      not from production - a measurement error on my part.
   ========================================================================== */

/* 1 - submenu font colour matches the top-level items */
#sd-header .sd-nav ul.primary ul a{ color:#182624; }
#sd-header .sd-nav ul.primary ul a:hover{ color:#0D544B; }
.sd-mobile-body ul.mobileNav ul a{ color:#182624; }

/* 2 - original bar transparency, square and shadowless */
.sd-header{
  background:rgba(255,255,255,.7);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
}

/* 3 - sentence case on the labelled controls */
.sd-menubtn{ text-transform:none; }

/* 3b - restore the 44x44 touch target on the Menu control */
#mobile-menu-btn.sd-menubtn{ min-width:44px; min-height:44px; padding:0 12px; }


/* ==========================================================================
   Saint Diamonds - header CTA sentence case (2026-10-21i)

   The ACF field already reads "Order Welcome Kit"; `.sd-cta` was applying
   text-transform:uppercase. Removing it matches the Menu/Close controls,
   which were set to sentence case in 2026-10-21h. Applies to the mobile
   panel CTA as well, so both read the same.

   Side effects, measured, all benign or better:
     desktop CTA block   203px -> 183px wide (height unchanged at 46px)
     nav off-centre      -22px -> -12px  (logo/CTA asymmetry 44 -> 24)
     nav-to-CTA clearance at 1150px   40px -> 50px
     mobile CTA          unchanged, full width 358x52
     overflow            0 at 1440 / 1200 / 1150 / 390
   ========================================================================== */
.sd-cta{ text-transform:none; }


/* ==========================================================================
   Saint Diamonds - homepage step images never load (2026-10-21j)

   Reported: the four "Ashes to Diamond - Step by Step" photos are missing.

   Cause: a circular width dependency.
     .sd-step       is display:flex; flex-direction:column; align-items:center
     .sd-step-media has no width of its own
     .sd-step-media img is width:100%

   With align-items:center the media box is sized by its content, and its only
   content is an image sized from the box. Neither can resolve, so both compute
   to 0x0. A zero-size box never intersects the viewport, so loading="lazy"
   never fetches the file. It is a race: whichever card is measured first wins
   and the rest stay collapsed permanently.

   Measured on the live homepage, scrolled into view:
     before   loaded 1 of 4   boxes 284x213, 0x0, 0x0, 0x0
     after    boxes 284x213 x4

   The image files were never the problem - all four return HTTP 200 as valid
   JPEGs (65-123 KB).

   align-self:stretch takes the media box out of the circular dependency by
   sizing it from the card instead of from its content. width:100% is belt and
   braces for the flex-basis rules that apply at narrower widths.

   Scoped to .sd-step-media only. Does not touch the step text, the numbers,
   the section padding, or the known sd-step-body overflow at 768px.
   ========================================================================== */
.sd-step-media{ align-self:stretch; width:100%; }
