 :root{
	 --black:#050505;
	 --lava:#B91C1C;
	 --amber:#F59E0B;
	 --ash:#78716C;
	 --cream:#FFF7ED;
	 --paper:#F8EFE2;
	 --muted:#D8C8B8;
	 --line:rgba(255,247,237,.14);
	 --glass:rgba(255,247,237,.07);
	 --shadow:0 22px 80px rgba(0,0,0,.42);
	 --radius:28px;
}
 *{
	box-sizing:border-box
}
 html{
	scroll-behavior:smooth
}
 body{
	margin:0;
	background:var(--black);
	color:var(--cream);
	font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,"Segoe UI",sans-serif;
	line-height:1.65;
	overflow-x:hidden
}
 body:before{
	content:"";
	position:fixed;
	inset:0;
	z-index:-3;
	background:radial-gradient(circle at 18% 12%,rgba(185,28,28,.32),transparent 34%),radial-gradient(circle at 84% 18%,rgba(245,158,11,.22),transparent 28%),linear-gradient(135deg,#050505 0%,#140606 38%,#30100b 63%,#181512 100%)
}
 body:after{
	content:"";
	position:fixed;
	inset:0;
	z-index:-2;
	pointer-events:none;
	background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
	background-size:46px 46px;
	mask-image:linear-gradient(to bottom,rgba(0,0,0,.85),transparent 92%)
}
 a{
	color:inherit;
	text-decoration:none
}
 img{
	max-width:100%;
	display:block
}
 .container{
	width:min(1180px,calc(100% - 40px));
	margin-inline:auto
}
.narrow{
	width:min(880px,calc(100% - 40px));
	margin-inline:auto
}
.wide{
	width:min(1320px,calc(100% - 32px));
	margin-inline:auto
}
 .skip-link{
	position:absolute;
	left:-9999px;
	top:12px;
	background:var(--amber);
	color:#050505;
	padding:.7rem 1rem;
	border-radius:999px;
	z-index:50
}
.skip-link:focus{
	left:12px
}
.topbar{
	font-size:.86rem;
	color:#f1dec9;
	background:linear-gradient(90deg,rgba(5,5,5,.92),rgba(185,28,28,.48),rgba(245,158,11,.2));
	border-bottom:1px solid var(--line)
}
.topbar .container{
	display:flex;
	gap:1rem;
	justify-content:space-between;
	padding:.55rem 0
}
.topbar span{
	opacity:.95
}
.header{
	position:sticky;
	top:0;
	z-index:40;
	background:rgba(5,5,5,.76);
	backdrop-filter:blur(16px);
	border-bottom:1px solid var(--line)
}
.nav{
	height:82px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem
}
.brand{
	display:flex;
	align-items:center;
	gap:.8rem;
	font-weight:820;
	letter-spacing:.02em
}
.brand-mark{
	width:46px;
	height:46px;
	border-radius:16px;
	background:linear-gradient(135deg,#050505,#B91C1C 48%,#F59E0B 78%,#78716C);
	display:grid;
	place-items:center;
	box-shadow:0 0 32px rgba(245,158,11,.2)
}
.brand-mark svg{
	width:27px
}
.brand small{
	display:block;
	color:var(--muted);
	font-size:.74rem;
	font-weight:600;
	letter-spacing:.16em;
	text-transform:uppercase
}
.nav-links{
	display:flex;
	align-items:center;
	gap:.35rem
}
.nav-links a{
	padding:.7rem .85rem;
	border-radius:999px;
	color:#f5e6d6;
	font-size:.94rem
}
.nav-links a:hover,.nav-links a.active{
	background:rgba(255,247,237,.1)
}
.nav-cta{
	background:linear-gradient(135deg,var(--lava),var(--amber));
	color:#050505!important;
	font-weight:800
}
.burger{
	display:none;
	background:rgba(255,247,237,.09);
	border:1px solid var(--line);
	border-radius:16px;
	color:#fff;
	padding:.72rem
}
.burger span{
	display:block;
	width:24px;
	height:2px;
	background:var(--cream);
	margin:5px 0;
	transition:.2s
}
.hero{
	padding:82px 0 52px;
	position:relative
}
.hero-grid{
	display:grid;
	grid-template-columns:1.05fr .95fr;
	gap:48px;
	align-items:center
}
.eyebrow{
	display:inline-flex;
	gap:.5rem;
	align-items:center;
	border:1px solid rgba(245,158,11,.33);
	background:rgba(245,158,11,.08);
	color:#ffd99b;
	padding:.45rem .8rem;
	border-radius:999px;
	font-size:.84rem;
	font-weight:750;
	text-transform:uppercase;
	letter-spacing:.12em
}
.h1{
	font-size:clamp(3rem,7vw,3.8rem);
	line-height:.9;
	margin:22px 0 24px;
	letter-spacing:-.07em
}
.h1 .grad,.section-title .grad{
	background:linear-gradient(100deg,var(--cream),var(--amber) 42%,#ff5b36 70%,var(--ash));
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent
}
.lead{
	font-size:clamp(1.08rem,2vw,.35rem);
	color:#eadac9;
	max-width:720px
}
.hero-actions,.actions{
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
	margin-top:30px
}
.btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.55rem;
	border-radius:999px;
	padding:1rem 1.25rem;
	border:1px solid var(--line);
	font-weight:800;
	cursor:pointer;
	transition:.2s;
	background:rgba(255,247,237,.08);
	color:var(--cream);
	min-height:48px
}
.btn:hover{
	transform:translateY(-2px);
	box-shadow:0 12px 38px rgba(0,0,0,.3)
}
.btn-primary{
	background:linear-gradient(135deg,var(--lava),var(--amber));
	color:#050505;
	border:none
}
.btn-dark{
	background:#0e0c0b
}
.hero-card{
	position:relative;
	border:1px solid var(--line);
	border-radius:36px;
	padding:16px;
	background:linear-gradient(180deg,rgba(255,247,237,.12),rgba(255,247,237,.035));
	box-shadow:var(--shadow);
	overflow:hidden
}
.hero-card img{
	border-radius:28px;
	aspect-ratio:1.18/1;
	object-fit:cover
}
.status-card{
	position:absolute;
	left:32px;
	right:32px;
	bottom:30px;
	border:1px solid rgba(255,247,237,.18);
	border-radius:24px;
	background:rgba(5,5,5,.72);
	backdrop-filter:blur(12px);
	padding:18px;
	display:grid;
	grid-template-columns:1fr auto;
	gap:1rem
}
.status-card strong{
	display:block;
	font-size:1.2rem
}
.pulse{
	width:12px;
	height:12px;
	background:var(--amber);
	border-radius:50%;
	box-shadow:0 0 0 0 rgba(245,158,11,.7);
	animation:pulse 1.8s infinite
}
@keyframes pulse{
	70%{
		box-shadow:0 0 0 17px rgba(245,158,11,0)
	}
	100%{
		box-shadow:0 0 0 0 rgba(245,158,11,0)
	}
}
.stats{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:1px;
	border:1px solid var(--line);
	background:var(--line);
	border-radius:28px;
	overflow:hidden;
	margin:28px auto 0
}
.stat{
	background:rgba(5,5,5,.68);
	padding:28px
}
.stat strong{
	display:block;
	font-size:clamp(1.8rem,4vw,3.4rem);
	line-height:1;
	color:var(--amber);
	letter-spacing:-.05em
}
.stat span{
	color:#d8c8b8;
	font-size:.94rem
}
.section{
	padding:84px 0
}
.section-muted{
	background:linear-gradient(180deg,rgba(255,247,237,.035),rgba(5,5,5,.08));
	border-block:1px solid var(--line)
}
.section-head{
	display:flex;
	justify-content:space-between;
	align-items:end;
	gap:2rem;
	margin-bottom:34px
}
.section-title{
	font-size:clamp(2.2rem,5vw,4.4rem);
	line-height:.98;
	margin:0;
	letter-spacing:-.055em
}
.section-kicker{
	color:var(--amber);
	text-transform:uppercase;
	letter-spacing:.16em;
	font-weight:840;
	font-size:.82rem;
	margin-bottom:10px
}
.section-copy{
	max-width:650px;
	color:#e3d1bf
}
.grid-2{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:28px
}
.grid-3{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:22px
}
.grid-4{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:18px
}
.card{
	border:1px solid var(--line);
	background:linear-gradient(180deg,rgba(255,247,237,.11),rgba(255,247,237,.04));
	border-radius:var(--radius);
	padding:28px;
	box-shadow:0 18px 60px rgba(0,0,0,.22)
}
.card h3,.card h2{
	margin-top:0;
	line-height:1.15
}
.card p,.card li{
	color:#e1d0be
}
.icon{
	width:50px;
	height:50px;
	border-radius:17px;
	display:grid;
	place-items:center;
	background:linear-gradient(135deg,rgba(185,28,28,.7),rgba(245,158,11,.75));
	color:#050505;
	font-weight:900;
	margin-bottom:18px
}
.image-card{
	overflow:hidden;
	padding:0
}
.image-card img{
	height:330px;
	width:100%;
	object-fit:cover
}
.image-card .pad{
	padding:25px
}
.split{
	display:grid;
	grid-template-columns:.92fr 1.08fr;
	gap:34px;
	align-items:start
}
.sticky-media{
	position:sticky;
	top:110px;
	border:1px solid var(--line);
	border-radius:32px;
	overflow:hidden;
	background:rgba(255,247,237,.05);
	box-shadow:var(--shadow)
}
.sticky-media img{
	height:640px;
	width:100%;
	object-fit:cover
}
.check-list,.lava-list{
	padding:0;
	margin:0;
	list-style:none
}
.check-list li,.lava-list li{
	position:relative;
	padding-left:32px;
	margin:12px 0
}
.check-list li:before{
	content:"✓";
	position:absolute;
	left:0;
	top:0;
	color:var(--amber);
	font-weight:900
}
.lava-list li:before{
	content:"";
	position:absolute;
	left:0;
	top:.72em;
	width:12px;
	height:12px;
	border-radius:50%;
	background:linear-gradient(135deg,var(--lava),var(--amber));
	box-shadow:0 0 18px rgba(245,158,11,.5)
}
.timeline{
	display:grid;
	gap:16px;
	counter-reset:step
}
.step{
	position:relative;
	padding:24px 24px 24px 86px;
	border:1px solid var(--line);
	border-radius:24px;
	background:rgba(255,247,237,.055)
}
.step:before{
	counter-increment:step;
	content:counter(step,decimal-leading-zero);
	position:absolute;
	left:22px;
	top:24px;
	width:44px;
	height:44px;
	border-radius:16px;
	background:linear-gradient(135deg,var(--lava),var(--amber));
	color:#050505;
	font-weight:900;
	display:grid;
	place-items:center
}
.service-table{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	border:1px solid var(--line);
	border-radius:24px;
	background:rgba(255,247,237,.05)
}
.service-table th,.service-table td{
	padding:18px;
	border-bottom:1px solid var(--line);
	vertical-align:top;
	text-align:left
}
.service-table th{
	color:var(--amber);
	font-size:.85rem;
	text-transform:uppercase;
	letter-spacing:.12em;
	background:rgba(5,5,5,.38)
}
.service-table tr:last-child td{
	border-bottom:none
}
.quote{
	font-family:Georgia,serif;
	font-size:clamp(1.45rem,3vw,2.5rem);
	line-height:1.25;
	color:#fff3e5;
	border-left:4px solid var(--amber);
	padding-left:28px;
	margin:0
}
.gallery{
	display:grid;
	grid-template-columns:1.2fr .8fr 1fr;
	gap:18px
}
.gallery img{
	height:260px;
	width:100%;
	object-fit:cover;
	border-radius:26px;
	border:1px solid var(--line)
}
.gallery img:first-child{
	height:538px;
	grid-row:span 2
}
.faq{
	display:grid;
	gap:14px
}
.faq details{
	border:1px solid var(--line);
	border-radius:22px;
	background:rgba(255,247,237,.055);
	padding:20px
}
.faq summary{
	cursor:pointer;
	font-weight:850;
	color:#fff
}
.faq p{
	color:#decebd
}
.cta-band{
	border:1px solid rgba(245,158,11,.28);
	border-radius:38px;
	padding:42px;
	background:radial-gradient(circle at 15% 20%,rgba(245,158,11,.25),transparent 34%),linear-gradient(135deg,rgba(185,28,28,.33),rgba(5,5,5,.72));
	display:grid;
	grid-template-columns:1.2fr .8fr;
	gap:22px;
	align-items:center;
	box-shadow:var(--shadow)
}
.footer{
	border-top:1px solid var(--line);
	background:#050505;
	padding:58px 0 28px
}
.footer-grid{
	display:grid;
	grid-template-columns:1.4fr .75fr .75fr 1fr;
	gap:28px
}
.footer a{
	color:#e9d6c3
}
.footer h3{
	font-size:1rem;
	text-transform:uppercase;
	letter-spacing:.14em;
	color:var(--amber)
}
.legal-line{
	margin-top:34px;
	padding-top:24px;
	border-top:1px solid var(--line);
	display:flex;
	justify-content:space-between;
	gap:1rem;
	color:#baa897;
	font-size:.9rem
}
.page-hero{
	padding:72px 0 46px;
	border-bottom:1px solid var(--line);
	background:radial-gradient(circle at 72% 10%,rgba(245,158,11,.15),transparent 34%)
}
.page-hero h1{
	font-size:clamp(2.8rem,6vw,5.8rem);
	line-height:.92;
	margin:16px 0 18px;
	letter-spacing:-.06em
}
.breadcrumbs{
	font-size:.92rem;
	color:#d6c3b2
}
.breadcrumbs a{
	color:var(--amber)
}
.article{
	border-bottom:1px solid var(--line);
	padding:34px 0
}
.article h2{
	font-size:clamp(1.7rem,3vw,2.55rem);
	line-height:1.08
}
.article-meta{
	color:var(--amber);
	text-transform:uppercase;
	letter-spacing:.13em;
	font-size:.82rem;
	font-weight:850
}
.contact-card{
	display:grid;
	grid-template-columns:.75fr 1.25fr;
	gap:28px
}
.form{
	display:grid;
	gap:16px
}
.form label{

	gap:8px;
	color:#fff;
	font-weight:750
}
.form input,.form select,.form textarea{
	width:100%;
	border:1px solid rgba(255,247,237,.18);
	background:rgba(5,5,5,.58);
	color:#fff;
	border-radius:16px;
	padding:1rem;
	font:inherit
}
.form textarea{
	min-height:150px;
	resize:vertical
}
.map-shell{
	border:1px solid var(--line);
	border-radius:30px;
	overflow:hidden;
	background:rgba(255,247,237,.08)
}
.map-shell img{
	height:430px;
	width:100%;
	object-fit:cover
}
.legal h2{
	font-size:2rem;
	line-height:1.12;
	margin-top:42px
}
.legal h3{
	color:var(--amber);
	margin-top:28px
}
.legal p,.legal li{
	color:#e1d0be
}
.cookie-banner{
	position:fixed;
	left:50%;
	bottom:18px;
	transform:translateX(-50%);
	width:min(980px,calc(100% - 28px));
	z-index:60;
	border:1px solid rgba(245,158,11,.32);
	border-radius:28px;
	background:rgba(5,5,5,.92);
	backdrop-filter:blur(18px);
	box-shadow:0 24px 90px rgba(0,0,0,.55);
	padding:22px;
	display:none
}
.cookie-banner.show{
	display:block;
	animation:rise .45s ease
}
.cookie-banner .row{
	display:grid;
	grid-template-columns:1fr auto;
	gap:18px;
	align-items:center
}
.cookie-banner p{
	margin:.25rem 0 0;
	color:#e4d2bf
}
.cookie-actions{
	display:flex;
	gap:.7rem;
	flex-wrap:wrap
}
@keyframes rise{
	from{
		opacity:0;
		transform:translate(-50%,24px)
	}
	to{
		opacity:1;
		transform:translate(-50%,0)
	}
}
.alert-wrap{
	position:fixed;
	right:20px;
	top:100px;
	z-index:70;
	display:grid;
	gap:12px
}
.v-alert{
	min-width:min(380px,calc(100vw - 40px));
	border:1px solid rgba(245,158,11,.35);
	border-radius:22px;
	padding:18px 18px 18px 56px;
	background:rgba(5,5,5,.92);
	box-shadow:var(--shadow);
	position:relative;
	overflow:hidden;
	animation:slidein .38s ease
}
.v-alert:before{
	content:"";
	position:absolute;
	left:18px;
	top:21px;
	width:24px;
	height:24px;
	border-radius:50%;
	background:linear-gradient(135deg,var(--lava),var(--amber));
	box-shadow:0 0 22px rgba(245,158,11,.55)
}
.v-alert strong{
	display:block
}
.v-alert span{
	color:#e1d0be
}
.v-alert .bar{
	position:absolute;
	left:0;
	bottom:0;
	height:4px;
	background:linear-gradient(90deg,var(--lava),var(--amber));
	animation:shrink 5s linear forwards
}
@keyframes slidein{
	from{
		opacity:0;
		transform:translateX(34px)
	}
	to{
		opacity:1;
		transform:translateX(0)
	}
}
@keyframes shrink{
	from{
		width:100%
	}
	to{
		width:0
	}
}
.mobile-panel{
	display:none
}
.schema-note{
	font-size:.9rem;
	color:#baa897
}
.pill-grid{
	display:flex;
	gap:.7rem;
	flex-wrap:wrap
}
.pill{
	border:1px solid var(--line);
	border-radius:999px;
	padding:.55rem .75rem;
	background:rgba(255,247,237,.06);
	color:#ead7c4;
	font-size:.91rem
}
.price{
	font-weight:900;
	color:var(--amber)
}
.callout{
	border:1px solid rgba(245,158,11,.25);
	background:linear-gradient(135deg,rgba(245,158,11,.09),rgba(185,28,28,.08));
	border-radius:28px;
	padding:28px
}
.toc{
	position:sticky;
	top:108px
}
.toc a{
	display:block;
	padding:.75rem 0;
	border-bottom:1px solid var(--line);
	color:#e5d4c2
}
.toc a:hover{
	color:var(--amber)
}
 @media(max-width:980px){
	.topbar .container{
		flex-direction:column;
		gap:.2rem
	}
	.nav{
		height:72px
	}
	.burger{
		display:block
	}
	.nav-links{
		position:fixed;
		inset:72px 12px auto 12px;
		display:none;
		flex-direction:column;
		align-items:stretch;
		background:rgba(5,5,5,.96);
		border:1px solid var(--line);
		border-radius:24px;
		padding:14px;
		box-shadow:var(--shadow)
	}
	.nav-links.open{
		display:flex
	}
	.nav-links a{
		padding:1rem
	}
	.hero-grid,.grid-2,.split,.cta-band,.contact-card{
		grid-template-columns:1fr
	}
	.stats,.grid-4{
		grid-template-columns:repeat(2,1fr)
	}
	.grid-3{
		grid-template-columns:1fr 1fr
	}
	.section-head{
		display:block
	}
	.sticky-media{
		position:relative;
		top:auto
	}
	.sticky-media img{
		height:420px
	}
	.footer-grid{
		grid-template-columns:1fr 1fr
	}
	.gallery{
		grid-template-columns:1fr 1fr
	}
	.gallery img:first-child{
		grid-row:auto;
		height:260px
	}
	.cookie-banner .row{
		grid-template-columns:1fr
	}
	.status-card{
		position:relative;
		left:auto;
		right:auto;
		bottom:auto;
		margin-top:14px
	}
	.hero-card img{
		aspect-ratio:auto;
		height:420px
	}
	.cta-band .actions{
		margin-top:0
	}
}
 @media(max-width:640px){
	.container,.narrow{
		width:min(100% - 26px,1180px)
	}
	.hero{
		padding-top:52px
	}
	.h1{
		font-size:2.85rem
	}
	.section{
		padding:64px 0
	}
	.stats,.grid-3,.grid-4,.footer-grid,.gallery{
		grid-template-columns:1fr
	}
	.stat{
		padding:22px
	}
	.card{
		padding:22px
	}
	.legal-line{
		display:block
	}
	.service-table{
		font-size:.9rem
	}
	.service-table th:nth-child(3),.service-table td:nth-child(3){
		display:none
	}
	.hero-card img,.sticky-media img{
		height:330px
	}
	.map-shell img{
		height:300px
	}
	.brand span{
		font-size:.95rem
	}
	.brand small{
		font-size:.64rem
	}
	.topbar{
		display:none
	}
	.page-hero h1{
		font-size:3.2rem
	}
	.alert-wrap{
		right:12px;
		top:84px
	}
	.cookie-actions .btn{
		width:100%
	}
}
 