@charset "UTF-8";
/* Public page presentation, motion and compact shared navigation. */
.header { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 50; background: rgba(255, 252, 249, 0.98); backdrop-filter: blur(12px); box-shadow: 0 4px 20px -8px rgba(23, 18, 15, 0.08); transition: all 0.3s ease; height: 74px; min-height: 74px; padding-block: 0; padding-left: max(4%, calc((100% - 1180px) / 2)); padding-right: max(4%, calc((100% - 1180px) / 2)); display: flex; align-items: center; justify-content: space-between; font-family: Montserrat, sans-serif !important; }
body.admin-bar .header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .header { top: 46px; } }
.header .brand { display: flex; align-items: center; flex-shrink: 0; }
.header .logo { height: 38px; width: auto; max-height: 42px; mix-blend-mode: multiply; display: block; }
.header nav { display: flex; align-items: center; gap: 32px; font-family: Montserrat, sans-serif !important; }
.header nav a, .header nav a:focus-visible { color: var(--ink, #17120F); font-family: Montserrat, sans-serif !important; font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; transition: color 0.2s ease; }
.header nav a { position: relative; }
.header nav a:after { content: ''; position: absolute; bottom: -4px; left: 0; width: 100%; height: 2px; background: var(--red, #D93B1F); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
.header nav a:hover:after, .header nav a:focus-visible:after { transform: scaleX(1); }
.header nav a:hover { color: var(--red, #D93B1F); }
.header-actions .login, .header .outline.login { display: inline-flex !important; align-items: center !important; justify-content: center !important; padding: 10px 24px !important; border-radius: 8px !important; border: 1.5px solid #D93B1F !important; color: #D93B1F !important; font-family: Montserrat, sans-serif !important; font-weight: 600 !important; font-size: 13.5px !important; background: #FFFFFF !important; transition: all 0.2s ease !important; text-decoration: none !important; cursor: pointer !important; white-space: nowrap !important; min-height: 42px !important; box-sizing: border-box !important; }
.header-actions .login:hover, .header .outline.login:hover, .header-actions .login:focus-visible, .header .outline.login:focus-visible { background: #D93B1F !important; background-color: #D93B1F !important; border-color: #D93B1F !important; color: #FFFFFF !important; transform: translateY(-1px) !important; box-shadow: 0 4px 14px rgba(217, 59, 31, 0.35) !important; }
.ss-plan-page { padding-bottom:clamp(28px,5vw,64px); }
/* ==========================================================================
   UNIFIED HERO TYPOGRAPHY & LAYOUT (.sv-hero-*)
   Harmonizes Home Plan, Commercial Plan, Furniture Plan with Home Page Hero
   ========================================================================== */
.sv-hero-section,
.ss-plan-hero {
	position: relative;
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 130px 0 60px !important;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: clamp(24px, 3.5vw, 44px);
	align-items: center;
	box-sizing: border-box;
}
body.admin-bar .sv-hero-section,
body.admin-bar .ss-plan-hero {
	padding-top: calc(130px + 32px) !important;
}

.sv-hero-copy,
.ss-plan-copy {
	position: relative;
	z-index: 2;
	min-width: 0;
	max-width: 520px;
	text-align: left;
}

.sv-hero-eyebrow,
.ss-plan-copy .eyebrow {
	font-family: Montserrat, sans-serif !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.2px !important;
	color: var(--muted, #7A726B) !important;
	margin: 0 0 16px !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 12px !important;
	line-height: 1 !important;
}
.sv-hero-eyebrow:after,
.ss-plan-copy .eyebrow:after {
	content: '' !important;
	display: inline-block !important;
	width: 49px !important;
	height: 1.5px !important;
	background: var(--red, #D93B1F) !important;
}

.sv-hero-title,
.ss-plan-copy h1 {
	font-family: Montserrat, sans-serif !important;
	font-weight: 800 !important;
	font-size: clamp(34px, 3.6vw, 50px) !important;
	letter-spacing: -0.03em !important;
	line-height: 1.15 !important;
	color: var(--ink, #17120F) !important;
	margin: 0 0 20px !important;
	max-width: none !important;
}
.sv-hero-title .hl,
.ss-plan-copy h1 .hl {
	color: var(--red, #D93B1F) !important;
}

.sv-hero-text,
.ss-plan-intro {
	font-family: Montserrat, sans-serif !important;
	font-size: 16.5px !important;
	line-height: 1.6 !important;
	color: var(--muted, #7A726B) !important;
	max-width: 420px !important;
	margin: 18px 0 28px !important;
}

.sv-hero-actions,
.ss-plan-hero .actions {
	display: flex !important;
	align-items: center !important;
	gap: 12px !important;
	flex-wrap: wrap !important;
}

.sv-hero-btn,
.ss-plan-hero .actions a,
.ss-plan-hero .actions .primary,
.ss-plan-hero .actions .secondary {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 10px !important;
	padding: 13px 26px !important;
	border-radius: 9px !important;
	font-family: Montserrat, sans-serif !important;
	font-weight: 600 !important;
	font-size: 14px !important;
	min-height: 48px !important;
	height: auto !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: pointer !important;
	transition: all .25s ease !important;
	box-sizing: border-box !important;
}

.sv-hero-btn--primary,
.ss-plan-hero .actions .primary {
	background: var(--red, #D93B1F) !important;
	border: 1.5px solid var(--red, #D93B1F) !important;
	color: #FFFFFF !important;
	box-shadow: 0 8px 22px -6px rgba(217, 59, 31, 0.42) !important;
}
.sv-hero-btn--primary:hover,
.ss-plan-hero .actions .primary:hover {
	background: var(--deep, #B32E16) !important;
	border-color: var(--deep, #B32E16) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 12px 26px -8px rgba(179, 46, 22, 0.5) !important;
}

.sv-hero-btn--secondary,
.ss-plan-hero .actions .secondary {
	background: #FFFFFF !important;
	border: 1.5px solid var(--muted, #7A726B) !important;
	color: var(--ink, #17120F) !important;
	box-shadow: none !important;
}
.sv-hero-btn--secondary:hover,
.ss-plan-hero .actions .secondary:hover {
	background: var(--ink, #17120F) !important;
	color: #FFFFFF !important;
	border-color: var(--ink, #17120F) !important;
	transform: translateY(-2px) !important;
}

.sv-hero-note,
.ss-hero-caption {
	font-family: Montserrat, sans-serif !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--muted, #7A726B) !important;
	margin-top: 18px !important;
	margin-bottom: 0 !important;
	line-height: 1.4 !important;
}

/* Responsive adjustments for unified hero typography */
@media (max-width: 1024px) {
	.sv-hero-section,
	.ss-plan-hero {
		padding: 100px 0 50px !important;
		gap: 32px !important;
	}
	body.admin-bar .sv-hero-section,
	body.admin-bar .ss-plan-hero {
		padding-top: calc(100px + 32px) !important;
	}
	.sv-hero-title,
	.ss-plan-copy h1 {
		font-size: clamp(34px, 4vw, 40px) !important;
	}
	.sv-hero-text,
	.ss-plan-intro {
		font-size: 16px !important;
	}
}

@media (max-width: 768px) {
	.sv-hero-section,
	.ss-plan-hero {
		padding: 84px 0 40px !important;
		grid-template-columns: 1fr !important;
		gap: 28px !important;
	}
	body.admin-bar .sv-hero-section,
	body.admin-bar .ss-plan-hero {
		padding-top: calc(84px + 46px) !important;
	}
	.sv-hero-copy,
	.ss-plan-copy {
		max-width: 520px !important;
		margin: 0 !important;
	}
	.sv-hero-title,
	.ss-plan-copy h1 {
		font-size: clamp(32px, 4.8vw, 38px) !important;
		line-height: 1.15 !important;
		max-width: none !important;
	}
	.sv-hero-text,
	.ss-plan-intro {
		font-size: 15.5px !important;
		line-height: 1.55 !important;
		margin: 14px 0 24px !important;
	}
	.sv-hero-actions,
	.ss-plan-hero .actions {
		justify-content: flex-start !important;
	}
}

@media (max-width: 680px) {
	.sv-hero-section,
	.ss-plan-hero {
		padding: 76px 16px 28px !important;
		gap: 20px !important;
		box-sizing: border-box !important;
	}
	body.admin-bar .sv-hero-section,
	body.admin-bar .ss-plan-hero {
		padding-top: calc(76px + 46px) !important;
	}
	.sv-hero-copy,
	.ss-plan-copy {
		max-width: 100% !important;
		margin: 0 !important;
	}
	.sv-hero-eyebrow,
	.ss-plan-copy .eyebrow {
		font-size: 11px !important;
		margin-bottom: 12px !important;
	}
	.sv-hero-title,
	.ss-plan-copy h1 {
		font-size: clamp(28px, 6.8vw, 34px) !important;
		line-height: 1.18 !important;
		letter-spacing: -0.025em !important;
		margin: 0 0 12px !important;
		max-width: none !important;
	}
	.sv-hero-text,
	.ss-plan-intro {
		font-size: 15px !important;
		line-height: 1.5 !important;
		margin: 10px 0 20px !important;
		max-width: 100% !important;
	}
	.sv-hero-actions,
	.ss-plan-hero .actions {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		gap: 10px !important;
	}
	.sv-hero-btn,
	.ss-plan-hero .actions a,
	.ss-plan-hero .actions .primary,
	.ss-plan-hero .actions .secondary {
		width: 100% !important;
		padding: 13px 20px !important;
		font-size: 14px !important;
		min-height: 46px !important;
		justify-content: center !important;
		text-align: center !important;
	}
	.sv-hero-note,
	.ss-hero-caption {
		font-size: 13px !important;
		margin-top: 14px !important;
	}
}

@media (max-width: 360px) {
	.sv-hero-title,
	.ss-plan-copy h1 {
		font-size: 28px !important;
	}
	.sv-hero-text,
	.ss-plan-intro {
		font-size: 14.5px !important;
	}
	.sv-hero-btn,
	.ss-plan-hero .actions a {
		font-size: 13.5px !important;
		padding: 12px 16px !important;
	}
}

.ss-plan-page .primary,.ss-plan-page .secondary { font-size:16px; font-weight:600; min-height:52px; }
.ss-plan-visual { position:relative; padding:0 0 78px 12px; isolation:isolate; margin-top:22px; }
.ss-plan-visual:before { content:''; position:absolute; inset:-24px; background:radial-gradient(ellipse at 75% 30%,var(--peach),transparent 70%); z-index:-1; border-radius:50%; transition:background .4s; }
.ss-plan-visual>.ss-motion-layer { position:relative; overflow:hidden; border-radius:28px; }
.ss-plan-room { width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.ss-visual-label { position:absolute; bottom:0; inset-inline:0; padding:24px; background:linear-gradient(transparent,var(--ink)); color:var(--paper); }
.ss-visual-label span { font-size:clamp(11px,1vw,13px); letter-spacing:.1em; display:block; margin-bottom:8px; }
.ss-visual-label strong { font-size:clamp(21px,2vw,27px); line-height:1.3; display:block; }
.ss-plan-visual>.ss-plan-detail { position:absolute; left:-18px; bottom:26px; width:42%; margin:0; border:5px solid var(--paper); border-radius:20px; box-shadow:0 20px 30px -24px var(--ink); background:var(--paper); }
.ss-plan-detail img { width:100%; height:auto; aspect-ratio:1.35; object-fit:cover; }
.ss-plan-detail figcaption { font-size:12px; padding:9px; font-weight:600; }
.ss-plan-visual>.ss-office-note { position:absolute; bottom:18px; left:-18px; background:var(--paper); border:1px solid var(--border); border-radius:20px; padding:22px 28px; box-shadow:0 20px 35px -28px var(--ink); }
.ss-office-note span { font-size:14px; color:var(--muted); }
.ss-office-note strong { display:block; font-size:clamp(23px,2vw,28px); line-height:1.2; margin-top:8px; }
.ss-starting-price { font-size:16px; margin:0 0 25px; }
.ss-starting-price strong { font-size:clamp(24px,2.4vw,32px); font-variant-numeric:tabular-nums; }
.ss-plan-jump { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; border-block:1px solid var(--border); padding:12px 0; }
.ss-plan-jump a { min-height:44px; display:flex; align-items:center; font-size:16px; font-weight:600; color:var(--ink); }
.ss-plan-jump a:hover { color:var(--deep); }
.ss-plan-section { padding-block:clamp(40px,6vw,76px); scroll-margin-top:28px; }
.ss-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:32px; margin-bottom:32px; }
.ss-section-heading h2,.ss-plan-faq h2,.ss-plan-final h2 { font-size:clamp(28px,3vw,40px); letter-spacing:-.035em; margin:0; line-height:1.2; }
.ss-section-heading>p { max-width:36ch; margin:0; color:var(--muted); font-size:16px; }
.ss-home-prices { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ss-price-card { border:1px solid var(--border); background:var(--paper); border-radius:20px; padding:clamp(20px,2.5vw,30px); display:flex; flex-direction:column; transition:border-color .25s,background .25s,box-shadow .25s; }
.ss-price-card:hover { border-color:var(--deep); background:var(--peach); box-shadow:0 16px 35px -30px var(--ink); }
.ss-plan-tag { font-size:12px; letter-spacing:.09em; font-weight:600; color:var(--muted); margin:0 0 20px; }
.ss-price-card h3 { font-size:clamp(20px,2vw,25px); letter-spacing:-.03em; margin:0; }
.ss-plan-price { font-size:clamp(28px,3vw,38px); font-weight:700; margin:24px 0 18px; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.ss-plan-price span { display:block; font-size:14px; color:var(--muted); font-weight:400; letter-spacing:0; }
.ss-price-total { border-block:1px solid var(--border); padding:14px 0; display:flex; flex-direction:column; gap:3px; font-size:14px; }
.ss-price-total strong { font-size:21px; font-variant-numeric:tabular-nums; }
.ss-plan-benefits { list-style:none; padding:0; margin:22px 0; font-size:16px; line-height:1.6; }
.ss-plan-benefits li { padding:7px 0 7px 22px; position:relative; }
.ss-plan-benefits li:before { content:'\2713'; position:absolute; left:0; color:var(--ink); }
.ss-price-breakdown { margin-top:auto; border-top:1px solid var(--border); margin-bottom:18px; }
.ss-price-breakdown summary { min-height:44px; padding-block:10px; font-size:14px; }
.ss-price-breakdown dl,.ss-quote-result dl { display:grid; grid-template-columns:1fr auto; gap:12px; font-size:16px; }
.ss-price-breakdown dd,.ss-quote-result dd { margin:0; font-variant-numeric:tabular-nums; font-weight:600; }
.ss-section-caption { font-size:14px; color:var(--muted); margin-top:22px; }
.ss-cover-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.ss-cover-card { border:1px solid var(--border); border-radius:16px; padding:24px; display:grid; grid-template-columns:64px 1fr; gap:6px 18px; transition:background .25s,border-color .25s,transform .25s ease,box-shadow .25s ease; }
.ss-cover-card:hover { background:var(--peach); border-color:var(--deep); transform:translateY(-4px); box-shadow:0 12px 24px -10px rgba(23, 18, 15, 0.1); }
.ss-cover-card img { grid-row:span 2; width:100%; height:auto; aspect-ratio:1; object-fit:contain; mix-blend-mode:multiply; }
.ss-cover-card h3 { font-size:16px; margin:0; line-height:1.4; }
.ss-cover-card p { font-size:14px; line-height:1.6; color:var(--muted); margin:0; }
.ss-plan-note { padding:24px; border-left:3px solid var(--ink); background:var(--peach); margin-top:26px; border-radius:0 12px 12px 0; }
.ss-plan-note p { font-size:16px; margin:10px 0 0; }
.ss-plan-note a,.ss-plan-faq a { color:var(--deep); text-decoration:underline; }
#joining .ss-section-heading { display:block; margin-bottom:38px; }
#joining .ss-section-heading h2 { margin-bottom:10px; }
#joining .ss-section-heading>p { max-width:620px; margin:0; font-size:16px; line-height:1.6; color:var(--muted); }
.ss-plan-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:0; }
.ss-plan-process li { background:#fff; border:1px solid var(--border); border-radius:16px; padding:32px 26px; display:flex; flex-direction:column; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; position:relative; }
.ss-plan-process li:hover { transform:translateY(-5px); box-shadow:0 16px 32px -12px rgba(23,18,15,0.12); border-color:rgba(217,59,31,0.35); }
.ss-plan-process span { font-size:20px; font-weight:700; color:var(--red); background:var(--peach); width:48px; height:48px; border-radius:12px; display:inline-flex; align-items:center; justify-content:center; margin-bottom:18px; }
.ss-plan-process h3 { font-size:20px; font-weight:700; color:var(--ink); margin:0 0 10px; line-height:1.3; }
.ss-plan-process p { font-size:14.5px; color:var(--muted); line-height:1.6; margin:0; }
.ss-plan-faq { display:grid; grid-template-columns:1fr 1.3fr; gap:48px; }
.ss-plan-faq .faq { padding:0; }
.ss-plan-faq .faq details { font-size:16px; background:transparent; }
.ss-plan-faq .faq summary { padding:20px; min-height:60px; }
.ss-plan-faq .faq p { color:var(--ink); line-height:1.75; }
.ss-text-link { display:inline-flex; min-height:44px; align-items:center; color:var(--deep); text-decoration:underline; margin-top:16px; font-size:16px; }
.ss-plan-final { display:flex; align-items:center; justify-content:space-between; gap:32px; padding:clamp(24px,4vw,48px); background:var(--peach); border-radius:24px; }
.ss-plan-final p { margin-bottom:0; font-size:16px; }
.ss-plan-final .eyebrow { margin-bottom:16px; }
.ss-plan-final .primary { flex-shrink:0; }
.ss-commercial-calculator { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--border); border-radius:24px; overflow:hidden; }
.ss-area-entry,.ss-quote-result { padding:clamp(24px,4vw,44px); }
.ss-area-entry { background:var(--peach); }
.ss-area-entry h3 { font-size:clamp(23px,2.5vw,32px); letter-spacing:-.035em; margin:12px 0 30px; }
.ss-area-entry label { display:block; font-size:16px; font-weight:600; margin-bottom:12px; }
.ss-area-entry input { display:block; width:100%; font-size:32px; padding:16px; border:1px solid var(--muted); border-radius:10px; background:var(--paper); color:var(--ink); }
.ss-area-entry p { font-size:14px; margin:14px 0; }
.ss-quote-result dl { margin:20px 0 24px; }
.ss-quote-total { border-top:1px solid var(--border); padding-top:20px; }
.ss-quote-total span { font-size:14px; display:block; }
.ss-quote-total strong { display:block; font-size:clamp(28px,3vw,40px); letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
.ss-quote-result>p { font-size:14px; min-height:44px; color:var(--muted); }
.ss-quote-result .primary { width:100%; }
#pricing .ss-section-heading { display:block; margin-bottom:36px; }
#pricing .ss-section-heading h2 { margin-bottom:10px; }
#pricing .ss-section-heading>p { max-width:620px; margin:0; font-size:16px; line-height:1.6; color:var(--muted); }
#calculator .ss-section-heading { display:block; margin-bottom:34px; }
#calculator .ss-section-heading h2 { margin-bottom:10px; }
#calculator .ss-section-heading>p { max-width:620px; margin:0; font-size:16px; line-height:1.6; color:var(--muted); }
.ss-rate-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.ss-rate-card { background:#fff; padding:28px 24px; border:1px solid var(--border); border-radius:16px; display:flex; flex-direction:column; justify-content:space-between; transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease; position:relative; }
.ss-rate-card:hover { transform:translateY(-5px); box-shadow:0 16px 32px -12px rgba(23,18,15,0.12); border-color:rgba(217,59,31,0.35); }
.ss-rate-card .ss-rate-area,.ss-rate-card p:first-child { font-size:13.5px; font-weight:600; color:var(--muted); letter-spacing:.02em; margin:0; }
.ss-rate-card .ss-rate-price,.ss-rate-card h3 { font-size:clamp(28px,2.4vw,36px); font-weight:700; color:var(--ink); margin:16px 0; font-variant-numeric:tabular-nums; letter-spacing:-.03em; }
.ss-rate-card .ss-rate-price span,.ss-rate-card h3 span { font-size:14px; font-weight:400; color:var(--muted); }
.ss-rate-card .ss-rate-visits,.ss-rate-card p:last-child { font-size:14px; color:var(--ink); font-weight:600; margin:0; }
/* Separate layers preserve clear image crops while allowing small, reversible motion. */
.ss-motion-scene { --scene-x:0px; --scene-y:0px; }
.ss-motion-layer { translate:var(--scene-x) var(--scene-y); transition:translate .35s ease-out; }
.ss-service-mosaic { position:relative; padding:12px 0 54px; isolation:isolate; gap:16px; }
.ss-service-mosaic:before { content:''; position:absolute; inset:15% -6%; background:radial-gradient(ellipse,var(--peach),transparent 70%); z-index:-1; }
.ss-service-woodwork { grid-column:4/13; grid-row:1/3; }
.ss-service-plumbing { grid-column:1/8; grid-row:3/6; z-index:1; margin-top:-34px; }
.ss-service-electrical { grid-column:7/13; grid-row:5/8; margin-top:-34px; }
.ss-motion-scene.is-enhanced .ss-service-photo { animation:ss-pop-in .65s ease-out both,ss-float 7s ease-in-out .65s infinite; }
.ss-service-photo:nth-child(2) { animation-delay:.12s,.8s; }
.ss-service-photo:nth-child(3) { animation-delay:.24s,1s; }
.ss-service-photo img { aspect-ratio:1.3; object-fit:cover; transition:scale .45s,filter .45s; }
.ss-service-photo:hover img { scale:1.055; filter:saturate(1.08); }
.ss-service-photo figcaption { position:relative; z-index:2; background:var(--paper); font-size:14px; transition:background .3s; }
.ss-service-photo:hover figcaption { background:var(--peach); }
.ss-plan-visual.is-enhanced .ss-motion-layer { animation:ss-pop-in .7s ease-out both,ss-float 8s ease-in-out .7s infinite; }
.ss-plan-visual .ss-motion-layer:nth-child(2) { animation-delay:.15s,.9s; }
.ss-plan-room { transition:scale .6s; }
.ss-plan-visual:hover .ss-plan-room { scale:1.025; }
.ss-motion-pause { position:absolute; bottom:0; right:0; min-height:44px; padding:10px 14px; border:1px solid var(--border); background:var(--paper); color:var(--ink); border-radius:24px; font-size:13px; z-index:3; }
.ss-motion-pause[hidden] { display:none; }
.ss-motion-scene.is-paused .ss-motion-layer,.ss-motion-scene.is-paused .ss-motion-scene.is-enhanced .ss-service-photo { animation:none; translate:none; transform:none; }
.ss-motion-scene.is-paused img { scale:1; }
@keyframes ss-pop-in { from { opacity:0; transform:scale(.96); } to { opacity:1; transform:scale(1); } }
@keyframes ss-float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-7px); } }
.ss-footer { margin-top:clamp(24px,4vw,48px); padding-block:32px 20px; }
.ss-footer-cols { grid-template-columns:1.2fr .85fr 1fr 1.15fr; gap:28px; }
.ss-footer-col--brand { grid-column:auto; }
.ss-footer-h { font-size:12px; margin-bottom:12px; }
.ss-footer-logo { max-width:180px; }
.ss-footer-lede,.ss-footer-entity,.ss-footer-gstin,.ss-footer-address { font-size:13px; line-height:1.6; }
.ss-footer-list { margin:0; }
.ss-footer-list li { margin:0; min-height:38px; display:flex; align-items:center; }
.ss-footer-list a { font-size:14px; min-height:auto; line-height:1.45; border:0; padding-block:4px; position:relative; display:inline-block; color:#FFFCF9; text-decoration:none; transition:color .22s ease,transform .22s ease; }
.ss-footer-list a::after { content:''; position:absolute; bottom:0; left:0; width:100%; height:2px; background:var(--red,#D93B1F); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.ss-footer-list a:hover,.ss-footer-list a:focus-visible { color:var(--red,#D93B1F); transform:translateX(4px); }
.ss-footer-list a:hover::after,.ss-footer-list a:focus-visible::after { transform:scaleX(1); }
.ss-footer-address { margin-top:16px; }
.ss-footer-address-line { margin-bottom:3px; }
.ss-footer-address a,.ss-footer-officer a { display:inline-block; position:relative; border:0; color:#FFFCF9; text-decoration:none; padding:2px 0; transition:color .22s ease,transform .22s ease; }
.ss-footer-address a::after,.ss-footer-officer a::after { content:''; position:absolute; bottom:-2px; left:0; width:100%; height:2px; background:var(--red,#D93B1F); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.ss-footer-address a:hover,.ss-footer-address a:focus-visible,.ss-footer-officer a:hover,.ss-footer-officer a:focus-visible { color:var(--red,#D93B1F); transform:translateY(-2px); }
.ss-footer-address a:hover::after,.ss-footer-address a:focus-visible::after,.ss-footer-officer a:hover::after,.ss-footer-officer a:focus-visible::after { transform:scaleX(1); }
.ss-footer-bottom { margin-top:24px; padding-top:16px; gap:16px; }
.ss-footer-copy,.ss-footer-officer { font-size:12px; margin:0; }
@media(max-width:1100px) { .header nav { gap:18px; justify-content:center; } .ss-cover-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ss-rate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; } .ss-footer-cols { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .header { height:60px; min-height:60px; padding:0 16px; display:flex; align-items:center; justify-content:space-between; } .header .header-inner { display:flex; align-items:center; justify-content:space-between; width:100%; } .header .logo { height:30px !important; width:auto !important; max-height:32px !important; max-width:140px !important; } .header nav { display:none !important; } .header-actions .login, .header .outline.login { font-size:12px; padding:6px 14px; min-height:auto; } .ss-plan-hero { grid-template-columns:1fr; gap:38px; padding-top:calc(60px + 24px); } .ss-plan-copy h1, .sv-hero-title { max-width:none !important; } .ss-plan-visual { width:100%; max-width:520px; margin:20px auto 0; padding-bottom:68px; padding-left:12px; } .ss-plan-room { aspect-ratio:1.15; } .ss-plan-visual>.ss-plan-detail,.ss-plan-visual>.ss-office-note { left:0; } .ss-home-prices,.ss-plan-process,.ss-plan-faq,.ss-commercial-calculator { grid-template-columns:1fr; } .ss-section-heading { display:block; } .ss-section-heading>p { margin-top:18px; max-width:none; } .ss-plan-faq { gap:28px; } .ss-plan-final { flex-direction:column; align-items:stretch; } .ss-plan-jump { justify-content:flex-start; gap:0 20px; } .ss-cover-card { grid-template-columns:1fr; padding:18px; } .ss-cover-card img { width:64px; grid-row:auto; } .ss-price-card { padding:26px; } .ss-plan-page .actions { flex-direction:column; align-items:stretch; } .ss-footer-cols { gap:24px 18px; } .ss-footer-col--brand { grid-column:1/-1; } .ss-footer-col:last-child { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; gap:0 18px; } .ss-footer-col:last-child h2 { grid-column:1/-1; } .ss-footer-address { margin-top:0; } .ss-footer-bottom { display:block; } .ss-footer-officer { margin-top:12px; } .ss-service-woodwork { grid-column:3/13; } .ss-service-photo figcaption { font-size:12px; } }
@media(max-width:540px) { .ss-rate-grid { grid-template-columns:1fr; gap:14px; } }
@media(max-width:390px) { .ss-footer-col:last-child { display:block; } .ss-footer-address { margin-top:16px; } .ss-plan-visual>.ss-plan-detail { width:48%; } .ss-plan-detail figcaption { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .ss-motion-layer,.ss-motion-scene.is-enhanced .ss-service-photo { animation:none; translate:none; transform:none; opacity:1; } .ss-motion-scene img { scale:1; } .ss-motion-pause { display:none; } .ss-rate-card:hover { transform:none; } .ss-footer-list a:hover,.ss-footer-address a:hover,.ss-footer-officer a:hover { transform:none; } .ss-footer a::after { transition:none; } }

.ss-plan-room { aspect-ratio:1.15; }
.ss-visual-label { top:0; bottom:auto; background:linear-gradient(var(--ink),transparent); padding:24px 24px 52px; }
.ss-footer-contact-strip { display:grid; grid-template-columns:1fr 1.6fr auto auto auto; gap:8px 24px; align-items:center; border-top:1px solid var(--muted); padding-top:16px; margin-top:20px; }
.ss-footer-contact-strip .ss-footer-address-line { margin:0; }
@media(max-width:1100px) { .ss-footer-contact-strip { grid-template-columns:1fr 1fr; } }
@media(max-width:760px) { .ss-footer-col:last-child { display:block; grid-column:auto; } .ss-footer-contact-strip { grid-template-columns:1fr 1fr; } .ss-footer-contact-strip .ss-footer-address-line:nth-child(1),.ss-footer-contact-strip .ss-footer-address-line:nth-child(2) { grid-column:1/-1; } .ss-footer-contact-strip .ss-footer-address-line { overflow-wrap:anywhere; } }
@media(max-width:390px) { .ss-footer-contact-strip { grid-template-columns:1fr; } }

.plan picture { overflow:hidden; }
.plan img { transition:scale .5s ease; }
.plan:hover img { scale:1.035; }
.plan { transition:border-color .3s,box-shadow .3s; }
.plan:hover { border-color:var(--deep); box-shadow:0 16px 32px -28px var(--ink); }
@media(prefers-reduced-motion:reduce) { .plan:hover img { scale:1; } }

.ss-footer-cols { grid-template-columns:1.1fr .8fr 1.3fr 1.1fr; }
.ss-footer-col:nth-child(3) .ss-footer-list { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
@media(max-width:1100px) { .ss-footer-cols { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .ss-footer-cols { grid-template-columns:repeat(2,minmax(0,1fr)); } .ss-footer-col:nth-child(3) .ss-footer-list { display:block; } }

@media(max-width:760px) { .ss-footer-col:last-child { grid-column:1/-1; } .ss-footer-col:last-child .ss-footer-list { display:grid; grid-template-columns:1fr 1fr; gap:0 16px; } }

/* Owner reference: light side cards and a vermilion centre card. */
.ss-price-card { position:relative; background:var(--paper); padding:30px 26px; transition:transform .3s ease,background .3s ease,border-color .3s ease,box-shadow .3s ease; }
.ss-price-card .ss-plan-tag { color:var(--deep); background:var(--peach); padding:6px 11px; border-radius:30px; letter-spacing:0; text-transform:none; font-size:12px; align-self:flex-start; margin-bottom:18px; }
.ss-price-card .ss-plan-price { color:var(--deep); margin:20px 0; }
.ss-price-card .ss-price-breakdown { margin:0 0 20px; padding:14px; border:1px solid var(--border); background:var(--paper); border-radius:10px; }
.ss-price-card .ss-price-breakdown dl { margin:0; font-size:14px; gap:7px 12px; }
.ss-price-card .ss-price-total { border-bottom:0; display:flex; flex-direction:row; justify-content:space-between; gap:10px; align-items:center; padding:10px 0 0; margin-top:10px; font-size:13px; }
.ss-price-card .ss-price-total strong { font-size:16px; }
.ss-price-card .ss-plan-benefits { margin:0 0 22px; padding-top:16px; border-top:1px solid var(--border); }
.ss-price-card>.primary { margin-top:auto; }
.ss-price-card--featured { background:var(--red); border-color:var(--red); color:var(--paper); box-shadow:0 20px 38px -22px var(--deep); }
.ss-price-card--featured .ss-plan-tag { position:absolute; top:0; left:50%; transform:translate(-50%,-50%); white-space:nowrap; background:var(--paper); color:var(--deep); }
.ss-price-card--featured h3,.ss-price-card--featured .ss-plan-price,.ss-price-card--featured .ss-plan-price span,.ss-price-card--featured .ss-plan-benefits li:before { color:var(--paper); }
.ss-price-card--featured .ss-price-breakdown { background:color-mix(in srgb,var(--paper) 12%,transparent); border-color:color-mix(in srgb,var(--paper) 35%,transparent); }
.ss-price-card--featured .ss-price-total,.ss-price-card--featured .ss-plan-benefits { border-color:color-mix(in srgb,var(--paper) 35%,transparent); }
.ss-price-card--featured>.primary { background:var(--paper); color:var(--deep); }
.ss-price-card--featured:hover,.ss-price-card--featured:focus-within { background:var(--deep); border-color:var(--deep); }
.ss-price-card:hover,.ss-price-card:focus-within { transform:translateY(-5px); box-shadow:0 20px 34px -24px var(--ink); }
.ss-price-card--featured>.primary:hover { background:var(--peach); }
@media(max-width:760px) { .ss-home-prices { gap:30px; } .ss-price-card--featured { padding-top:34px; } }
@media(prefers-reduced-motion:reduce) { .ss-price-card:hover,.ss-price-card:focus-within { transform:none; } }

.ss-home-prices { perspective:1200px; }
.ss-price-card { transform-origin:center; }
.ss-price-card:not(.ss-price-card--featured):hover,.ss-price-card:not(.ss-price-card--featured):focus-within { background:var(--paper); border-color:var(--deep); }
@media(hover:hover) and (pointer:fine) { .ss-price-card.is-pointer-active { transform:translateY(-5px) rotateX(var(--card-rx,0deg)) rotateY(var(--card-ry,0deg)) scale(1.015); z-index:2; } }
@media(prefers-reduced-motion:reduce) { .ss-price-card.is-pointer-active { transform:none; } }

.ss-price-card .ss-plan-price { font-size:clamp(28px,2.6vw,34px); }
.ss-price-card h3 { font-weight:700; }
.ss-price-card .ss-plan-benefits { font-size:15px; }

/* Editorial photography and shared plan-card alignment. */
.ss-editorial-scene { position:relative; min-width:0; padding:0 0 58px; }
.ss-editorial-photo { position:relative; margin:0; border:6px solid var(--paper); border-radius:28px; overflow:hidden; box-shadow:0 20px 48px -30px #24191166; }
.ss-editorial-photo img { display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:0; transition:scale .5s; }
.ss-editorial-photo:hover img { scale:1.025; }
.ss-editorial-photo figcaption { position:absolute; inset:auto 0 0; padding:38px 24px 24px; color:white; background:linear-gradient(transparent,#18140fe0); text-align:left; }
.ss-editorial-photo figcaption span { display:block; font-size:12px; letter-spacing:.12em; margin-bottom:8px; }
.ss-editorial-photo figcaption strong { font-size:clamp(23px,2.2vw,32px); line-height:1.2; }
.ss-editorial-services { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding-right:0; }
.ss-editorial-services span { background:white; border:1px solid var(--border); padding:9px 12px; border-radius:24px; font-size:13px; font-weight:600; }
#plans .plans { align-items:stretch; }
#plans .plan { display:flex; flex-direction:column; min-width:0; }
#plans .plan picture { display:block; width:100%; }
#plans .plan picture img { display:block; width:100%; aspect-ratio:1.65; object-fit:cover; }
#plans .plan-body { flex:1; display:grid; grid-template-rows:auto auto auto 1fr auto; gap:18px; padding:28px; text-align:left; }
#plans .plan-body h3,#plans .plan-body p { margin:0; }
#plans .plan-body h3 { font-size:clamp(23px,2.2vw,30px); line-height:1.25; }
#plans .plan-body .price { font-size:clamp(25px,2.25vw,34px); line-height:1.3; font-weight:700; }
#plans .plan-body .price span { white-space:normal; }
#plans .plan-body .ss-plan-note { font-size:15px; line-height:1.6; }
#plans .plan-body .primary { margin:0; display:flex !important; align-items:center; min-height:54px; padding:14px 20px; }
@media(min-width:761px) { #plans .plan-body h3 { min-height:1.25em; } #plans .plan-body .price { min-height:2.6em; } }
.ss-plan-copy { text-align:left; }
.ss-plan-copy h1, .sv-hero-title { max-width:none !important; }
.ss-plan-visual .ss-plan-room { aspect-ratio:1.15; object-position:center; }
@media(prefers-reduced-motion:reduce) { .ss-editorial-photo:hover img { scale:1; } }

/* Canonical Landscape Phone Header & Hero Typography (max-height: 500px and landscape) */
@media (max-height: 500px) and (orientation: landscape) {
	.header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-direction: row !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		height: 44px !important;
		min-height: 44px !important;
		padding: 0 16px !important;
		flex-wrap: nowrap !important;
		background: rgba(255, 252, 249, 0.98) !important;
		box-shadow: 0 2px 12px -4px rgba(23, 18, 15, 0.08) !important;
		z-index: 100 !important;
	}
	body.admin-bar .header { top: 32px !important; }
	.header-inner {
		height: 44px !important;
		flex-wrap: nowrap !important;
	}
	.header .brand { flex-shrink: 0 !important; }
	.header .logo { height: 22px !important; width: auto !important; max-height: 22px !important; }
	.header nav {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		order: 0 !important;
		width: auto !important;
		gap: 14px !important;
	}
	.header nav a {
		font-size: 11.5px !important;
		white-space: nowrap !important;
	}
	.header-actions { flex-shrink: 0 !important; }
	.header-actions .login, .header .outline.login {
		padding: 4px 10px !important;
		font-size: 11px !important;
		min-height: auto !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}

	/* Hero Section Typography in Landscape across all plans */
	.sv-hero-section,
	.ss-plan-hero {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) !important;
		gap: clamp(16px, 3vw, 28px) !important;
		padding-top: calc(44px + 14px) !important;
		padding-bottom: 20px !important;
		align-items: center !important;
	}
	body.admin-bar .sv-hero-section,
	body.admin-bar .ss-plan-hero {
		padding-top: calc(44px + 32px + 14px) !important;
	}
	.sv-hero-title,
	.ss-plan-copy h1 {
		font-size: clamp(17px, 2.8vw, 21px) !important;
		line-height: 1.15 !important;
		margin-bottom: 4px !important;
		max-width: none !important;
	}
	.sv-hero-eyebrow,
	.ss-plan-copy .eyebrow {
		font-size: 10px !important;
		margin-bottom: 4px !important;
	}
	.sv-hero-text,
	.ss-plan-intro {
		font-size: 11.5px !important;
		line-height: 1.35 !important;
		margin: 2px 0 8px !important;
		max-width: 360px !important;
	}
	.ss-starting-price {
		font-size: 12px !important;
		margin: 0 0 8px !important;
	}
	.ss-starting-price strong {
		font-size: 15px !important;
	}
	.sv-hero-actions,
	.ss-plan-page .actions {
		display: flex !important;
		flex-direction: row !important;
		gap: 8px !important;
		align-items: center !important;
	}
	.sv-hero-btn,
	.ss-plan-hero .actions a,
	.ss-plan-page .actions .primary,
	.ss-plan-page .actions .secondary,
	.ss-plan-page .actions .btn {
		font-size: 11px !important;
		padding: 5px 12px !important;
		min-height: 34px !important;
		width: auto !important;
	}
	.sv-hero-note,
	.ss-hero-caption {
		font-size: 10px !important;
		margin-top: 6px !important;
	}
	.ss-plan-visual {
		max-width: 360px !important;
		margin: 0 0 0 auto !important;
		padding-bottom: 30px !important;
	}
	.ss-plan-room {
		aspect-ratio: 1.25 !important;
	}
	.ss-plan-jump {
		padding: 6px 0 !important;
		gap: 6px 14px !important;
	}
	.ss-plan-jump a {
		font-size: 12px !important;
		min-height: 32px !important;
	}
}

/* ==========================================================================
   Mobile Header & Navigation Drawer (Sarv Shield Brand Specification)
   ========================================================================== */

/* 1. Desktop Defaults (min-width: 861px) */
@media (min-width: 861px) {
	.header-menu-toggle,
	.ss-menu-toggle {
		display: none !important;
	}
	.ss-mobile-drawer {
		display: none !important;
	}
	.ss-drawer-backdrop {
		display: none !important;
	}
}

/* 2. Mobile Header & Drawer Styles (max-width: 860px) */
@media (max-width: 860px) {
	.header {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		height: 60px !important;
		min-height: 60px !important;
		padding: 0 16px !important;
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		box-sizing: border-box !important;
		background: rgba(255, 252, 249, 0.98) !important;
		backdrop-filter: blur(12px) !important;
		-webkit-backdrop-filter: blur(12px) !important;
		z-index: 1000 !important;
		border-bottom: 1px solid rgba(23, 18, 15, 0.08) !important;
		box-shadow: 0 2px 10px rgba(23, 18, 15, 0.04) !important;
	}

	body.admin-bar .header {
		top: 32px !important;
	}
	@media (max-width: 782px) {
		body.admin-bar .header {
			top: 46px !important;
		}
	}

	.header .brand {
		display: flex !important;
		align-items: center !important;
		flex-shrink: 0 !important;
	}

	.header .logo {
		height: 25px !important;
		width: auto !important;
		max-height: 26px !important;
		max-width: 140px !important;
		object-fit: contain !important;
	}

	.header nav.desktop-nav,
	.header nav.header-nav-desktop {
		display: none !important;
	}

	.header-actions {
		display: flex !important;
		align-items: center !important;
		gap: 8px !important;
		flex-shrink: 0 !important;
		width: auto !important;
		margin: 0 !important;
	}

	.header-actions .login,
	.header .outline.login {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		padding: 7px 16px !important;
		font-family: Montserrat, sans-serif !important;
		font-size: 12px !important;
		font-weight: 600 !important;
		min-height: 36px !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		color: #D93B1F !important;
		background: #FFFFFF !important;
		border: 1.5px solid #D93B1F !important;
		border-radius: 7px !important;
		text-decoration: none !important;
		box-shadow: 0 1px 2px rgba(23, 18, 15, 0.04) !important;
		transition: all 0.2s ease !important;
		box-sizing: border-box !important;
	}

	.header-actions .login:hover,
	.header .outline.login:hover,
	.header-actions .login:focus-visible,
	.header .outline.login:focus-visible {
		background: #D93B1F !important;
		background-color: #D93B1F !important;
		border-color: #D93B1F !important;
		color: #FFFFFF !important;
		box-shadow: 0 3px 10px rgba(217, 59, 31, 0.3) !important;
	}

	/* Hamburger Button */
	.ss-menu-toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 36px !important;
		height: 36px !important;
		min-width: 36px !important;
		min-height: 36px !important;
		background: #F3EFEA !important;
		border: 1px solid rgba(23, 18, 15, 0.12) !important;
		border-radius: 7px !important;
		padding: 0 !important;
		margin: 0 !important;
		cursor: pointer !important;
		color: #17120F !important;
		outline: none !important;
		box-sizing: border-box !important;
		flex-shrink: 0 !important;
		transition: background-color 0.2s ease, border-color 0.2s ease, transform 0.15s ease !important;
	}

	.ss-menu-toggle:hover {
		background: #EAE4DC !important;
		border-color: rgba(23, 18, 15, 0.2) !important;
	}

	.ss-menu-toggle:active {
		transform: scale(0.95) !important;
	}

	.ss-hamburger {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 18px !important;
		height: 14px !important;
		position: relative !important;
		gap: 4px !important;
		pointer-events: none !important;
	}

	.ss-bar {
		display: block !important;
		width: 18px !important;
		height: 2px !important;
		background: #17120F !important;
		border-radius: 2px !important;
		transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease !important;
		transform-origin: center !important;
	}

	/* Morph into [ ✕ ] when active */
	.ss-menu-toggle.is-active .ss-bar-top,
	.header.is-menu-open .ss-bar-top {
		transform: translateY(6px) rotate(45deg) !important;
	}

	.ss-menu-toggle.is-active .ss-bar-mid,
	.header.is-menu-open .ss-bar-mid {
		opacity: 0 !important;
		transform: scaleX(0) !important;
	}

	.ss-menu-toggle.is-active .ss-bar-bot,
	.header.is-menu-open .ss-bar-bot {
		transform: translateY(-6px) rotate(-45deg) !important;
	}

	/* Mobile Menu Drawer */
	.ss-mobile-drawer {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		width: 100% !important;
		background: #FFFFFF !important;
		border-top: 1px solid rgba(23, 18, 15, 0.08) !important;
		border-bottom: 1px solid rgba(23, 18, 15, 0.14) !important;
		box-shadow: 0 16px 36px -6px rgba(23, 18, 15, 0.18), 0 4px 12px rgba(23, 18, 15, 0.06) !important;
		overflow: hidden !important;
		z-index: 999 !important;
		max-height: 0 !important;
		opacity: 0 !important;
		visibility: hidden !important;
		transform: translateY(-10px) !important;
		transition: max-height 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s !important;
		box-sizing: border-box !important;
	}

	.header.is-menu-open {
		z-index: 1001 !important;
	}

	.header.is-menu-open .ss-mobile-drawer,
	.ss-mobile-drawer.is-open {
		z-index: 1002 !important;
		max-height: min(520px, calc(100vh - 60px)) !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch !important;
		opacity: 1 !important;
		visibility: visible !important;
		transform: translateY(0) !important;
	}

	.ss-mobile-drawer-inner {
		padding: 16px 16px 18px !important;
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		gap: 4px !important;
		box-sizing: border-box !important;
	}

	.header .ss-mobile-drawer nav,
	.header .ss-mobile-drawer .ss-mobile-nav,
	.ss-mobile-nav {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		gap: 3px !important;
		padding: 0 !important;
		margin: 0 !important;
		list-style: none !important;
	}

	.header .ss-mobile-drawer nav a,
	.header .ss-mobile-drawer .ss-mobile-nav a,
	.header .ss-mobile-drawer .ss-mobile-nav-link,
	.ss-mobile-nav-link {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		padding: 12px 14px !important;
		border-radius: 8px !important;
		font-family: Montserrat, sans-serif !important;
		font-size: 14px !important;
		font-weight: 600 !important;
		color: #17120F !important;
		text-decoration: none !important;
		background: transparent !important;
		transition: background-color 0.15s ease, color 0.15s ease, transform 0.15s ease !important;
		min-height: 44px !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}

	.header .ss-mobile-drawer nav a:hover,
	.header .ss-mobile-drawer nav a:focus,
	.header .ss-mobile-drawer nav a:active,
	.ss-mobile-nav-link:hover,
	.ss-mobile-nav-link:focus,
	.ss-mobile-nav-link:active {
		background: #F7F3EE !important;
		color: #D93B1F !important;
	}

	.ss-mobile-nav-left {
		display: inline-flex !important;
		align-items: center !important;
		gap: 10px !important;
		color: inherit !important;
	}

	.ss-nav-emoji {
		font-size: 16px !important;
		line-height: 1 !important;
		display: inline-block !important;
	}

	.ss-mobile-nav-arrow {
		font-size: 14px !important;
		color: #A09891 !important;
		transition: transform 0.15s ease, color 0.15s ease !important;
	}

	.ss-mobile-nav-link:hover .ss-mobile-nav-arrow,
	.ss-mobile-nav-link:focus .ss-mobile-nav-arrow {
		color: #D93B1F !important;
		transform: translateX(3px) !important;
	}

	.ss-drawer-divider {
		height: 1px !important;
		background: rgba(23, 18, 15, 0.08) !important;
		margin: 8px 0 !important;
		border: 0 !important;
	}

	.ss-mobile-cta-btn {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		width: 100% !important;
		box-sizing: border-box !important;
		padding: 13px 18px !important;
		background: #D93B1F !important;
		color: #FFFFFF !important;
		font-family: Montserrat, sans-serif !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		text-align: center !important;
		text-decoration: none !important;
		border-radius: 8px !important;
		box-shadow: 0 3px 8px rgba(217, 59, 31, 0.25) !important;
		transition: background-color 0.2s ease, transform 0.15s ease !important;
		min-height: 44px !important;
		margin-top: 4px !important;
	}

	.ss-mobile-cta-btn:hover {
		background: #B32E16 !important;
		color: #FFFFFF !important;
	}

	.ss-mobile-cta-btn:active {
		transform: scale(0.98) !important;
	}

	.ss-cta-emoji {
		font-size: 15px !important;
		line-height: 1 !important;
		display: inline-block !important;
	}

	.ss-mobile-drawer-contact {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 8px !important;
		flex-wrap: wrap !important;
		padding-top: 12px !important;
		margin-top: 2px !important;
		font-family: Montserrat, sans-serif !important;
		font-size: 11px !important;
		font-weight: 500 !important;
		color: #7A726B !important;
		text-align: center !important;
		line-height: 1.4 !important;
	}

	.ss-mobile-phone-link {
		color: #7A726B !important;
		text-decoration: none !important;
		font-weight: 600 !important;
		display: inline-flex !important;
		align-items: center !important;
		gap: 4px !important;
		transition: color 0.15s ease !important;
	}

	.ss-mobile-phone-link:hover {
		color: #D93B1F !important;
	}

	.ss-contact-sep {
		color: #BDB5AD !important;
	}

	.ss-contact-hours {
		color: #7A726B !important;
	}

	/* Drawer Backdrop */
	.ss-drawer-backdrop {
		position: fixed !important;
		top: 60px !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		background: rgba(23, 18, 15, 0.45) !important;
		backdrop-filter: blur(2px) !important;
		-webkit-backdrop-filter: blur(2px) !important;
		z-index: 998 !important;
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transition: opacity 0.25s ease, visibility 0.25s ease !important;
	}

	body.admin-bar .ss-drawer-backdrop {
		top: calc(60px + 32px) !important;
	}
	@media (max-width: 782px) {
		body.admin-bar .ss-drawer-backdrop {
			top: calc(60px + 46px) !important;
		}
	}

	.header.is-menu-open + .ss-drawer-backdrop,
	.ss-drawer-backdrop.is-open {
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
	}

	body.ss-menu-open-scroll-lock {
		overflow: hidden !important;
	}
}
