/*
Theme Name: House of Fire
Theme URI: https://thisisitshop.com
Description: House of Fire
Author: Webedelic
Author URI: http://www.webedelic.com
Description: House of Fire
Version: 1.0
Tags: House of Fire
License:
License URI:
*/

:root {
	--cream:#F3EADB;
	--paper:#FBF6EE;
	--sand:#E8DCC8;
	--line:rgba(26,19,16,.13);
	--ink:#1A1310;
	--ink-dim:#6A5B4D;
	--char:#191310;
	--smoke:#241C16;
	--panel:#2B221A;
	--ash:#EFE7DB;
	--ash-dim:#B7AA99;
	--line-dark:rgba(239,231,219,.14);
	--ember:#E8833A;
	--ember-deep:#B4551F;
	--brass:#C9A227;
	--red:#D2382B;
	--red-deep:#A8261C;
	--sun:#F6B81C;
	--grad-fire:linear-gradient(100deg,var(--ember-deep),var(--ember) 55%,var(--brass));
	--grad-red:linear-gradient(100deg,var(--red-deep),var(--red) 60%,#E8563A);
	--display:'Fraunces',Georgia,'Times New Roman',serif;
	--body:'Figtree',system-ui,-apple-system,'Segoe UI',sans-serif;
	--mono:'IBM Plex Mono',ui-monospace,Menlo,Consolas,monospace;
	--radius-btn:10px;
	--radius-card:14px;
	--nav-h:72px;
	color-scheme:light;
}

* {
	box-sizing:border-box;
}

html {
	scroll-behavior:smooth;
	background:var(--cream);
}

body {
	margin:0;
	background:var(--cream);
	color:var(--ink);
	font-family:var(--body);
	font-size:16px;
	line-height:1.65;
	-webkit-font-smoothing:antialiased;
	overflow-x:hidden;
}

h1,h2,h3,h4 {
	font-family:var(--display);
	font-weight:400;
	letter-spacing:-.015em;
	text-wrap:balance;
	margin:0;
}

p {
	margin:0;
}

img {
	max-width:100%;
}

button,input,textarea,select {
	font:inherit;
	color:inherit;
}

a {
	color:inherit;
}

:focus-visible {
	outline:2px solid var(--ember-deep);
	outline-offset:3px;
	border-radius:4px;
}

[hidden] {
	display:none!important;
}

.wrap {
	max-width:1140px;
	margin:0 auto;
	padding-inline:clamp(16px,4vw,32px);
}

.eyebrow {
	font-family:var(--mono);
	font-size:11.5px;
	letter-spacing:.22em;
	text-transform:uppercase;
	color:var(--ember-deep);
	font-weight:500;
}

.muted {
	color:var(--ink-dim);
}

.ignite {
	position:relative;
	height:2px;
	overflow:hidden;
	background:linear-gradient(90deg,transparent,var(--red) 18%,var(--ember) 50%,var(--sun) 82%,transparent);
}

.ignite::after {
	content:"";
	position:absolute;
	inset:0;
	width:30%;
	background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);
	animation:sweep 6s ease-in-out infinite;
}

@keyframes sweep {
	0% {
		transform:translateX(-120%);
	}

	100% {
		transform:translateX(420%);
	}

}

.btn {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:13px 20px;
	border-radius:var(--radius-btn);
	border:1px solid transparent;
	font-weight:600;
	font-size:15px;
	text-decoration:none;
	cursor:pointer;
	transition:border-color .2s,transform .2s,filter .2s;
}

.btn:hover {
	transform:translateY(-1px);
}

.btn-fire {
	background:var(--grad-fire);
	color:var(--ink);
}

.btn-red {
	background:var(--grad-red);
	color:#FFF6EE;
	box-shadow:0 6px 18px rgba(210,56,43,.25);
}

.btn-red:hover {
	filter:brightness(1.07);
}

.btn-ghost {
	background:transparent;
	border-color:var(--line);
	color:var(--ink);
}

.btn-ghost:hover {
	border-color:var(--ember-deep);
}

.btn:disabled {
	opacity:.45;
	cursor:not-allowed;
	transform:none;
}

.topbar {
	position:sticky;
	top:env(safe-area-inset-top,0px);
	z-index:60;
	background:rgba(243,234,219,.94);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	border-bottom:1px solid var(--line);
}

.topbar .wrap {
	height:var(--nav-h);
	display:flex;
	align-items:center;
	gap:18px;
}

.logo {
	display:block;
	height:54px;
	flex:none;
}

.logo img {
	height:100%;
	width:auto;
	display:block;
	border-radius:8px;
}

.top-right {
	margin-left:auto;
	display:flex;
	align-items:center;
	gap:12px;
}

.rating {
	display:flex;
	align-items:center;
	gap:8px;
	text-decoration:none;
	padding:7px 12px;
	border:1px solid var(--line);
	border-radius:var(--radius-btn);
	background:var(--paper);
	white-space:nowrap;
}

.rating:hover {
	border-color:var(--sun);
}

.rating .stars {
	color:#E0A100;
	letter-spacing:1px;
	font-size:14px;
}

.rating b {
	font-family:var(--display);
	font-weight:600;
	font-size:18px;
}

.rating span {
	font-size:13px;
	color:var(--ink-dim);
}

@media (max-width:560px) {
	.rating span,.rating .stars {
		display:none;
	}

}

.menu-wrap {
	position:relative;
}

.burger {
	width:46px;
	height:46px;
	border-radius:var(--radius-btn);
	border:1px solid var(--line);
	background:var(--paper);
	cursor:pointer;
	display:grid;
	place-items:center;
}

.burger:hover {
	border-color:var(--ember-deep);
}

.burger i {
	display:block;
	width:20px;
	height:2px;
	background:var(--ink);
	border-radius:2px;
	box-shadow:0 -6px 0 var(--ink),0 6px 0 var(--ink);
}

.menu {
	position:absolute;
	right:0;
	top:54px;
	min-width:230px;
	background:var(--paper);
	border:1px solid var(--line);
	border-radius:var(--radius-card);
	padding:8px;
	box-shadow:0 20px 50px rgba(26,19,16,.18);
}

.menu a {
	display:flex;
	justify-content:space-between;
	align-items:center;
	padding:11px 14px;
	border-radius:9px;
	text-decoration:none;
	font-weight:500;
}

.menu a small {
	font-size:12px;
	color:var(--ink-dim);
	font-weight:400;
}

.menu a:hover {
	background:var(--sand);
}

.menu a[aria-current="page"] {
	color:var(--ember-deep);
}

.hero {
	position:relative;
	overflow:hidden;
	padding-block:56px 48px;
}

.hero::before {
	content:"";
	position:absolute;
	left:-220px;
	bottom:-330px;
	width:900px;
	height:560px;
	pointer-events:none;
	background:radial-gradient(ellipse at center,rgba(232,131,58,.16),rgba(232,131,58,0) 65%);
}

.hero-grid {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
	gap:44px;
	align-items:center;
}

@media (max-width:860px) {
	.hero-grid {
		grid-template-columns:minmax(0,1fr);
		gap:28px;
	}

}

.hero h1 {
	font-size:clamp(46px,6.6vw,82px);
	line-height:1;
	margin-top:14px;
}

.hero h1 i {
	font-style:italic;
	color:var(--ember-deep);
}

.hero .lede {
	margin-top:18px;
	max-width:54ch;
	color:var(--ink-dim);
	font-size:17px;
}

.hero .actions {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:24px;
}

.side-stack {
	display:grid;
	gap:14px;
}

.propane {
	display:flex;
	gap:14px;
	align-items:center;
	background:var(--sun);
	color:var(--ink);
	border-radius:var(--radius-card);
	padding:16px 18px;
	transform:rotate(-1.5deg);
	box-shadow:0 10px 26px rgba(224,161,0,.22);
}

.propane .tank {
	flex:none;
	width:34px;
	height:46px;
	border-radius:12px 12px 8px 8px;
	border:3px solid var(--ink);
	position:relative;
}

.propane .tank::before {
	content:"";
	position:absolute;
	top:-9px;
	left:8px;
	width:12px;
	height:7px;
	border:3px solid var(--ink);
	border-bottom:0;
	border-radius:4px 4px 0 0;
}

.propane b {
	display:block;
	font-size:19px;
	font-weight:700;
	line-height:1.2;
}

.propane span {
	display:block;
	font-size:13.5px;
}

.need {
	background:var(--paper);
	border:1px solid rgba(210,56,43,.45);
	border-radius:var(--radius-card);
	padding:18px 20px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:14px;
	flex-wrap:wrap;
}

.need b {
	font-family:var(--display);
	font-weight:600;
	font-size:24px;
}

.need p {
	font-size:14px;
	color:var(--ink-dim);
}

.help {
	padding-block:64px 80px;
}

.help h2 {
	font-size:clamp(32px,4.2vw,48px);
	line-height:1.08;
	margin-top:10px;
}

.bigtabs {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:12px;
	margin-top:26px;
}

.bigtab {
	text-align:left;
	cursor:pointer;
	background:var(--paper);
	border:1px solid var(--line);
	border-radius:var(--radius-card);
	padding:18px 22px;
	transition:border-color .2s,box-shadow .2s;
}

.bigtab:hover {
	border-color:rgba(180,85,31,.5);
}

.bigtab[aria-selected="true"] {
	border-color:var(--ember-deep);
	box-shadow:0 0 0 1px var(--ember-deep) inset;
}

.bigtab b {
	display:block;
	font-family:var(--display);
	font-weight:400;
	font-size:clamp(26px,3vw,34px);
	line-height:1.1;
}

.bigtab span {
	display:block;
	font-size:14px;
	color:var(--ink-dim);
	margin-top:4px;
}

.cat-main {
	display:grid;
	grid-template-columns:minmax(0,7fr) minmax(0,5fr);
	gap:40px;
	margin-top:28px;
	align-items:start;
}

.bigtabs {
	align-items: stretch;
}

.bigtab.bigtab-accessory {
	padding-top: 12px;
	padding-bottom: 12px;
	padding-right: 22px;
	padding-left: 22px;
}

.bigtab.bigtab-accessory b {
	font-size: 22px;
	line-height: 26px;
}

.bigtab.bigtab-accessory span {
	margin-top: 3px;
	font-size: 13px;
	line-height: 18px;
}


@media (max-width:880px) {
	.cat-main {
		grid-template-columns:minmax(0,1fr);
		gap:24px;
	}

}












.insidehero {
	position:relative;
	overflow:hidden;
	padding-block:56px 48px;
}

.insidehero::before {
	content:"";
	position:absolute;
	left:-220px;
	bottom:-330px;
	width:900px;
	height:560px;
	pointer-events:none;
	background:radial-gradient(ellipse at center,rgba(232,131,58,.16),rgba(232,131,58,0) 65%);
}

.insidehero-grid {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
	gap:44px;
	align-items:center;
}

@media (max-width:860px) {
	.insidehero-grid {
		grid-template-columns:minmax(0,1fr);
		gap:28px;
	}

}

.insidehero h1 {
	font-size:clamp(36px,6.6vw,82px);
	line-height:1;
	margin-top:14px;
	font-size:44px;
}

.insidehero h1 i {
	font-style:italic;
	color:var(--ember-deep);
}

.insidehero .lede {
	margin-top:18px;
	max-width:54ch;
	color:var(--ink-dim);
	font-size:17px;
}

.insidehero .actions {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:24px;
}













.insidedetailhero {
	position:relative;
	overflow:hidden;
	padding-block:56px 48px;
}

.insidedetailhero::before {
	content:"";
	position:absolute;
	left:-220px;
	bottom:-330px;
	width:900px;
	height:560px;
	pointer-events:none;
	background:radial-gradient(ellipse at center,rgba(232,131,58,.16),rgba(232,131,58,0) 65%);
}

.insidedetailhero-grid {
	position:relative;
	display:grid;
	grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
	gap:44px;
	align-items:center;
}

@media (max-width:860px) {
	.insidedetailhero-grid {
		grid-template-columns:minmax(0,1fr);
		gap:28px;
	}

}

.insidedetailhero h1 {
	font-size:clamp(36px,6.6vw,82px);
	line-height:1;
	margin-top:14px;
	font-size:44px;
}

.insidedetailhero h1 i {
	font-style:italic;
	color:var(--ember-deep);
}

.insidedetailhero .lede {
	margin-top:18px;
	max-width:54ch;
	color:var(--ink-dim);
	font-size:17px;
}

.insidedetailhero .actions {
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin-top:24px;
}

.insidedetailhero {
	padding-top:70px !important;
	padding-bottom:70px !important;
	background:#ffffff !important;
}

.insidedetailhero::before {
	display:none !important;
}

@media (max-width:560px) {

	.insidedetailhero {
		padding-top:40px !important;
		padding-bottom:70px !important;
	}

}











.service-details {
	padding-top:64px;
	padding-bottom:64px;
	background:var(--cream,#F3EADB);
}

.service-details h2 {
	margin-top:10px;
	margin-bottom:28px;
	font-family:var(--display,'Fraunces',Georgia,serif);
	font-size:clamp(34px,4.2vw,48px);
	font-weight:600;
	line-height:1.1;
	color:#1A1310;
}

.service-details-grid {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:24px;
	align-items:stretch;
}

.service-pricing-card,
.service-parts-card {
	min-width:0;
	padding:clamp(24px,3vw,36px);
	border-radius:var(--radius-card,14px);
}

.service-pricing-card {
	display:flex;
	flex-direction:column;
	background:#191310;
	color:#ffffff;
	border-top:6px solid #B4551F;
	box-shadow:0 14px 32px rgba(26,19,16,.12);
}

.service-card-label {
	font-family:var(--mono,'IBM Plex Mono',monospace);
	font-size:12px;
	font-weight:500;
	line-height:1.6;
	letter-spacing:.18em;
	text-transform:uppercase;
}

.service-pricing-card .service-card-label {
	color:#F4B587;
}

.service-main-price {
	display:flex;
	align-items:baseline;
	flex-wrap:wrap;
	gap:8px 18px;
	margin-top:18px;
	margin-bottom:24px;
}

.service-main-price strong {
	font-family:var(--display,'Fraunces',Georgia,serif);
	font-size:clamp(64px,7vw,88px);
	font-weight:600;
	line-height:1;
	letter-spacing:-.04em;
}

.service-main-price span {
	color:#D6C8BA;
	font-size:16px;
}

.service-price-list {
	margin:0;
}

.service-price-list > div {
	display:flex;
	justify-content:space-between;
	align-items:baseline;
	gap:20px;
	padding-top:14px;
	padding-bottom:14px;
	border-top:1px solid rgba(255,255,255,.16);
}

.service-price-list dt {
	font-size:15px;
	color:#E5DCD2;
}

.service-price-list dd {
	flex-shrink:0;
	margin:0;
	font-size:18px;
	font-weight:700;
	color:#ffffff;
}

.service-emergency-note {
	margin-top:20px;
	margin-bottom:24px;
	padding:18px;
	border-left:3px solid #E8833A;
	border-radius:0 10px 10px 0;
	background:rgba(232,131,58,.1);
}

.service-emergency-note > strong {
	display:block;
	margin-bottom:6px;
	font-size:17px;
}

.service-emergency-note p {
	margin:0;
	font-size:14px;
	line-height:1.7;
	color:#E5DCD2;
}

.service-emergency-note b {
	color:#F4B587;
}

.service-call-button {
	display:flex;
	justify-content:center;
	align-items:center;
	margin-top:auto;
	padding:14px 20px;
	border:1px solid #B4551F;
	border-radius:10px;
	background:#B4551F;
	color:#ffffff;
	font-size:16px;
	font-weight:700;
	text-align:center;
	text-decoration:none;
	transition:background .2s,color .2s,border-color .2s;
}

.service-call-button:hover {
	background:#ffffff;
	border-color:#ffffff;
	color:#191310;
}

.service-call-button:focus-visible {
	outline:2px solid #ffffff;
	outline-offset:4px;
}

.service-parts-card {
	background:#FBF6EE;
	border:1px solid rgba(26,19,16,.13);
	border-top:6px solid #B4551F;
	color:#1A1310;
}

.service-parts-card .service-card-label {
	color:#B4551F;
}

.service-parts-card h3 {
	margin-top:18px;
	margin-bottom:20px;
	font-family:var(--display,'Fraunces',Georgia,serif);
	font-size:clamp(28px,3vw,36px);
	font-weight:600;
	line-height:1.2;
}

.service-parts-card p {
	margin:0;
	color:#6A5B4D;
	font-size:16px;
	line-height:1.75;
}

.service-parts-tip {
	margin-top:22px;
	margin-bottom:22px;
	padding:20px;
	border-radius:12px;
	background:#F3EADB;
}

.service-parts-tip strong {
	display:block;
	margin-bottom:8px;
	color:#B4551F;
	font-size:18px;
	font-weight:700;
}

@media (max-width:880px) {

	.service-details-grid {
		grid-template-columns:minmax(0,1fr);
	}

}

@media (max-width:560px) {

	.service-details {
		padding-top:48px;
		padding-bottom:48px;
	}

	.service-price-list > div {
		gap:12px;
	}

	.service-price-list dt {
		font-size:14px;
	}

	.service-price-list dd {
		font-size:16px;
	}

}

@media (prefers-reduced-motion:reduce) {

	.service-call-button {
		transition:none;
	}

}


.service-details > .wrap {
	padding-top:64px !important;
	padding-bottom:64px !important;
}

@media (max-width:560px) {

	.service-details > .wrap {
		padding-top:48px !important;
		padding-bottom:48px !important;
	}

}


















.bio h3 {
	font-size:clamp(28px,3vw,36px);
	line-height:1.1;
}

.bio p {
	color:var(--ink-dim);
	margin-top:14px;
}

.bio p em {
	color:var(--ink);
	font-style:italic;
	font-family:var(--display);
	font-size:1.08em;
}

.bio .btn {
	margin-top:24px;
}

.rowlbl {
	font-size:14px;
	color:var(--ink-dim);
}

.brandrow {
	margin-top:22px;
	display:grid;
	grid-template-columns:190px 1fr;
	gap:16px;
	align-items:start;
}

@media (max-width:700px) {
	.brandrow {
		grid-template-columns:minmax(0,1fr);
		gap:10px;
	}

}

.more {
	margin-top:14px;
	font-size:15px;
}

.more span {
	color:var(--ink-dim);
}

.foot {
	background:var(--char);
	color:var(--ash);
	padding-block:60px 36px;
}

.foot .eyebrow {
	color:var(--ember);
}

.foot-grid {
	display:grid;
	grid-template-columns:1.3fr 1fr 1fr;
	gap:36px;
}

@media (max-width:820px) {
	.foot-grid {
		grid-template-columns:minmax(0,1fr);
	}

}

.foot h2 {
	font-size:28px;
	line-height:1.15;
	margin-top:8px;
}

.foot p,.foot td {
	color:var(--ash-dim);
	font-size:15px;
}

.foot .val {
	color:var(--ash);
	user-select:all;
}

.foot .btn-ghost {
	color:var(--ash);
	border-color:var(--line-dark);
}

.foot .btn-ghost:hover {
	border-color:var(--ember);
}

.hours {
	border-collapse:collapse;
	margin-top:8px;
	font-variant-numeric:tabular-nums;
}

.hours td {
	padding:6px 0;
	border-bottom:1px solid var(--line-dark);
}

.hours td:last-child {
	padding-left:26px;
	color:var(--ash);
	text-align:right;
}

.foot .lbl {
	font-size:13px;
	color:var(--ash-dim);
}

.reviews-row {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
	margin-top:40px;
	padding-top:30px;
	border-top:1px solid var(--line-dark);
}

@media (max-width:760px) {
	.reviews-row {
		grid-template-columns:minmax(0,1fr);
	}

}

.reviews-row blockquote {
	margin:0;
	font-family:var(--display);
	font-size:19px;
	line-height:1.45;
}

.reviews-row cite {
	display:block;
	margin-top:8px;
	font-style:normal;
	font-size:13.5px;
	color:var(--ash-dim);
}

.legal {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px;
	margin-top:40px;
	padding-top:20px;
	border-top:1px solid var(--line-dark);
	font-family:var(--mono);
	font-size:11px;
	letter-spacing:.16em;
	text-transform:uppercase;
	color:var(--ash-dim);
}

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

	.ignite::after {
		display:none;
	}

	* {
		transition:none!important;
	}

}



.topbar .wrap {
	height:auto;
	min-height:90px;
	gap:24px;
	padding-top:12px;
	padding-bottom:12px;
}

.logo {
	height:64px;
}

.logo picture {
	display:block;
	height:100%;
}

.logo img {
	border-radius:18px;
}

.top-right {
	margin-left:auto;
	flex-wrap:nowrap;
	gap:18px;
}

.rating {
	flex:none;
}

.menu-wrap {
	position:relative;
	flex:none;
}

.burger {
	display:none;
}

.menu {
	position:static;
	display:flex;
	justify-content:flex-end;
	align-items:center;
	min-width:0;
	padding:0;
	border:0;
	border-radius:0;
	box-shadow:none;
	background:none;
}

.menu a {
	display:block;
	color:#000000;
	padding:0 10px;
	border-radius:0;
	line-height:1.3;
	white-space:nowrap;
}

.menu a + a {
	border-left:1px solid #000000;
}

.menu a small {
	color:inherit;
	font-size:inherit;
}

.menu a:hover {
	color:#B4551F;
	background:none;
}

.menu a[aria-current="page"] {
	color:#000000;
}

.menu a[aria-current="page"]:hover {
	color:#B4551F;
}

.services-marquee {
	overflow:hidden;
	background:#B4551F;
	color:#ffffff;
	padding:16px 0;
}

.marquee-track {
	display:flex;
	width:max-content;
	animation:services-scroll 100s linear infinite;
}

.marquee-group {
	display:flex;
	flex-shrink:0;
	align-items:center;
}

.marquee-group span {
	white-space:nowrap;
	font-weight:500;
	font-size:16px;
}

.marquee-group span::after {
	content:"•";
	padding:0 22px;
	color:#ffffff;
}

.services-marquee:hover .marquee-track {
	animation-play-state:paused;
}

@keyframes services-scroll {
	to {
		transform:translateX(-50%);
	}

}

.bigtab[aria-pressed="true"] {
	border-color:#B4551F;
	box-shadow:0 0 0 1px #B4551F inset;
}

.product-visual {
	position:relative;
	border-radius:18px;
	overflow:hidden;
	aspect-ratio:5/4;
	background:var(--paper);
}

.product-visual > a {
	display:block;
	width:100%;
	height:100%;
}

.product-visual img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}

.product-caption {
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:14px 18px;
	background:rgba(0,0,0,.85);
	color:#ffffff;
}

.more-info {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	flex:none;
	padding:8px 15px;
	border:1px solid #ffffff;
	border-radius:12px;
	color:#ffffff;
	background:transparent;
	text-decoration:none;
	font-size:14px;
	font-weight:600;
	transition:background .2s,color .2s;
}

.more-info:hover, .more-info:focus-visible {
	color:#000000;
	background:#ffffff;
}

.brandrow {
	display:block;
	margin-top:32px;
}

.rowlbl {
	margin-bottom:16px;
	font-family:var(--body);
	font-size:18px;
	font-weight:600;
	color:var(--ink);
}

.brand-grid {
	display:grid;
	grid-template-columns:repeat(5,minmax(0,1fr));
	gap:14px;
}

.brand-logo {
	display:flex;
	align-items:center;
	justify-content:center;
	width:100%;
	min-height:110px;
	padding:12px;
	cursor:pointer;
	background:#ffffff;
	border:1px solid var(--line);
	border-radius:22px;
	overflow:hidden;
	transition:border-color .2s,box-shadow .2s;
}

.brand-logo img {
	display:block;
	width:100%;
	height:85px;
	object-fit:contain;
	border-radius:14px;
}

.brand-logo:hover, .brand-logo[aria-pressed="true"] {
	border-color:#B4551F;
	box-shadow:0 0 0 1px #B4551F;
}

.bio h3 {
	margin-top:10px;
}
.testimonials {
	background:#ffffff;
	padding:64px 0;
}

.testimonials-portfolio {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:48px;
	align-items:start;
}

.testimonials-column,
.portfolio-column {
	min-width:0;
}

.testimonials h2,
.inquire h2 {
	font-size:clamp(32px,4.2vw,48px);
	line-height:1.08;
	margin-top:10px;
}

.testimonial-slider {
	margin-top:28px;
}

.testimonial-stage {
	display:grid;
	align-items:start;
}

.testimonial {
	position:relative;
	grid-area:1 / 1;
	min-width:0;
	width:100%;
	visibility:hidden;
	opacity:0;
	transition:opacity .6s ease,visibility .6s;
	pointer-events:none;
}

.testimonial.is-active {
	visibility:visible;
	opacity:1;
	pointer-events:auto;
}

.review-stars {
	color:#E0A100;
	font-size:24px;
	letter-spacing:3px;
}

.review-name {
	font-family:var(--body);
	font-size:19px;
	font-weight:600;
	margin-top:10px;
}

.testimonial blockquote {
	margin:16px 0 0;
	max-width:100%;
	color:var(--ink-dim);
	font-size:17px;
	line-height:1.7;
}

.testimonial blockquote p + p {
	margin-top:14px;
}

.testimonial-navigation {
	display:flex;
	justify-content:flex-end;
	gap:10px;
	margin-top:24px;
}

.review-arrow {
	display:flex;
	align-items:center;
	justify-content:center;
	width:36px;
	height:36px;
	padding:0;
	cursor:pointer;
	border:1px solid var(--line);
	border-radius:50%;
	background:#ffffff;
	color:#000000;
	font-size:20px;
	transition:background .2s,color .2s;
}

.review-arrow:hover {
	background:#B4551F;
	color:#ffffff;
	border-color:#B4551F;
}

.portfolio-grid {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:12px;
	margin-top:28px;
}

.portfolio-item {
	display:block;
	min-width:0;
	aspect-ratio:4 / 3;
	border-radius:var(--radius-card,14px);
	overflow:hidden;
	background:#f3f3f3;
	cursor:zoom-in;
}

.portfolio-item img {
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .3s ease;
}

.portfolio-item:hover img {
	transform:scale(1.05);
}

.portfolio-item:focus-visible {
	outline:2px solid #B4551F;
	outline-offset:4px;
}

.portfolio-modal {
	position:fixed;
	inset:0;
	width:fit-content;
	max-width:calc(100vw - 32px);
	max-height:calc(100dvh - 32px);
	margin:auto;
	padding:48px 12px 12px;
	border:0;
	border-radius:var(--radius-card,14px);
	background:#191310;
	color:#ffffff;
	overflow:auto;
	box-shadow:0 20px 80px rgba(0,0,0,.4);
}

.portfolio-modal::backdrop {
	background:rgba(0,0,0,.85);
}

.portfolio-modal img {
	display:block;
	width:auto;
	height:auto;
	max-width:calc(100vw - 56px);
	max-height:calc(100dvh - 100px);
	margin:0 auto;
	object-fit:contain;
	border-radius:10px;
}

.portfolio-modal-close {
	position:absolute;
	top:8px;
	right:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	width:32px;
	height:32px;
	padding:0;
	border:1px solid rgba(255,255,255,.6);
	border-radius:50%;
	background:transparent;
	color:#ffffff;
	font-size:26px;
	line-height:1;
	cursor:pointer;
	transition:background .2s,color .2s;
}

.portfolio-modal-close:hover {
	background:#ffffff;
	color:#000000;
}

html.portfolio-modal-open {
	overflow:hidden;
}

@media (max-width:880px) {

	.testimonials-portfolio {
		grid-template-columns:minmax(0,1fr);
		gap:48px;
	}

}

@media (max-width:560px) {

	.testimonials {
		padding:48px 0;
	}

	.portfolio-grid {
		gap:8px;
	}

}

@media (prefers-reduced-motion:reduce) {

	.testimonial,
	.portfolio-item img {
		transition:none;
	}

	.portfolio-item:hover img {
		transform:none;
	}

}

.inquire {
	padding:64px 0;
	background:var(--sand);
}

.form-coming {
	margin-top:26px;
	padding:30px;
	border:1px solid var(--line);
	border-radius:14px;
	background:var(--paper);
	font-size:20px;
}

section[id], footer[id] {
	scroll-margin-top:110px;
}

@media (max-width:900px) {
	.topbar .wrap {
		min-height:76px;
		gap:16px;
	}

	.logo {
		height:48px;
	}

	.top-right {
		gap:12px;
	}

	.burger {
		display:grid;
	}

	.menu {
		position:absolute;
		top:54px;
		right:0;
		display:block;
		min-width:230px;
		padding:8px;
		border:1px solid var(--line);
		border-radius:14px;
		background:var(--paper);
		box-shadow:0 20px 50px rgba(26,19,16,.18);
	}

	.menu a {
		padding:12px 14px;
	}

	.menu a + a {
		border-left:0;
	}

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

}

@media (max-width:700px) {
	.brand-grid {
		grid-template-columns:repeat(3,minmax(0,1fr));
	}

	.testimonials, .inquire {
		padding:48px 0;
	}

}

@media (max-width:560px) {
	.bigtabs {
		grid-template-columns:1fr;
	}

	.brand-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:12px;
	}

	.brand-logo {
		min-height:100px;
	}

	.rating {
		padding:6px 8px;
	}

	.top-right {
		gap:8px;
	}

	.product-caption {
		gap:10px;
		padding:12px;
		font-size:14px;
	}

	.more-info {
		padding:7px 12px;
		font-size:13px;
	}

}

@media (prefers-reduced-motion:reduce) {
	.marquee-track {
		animation:none;
		width:auto;
	}

	.marquee-group {
		flex-wrap:wrap;
		justify-content:center;
		gap:8px 0;
	}

	.marquee-group span {
		white-space:normal;
	}

	.marquee-group[aria-hidden="true"] {
		display:none;
	}

	.services-marquee {
		padding:16px;
	}

	.testimonial, .testimonial-stage {
		transition:none;
	}

}

.inline-style-1 {
	margin-top:12px;
}

.inline-style-2 {
	margin-top:16px;
	display:flex;
	gap:10px;
	flex-wrap:wrap;
}

.inline-style-3 {
	margin-top:10px;
	font-size:14px;
}

.inline-style-4 {
	margin-top:8px;
}

.inline-style-5 {
	margin-top:8px;
}

.inline-style-6 {
	margin-top:8px;
	font-size:14px;
}


@media (min-width:901px) and (max-width:1100px) {
	.rating span:not(.stars) {
		display:none;
	}
	.menu a {
		font-size:14px;
		padding:0 8px;
	}
}

.inq-grid {
	display:grid;
	grid-template-columns:minmax(0,4fr) minmax(0,7fr);
	gap:48px;
	align-items:start;
}

.inq-aside p {
	margin-top:14px;
	max-width:42ch;
	color:var(--ink-dim);
}

.inq-grid .form-coming {
	margin-top:0px;
}

@media (max-width:880px) {
	.inq-grid {
		grid-template-columns:minmax(0,1fr);
		gap:26px;
	}
}



#inquire .wpcf7 {
	color: #594735;
	font-size: 14px;
	line-height: 1.6;
}

#inquire .wpcf7 form p {
	margin: 0 0 16px;
}

#inquire .wpcf7-form-control-wrap {
	display: block;
}

#inquire .wpcf7 input[type="text"],
#inquire .wpcf7 input[type="email"],
#inquire .wpcf7 input[type="tel"],
#inquire .wpcf7 input[type="number"],
#inquire .wpcf7 select,
#inquire .wpcf7 textarea {
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 13px 16px;
	border: 1px solid #d8cdbd;
	border-radius: 10px;
	background: #f3eadb;
	color: #594735;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	box-shadow: none;
}

#inquire .wpcf7 input[type="text"],
#inquire .wpcf7 input[type="email"],
#inquire .wpcf7 input[type="tel"],
#inquire .wpcf7 input[type="number"],
#inquire .wpcf7 select {
	min-height: 50px;
}

#inquire .wpcf7 input::placeholder,
#inquire .wpcf7 textarea::placeholder {
	color: #796b5d;
	opacity: 1;
}

#inquire .wpcf7 select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23594735' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	background-size: 16px;
	cursor: pointer;
}

#inquire .wpcf7 textarea {
	height: 110px;
	min-height: 110px;
	resize: vertical;
}

#inquire .wpcf7 input:focus,
#inquire .wpcf7 select:focus,
#inquire .wpcf7 textarea:focus {
	border-color: #b96f05;
	outline: 2px solid rgba(185, 111, 5, 0.18);
	outline-offset: 2px;
}

#inquire .wpcf7 input[type="file"] {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 8px 0;
	padding: 14px 16px;
	border: 1px dashed #bfb3a3;
	border-radius: 10px;
	background: transparent;
	color: #594735;
	font-family: inherit;
	font-size: 13px;
}

#inquire .wpcf7 input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 14px;
	border: 1px solid #d8cdbd;
	border-radius: 6px;
	background: #f3eadb;
	color: #594735;
	font-family: inherit;
	cursor: pointer;
}

#inquire .wpcf7 input[type="file"]::file-selector-button:hover {
	background: #e8dcc8;
}

#inquire .wpcf7 input[type="submit"] {
	display: inline-block;
	width: auto;
	margin-top: 4px;
	padding: 13px 22px;
	border: 1px solid #201810;
	border-radius: 8px;
	background: #201810;
	color: #ffffff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.5;
	cursor: pointer;
	transition: background-color 0.2s, border-color 0.2s;
}

#inquire .wpcf7 input[type="submit"]:hover {
	border-color: #b96f05;
	background: #b96f05;
}

#inquire .wpcf7 .wpcf7-not-valid {
	border-color: #b64032;
}

#inquire .wpcf7 .wpcf7-not-valid-tip {
	margin-top: 5px;
	font-size: 12px;
}


