:root{
	--bg:#f8f6f6;
	--surface:#ffffff;
	--stone:#e3e6e1;
	--ink:#16292a;
	--muted:#4e5f5e;
	--deep:#001973;
	--deep-text:#eef3f1;
	--brass:#8f6d2a;
	--brass-bg:#c9a352;
	--line:#d5dad4;
    --header:#001973;
	box-sizing:border-box;
	padding-top:env(safe-area-inset-top,0px);
	padding-bottom:env(safe-area-inset-bottom,0px);
	color-scheme:light
}
html{
	scroll-padding-top:env(safe-area-inset-top,0px);
	scroll-behavior:smooth
}
*,*::before,*::after{
	box-sizing:border-box
}
body{
	margin:0;
	background:var(--bg);
	color:var(--ink);
	font:400 1.0625rem/1.65 "Instrument Sans",system-ui,sans-serif
}
h1,h2,h3{
	font-family:"Newsreader",Georgia,serif;
	font-weight:500;
	line-height:1.12;
	margin:0;
	letter-spacing:-.01em
}
h1{
	font-size:clamp(2.5rem,6vw,4.4rem)
}
h2{
	font-size:clamp(1.9rem,3.6vw,2.8rem)
}
h3{
	font-size:1.4rem
}
p{
	margin:0
}
a{
	color:inherit
}
:focus-visible{
	outline:3px solid var(--brass);
	outline-offset:3px
}
.wrap{
	max-width:1120px;
	margin:0 auto;
	padding:0 24px
}
header{
	position:sticky;
	top:env(safe-area-inset-top,0px);
	z-index:20;
	background:var(--header);
	border-bottom:1px solid var(--line)
}
body::before{
	content:"";
	position:fixed;
	inset:0 0 auto;
	height:env(safe-area-inset-top,0px);
	background:var(--bg);
	z-index:30
}
.nav{
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:72px;
	gap:16px
}
.logo{
	font-family:"Newsreader",serif;
	font-size:1.5rem;
	font-weight:500;
	text-decoration:none;
	display:flex;
	align-items:center;
	gap:10px
}
.logo svg{
	width:28px;
	height:28px;
	color:var(--brass)
}
nav ul{
	display:flex;
	gap:28px;
	list-style:none;
	margin:0;
	padding:0
}
nav a{
	text-decoration:none;
	font-size:.95rem;
	color:#ffffff
}
nav a:hover{
	color:#c9a352
}
.btn{
	display:inline-block;
	padding:7px 17px;
	border-radius:7px;
	background:var(--deep);
	color:var(--deep-text);
	text-decoration:none;
	font-weight:400;
	font-size:1rem;
	border:0;
	cursor:pointer;
	font-family:inherit;
}
.btn:hover{
    background:var(--brass-bg);
    color: #000000
}
.btn.alt{
	background:transparent;
	color:var(--ink);
	border:1.5px solid var(--ink)
}
.btn.gold{
	background:var(--brass-bg);
	color:#1b1608
}
@media(max-width:760px){
	nav ul{
		display:none
}
}
.hero{
	padding:88px 0 96px
}
.hero .grid{
	display:grid;
	grid-template-columns:1.25fr 1fr;
	gap:64px;
	align-items:center
}
.hero p.lead{
	font-size:1.2rem;
	color:var(--muted);
	max-width:34em;
	margin:24px 0 36px
}
.hero .actions{
	display:flex;
	gap:14px;
	flex-wrap:wrap
}
.doc{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:6px;
	padding:32px 30px;
	box-shadow:0 1px 0 var(--line),0 24px 40px -28px rgba(10,30,28,.4);
	position:relative;
	margin-top:-180px;
}
.doc2{
	background:var(--surface);
	border:1px solid var(--line);
	border-radius:6px;
	padding:32px 30px;
	box-shadow:0 1px 0 var(--line),0 24px 40px -28px rgba(10,30,28,.4);
	position:relative;

}
.doc h3{
	font-size:1.25rem;
	border-bottom:1px solid var(--line);
	padding-bottom:14px;
	margin-bottom:6px;
	font-style:italic;
	font-weight:400
}
.doc ul{
	list-style:none;
	margin:0;
	padding:0
}
.doc li{
	display:flex;
	gap:14px;
	align-items:center;
	padding:13px 0;
	border-bottom:1px dashed var(--line);
	font-size:.98rem
}
.doc li:last-child{
	border:0
}
.tick{
	flex:none;
	width:22px;
	height:22px;
	border-radius:50%;
	border:1.5px solid var(--brass);
	display:grid;
	place-items:center;
	color:var(--brass)
}
.tick svg{
	width:12px;
	height:12px
}
.seal{
	position:absolute;
	right:-14px;
	bottom:-22px;
	width:84px;
	height:84px;
	border-radius:50%;
	background:var(--brass-bg);
	color:#1b1608;
	display:grid;
	place-items:center;
	text-align:center;
	font:600 .72rem/1.2 "Instrument Sans";
	transform:rotate(-8deg);
	border:4px solid var(--bg)
}
@media(max-width:860px){
	.hero .grid{
		grid-template-columns:1fr;
		gap:48px
}
	.hero{
		padding:56px 0 64px
}
}
.trust{
	background:var(--deep);
	color:var(--deep-text)
}
.trust .wrap{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
	gap:28px;
	padding-top:36px;
	padding-bottom:36px
}
.trust b{
	display:block;
	font:500 1.15rem "Newsreader",serif
}
.trust span{
	font-size:.92rem;
	opacity:.8
}
section.pad{
	padding:96px 0
}
.head{
	max-width:40em;
	margin-bottom:48px
}
.head p{
	color:var(--muted);
	margin-top:14px
}
.services{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(290px,1fr));
	gap:0;
	border-top:1px solid var(--line)
}
.svc{
	padding:32px 28px 36px 0;
	border-bottom:1px solid var(--line)
}
.svc p{
	color:var(--muted);
	margin-top:10px;
	font-size:1rem
}
@media(min-width:900px){
	.svc:not(:nth-child(3n+1)){
		padding-left:28px;
		border-left:1px solid var(--line)
}
}
.alt-bg{
	background:var(--stone)
}
.steps{
	display:grid;
	grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
	gap:32px;
	counter-reset:s
}
.step{
	counter-increment:s;
	border-top:3px solid var(--brass-bg);
	padding-top:20px
}
.step::before{
	content:counter(s);
	font:italic 400 2.4rem "Newsreader",serif;
	color:var(--brass);
	display:block;
	line-height:1;
	margin-bottom:12px
}
.step p{
	color:var(--muted);
	margin-top:8px;
	font-size:1rem
}
.split{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:64px;
	align-items:start
}
@media(max-width:860px){
	.split{
		grid-template-columns:1fr;
		gap:40px
}
	section.pad{
		padding:64px 0
}
}
.quote{
	font:italic 400 clamp(1.5rem,2.6vw,2rem)/1.35 "Newsreader",serif;
	border-left:3px solid var(--brass-bg);
	padding-left:24px
}
.quote small{
	display:block;
	font:400 .95rem "Instrument Sans";
	color:var(--muted);
	margin-top:16px;
	font-style:normal
}
.points{
	list-style:none;
	padding:0;
	margin:28px 0 0;
	display:grid;
	gap:18px
}
.points li{
	padding-left:34px;
	position:relative;
	color:var(--muted)
}
.points li b{
	color:var(--ink);
	font-weight:600
}
.points li::before{
	content:"";
	position:absolute;
	left:0;
	top:.35em;
	width:16px;
	height:9px;
	border-left:2.5px solid var(--brass);
	border-bottom:2.5px solid var(--brass);
	transform:rotate(-45deg)
}
details{
	border-bottom:1px solid var(--line);
	padding:20px 0
}
details:first-of-type{
	border-top:1px solid var(--line)
}
summary{
	cursor:pointer;
	font:500 1.2rem "Newsreader",serif;
	list-style:none;
	display:flex;
	justify-content:space-between;
	gap:16px
}
summary::-webkit-details-marker{
	display:none
}
summary::after{
	content:"+";
	font-size:1.5rem;
	line-height:1;
	color:var(--brass);
	transition:transform .2s
}
details[open] summary::after{
	transform:rotate(45deg)
}
details p{
	color:var(--muted);
	margin-top:12px;
	max-width:42em
}
.contact{
	background:var(--deep);
	color:var(--deep-text)
}
.contact .head p{
	color:var(--deep-text);
	opacity:.8
}
.contact h2{
	color:var(--deep-text)
}
form{
	background:var(--surface);
	color:var(--ink);
	padding:32px;
	border-radius:6px;
	display:grid;
	gap:18px
}
label{
	display:grid;
	gap:6px;
	font-weight:600;
	font-size:.92rem
}
input,select,textarea{
	font:inherit;
	font-weight:400;
	padding:12px 14px;
	border:1px solid var(--line);
	border-radius:4px;
	background:var(--bg);
	color:var(--ink);
	width:100%
}
.ok{
	display:none;
	padding:14px 16px;
	border-radius:4px;
	background:var(--stone);
	font-weight:500
}
.cdetails{
	display:grid;
	gap:22px;
	margin-top:8px
}
.cdetails b{
	display:block;
	font:500 1.15rem "Newsreader",serif
}
.cdetails span{
	opacity:.8
}
footer{
	padding:36px 0;
	font-size:.9rem;
	color:var(--muted)
}
footer .wrap{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	gap:12px
}
@media(prefers-reduced-motion:reduce){
	html{
		scroll-behavior:auto
}
	*{
		transition:none!important
}
}
