:root {
--green:#003f35;
--green2:#00584a;
--cream:#f8f0e3;
--copper:#b84c24;
--gold:#d08a4a;
--ink:#173b33;
--white:#fff;
--shadow:0 16px 40px rgba(0, 45, 38, .14)
}
* {
	box-sizing:border-box
}
html {
	scroll-behavior:smooth
}
body {
	margin:0;
	font-family:"DM Sans", sans-serif;
	color:var(--ink);
	background:var(--cream);
	line-height:1.65
}
img {
	max-width:100%;

}
a {
	color:inherit;
	text-decoration:none
}
.container {
	width:min(1350px, calc(100% - 40px));
	margin:auto
}
.site-header {
	position:sticky;
	top:0;
	z-index:50;
	background:rgba(255, 250, 242, .95);
	backdrop-filter:blur(12px);
	border-bottom:1px solid rgba(0, 63, 53, .12)
}
.nav-wrap {
	min-height:88px;
	display:flex;
	align-items:center;
	justify-content:space-between
}
.brand img {
	width:185px;
	height:86px;
	object-fit:contain;
	object-position:left center
}
.main-nav {
	display:flex;
	align-items:center;
	gap:42px;
	font-weight:600
}
.main-nav a {
	position:relative
}
.main-nav a:not(.nav-button)::after {
content:"";
position:absolute;
left:0;
right:100%;
bottom:-9px;
height:2px;
background:var(--green);
transition:.25s
}
.main-nav a:hover::after, .main-nav a.active::after {
right:0
}
.nav-button, .button.primary {
	background:var(--green);
	color:#fff;
	border-radius:6px;
	padding:14px 24px;
	box-shadow:0 8px 18px rgba(0, 63, 53, .16)
}
.menu-toggle {
	display:none;
	border:0;
	background:none;
	padding:8px
}
.menu-toggle span {
	display:block;
	width:28px;
	height:2px;
	background:var(--green);
	margin:6px 0;
transition:.25s
}
.hero {
	min-height:600px;
	position:relative;
	overflow:hidden;
	display:grid;
	align-items:center;background:linear-gradient(rgba(0, 65, 55, .1), rgba(0, 50, 42, .12)), url('../images/banner.jpg') no-repeat top right #f6e9d6; background-size:cover;
}
.hero-art {
	position:absolute;
	inset:0 0 0 42%;
	overflow:hidden;
	background:linear-gradient(135deg, rgba(255, 255, 255, .5), rgba(0, 63, 53, .42))
}
.hero-art:after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg, #faf4ea 0%, rgba(250, 244, 234, .5) 24%, rgba(0, 63, 53, .1) 70%), linear-gradient(180deg, transparent 70%, rgba(0, 63, 53, .3))
}
.hero-art img {
	width:100%;
	height:100%;
	transform:scale(1.15);object-fit: contain;
}
.hero-grid {
	position:relative;
	z-index:2
}
.nx a{ float:left !important;}
.hero-copy {
	max-width:620px;
	padding:50px 0
}
.site-footer a:hover{ text-decoration:underline;}
.color2{ color:#6C0 !important; padding-top:0px !important; margin-top:0px; margin-bottom:0px;}
.eyebrow {
	text-transform:uppercase;
	letter-spacing:.12em;
	font-weight:700;
	color:var(--copper);
font-size:.82rem;text-shadow:1px 1px 1px #FFF;
}
.hero h1{ text-shadow:1px 1px 1px #FFF;}
.hero h1, .section h2, .approach h2, .why h2, .contact-card h2 {
	font-family:"Playfair Display", serif; 
	font-weight:500;
	line-height:1.07;
	margin:.35em 0
}
.hero h1 {
	font-size:clamp(3rem, 6vw, 4.5rem);
	max-width:750px
}
.hero h1 em, .approach h2 em, .why h2 em {
	color:var(--copper);
	font-weight:500
}
.lead {
	font-size:1.1rem;
	max-width:630px;text-shadow:1px 1px 1px #FFF;
}
.hero-actions {
	display:flex;
	gap:16px;
	flex-wrap:wrap;
	margin-top:30px
}
.button {
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:10px;
	padding:14px 22px;
	border-radius:6px;
	font-weight:700;
	border:1px solid var(--green);
transition:.25s
}
.button:hover {
	transform:translateY(-2px)
}
.button.secondary {
	background:rgba(255, 255, 255, .5)
}
.approach {
	background:linear-gradient(100deg, #004539, #00392f);
	color:#fff;
	padding:54px 0
}
.approach-grid {
	display:grid;
	grid-template-columns:1.35fr repeat(3, 1fr);
	gap:0
}
.approach-intro, .approach-card {
	padding:16px 28px
}
.approach-card {
	border-left:1px solid rgba(255, 255, 255, .18);
	text-align:center
}
.approach h2 {
	font-size:2.35rem
}
.approach p {
	color:rgba(255, 255, 255, .78)
}
.eyebrow.light {
	color:#f08352
}
.line-icon {
	font-size:1.5rem;
	color:#f47b3e
}
.line-icon img{ height:90px;}
.approach-card h3 {
	font-family:"Playfair Display", serif; padding-top:0px; margin-top:0px; margin-bottom:8px;
	font-size:1.25rem
}
.section {
	padding:82px 0
}
.section-heading {
	text-align:center;
	margin-bottom:38px
}
.section-heading h2 {
	font-size:clamp(2.5rem, 4vw, 3.5rem)
}
.slider {
	position:relative
}
.slider-viewport {
	overflow:hidden;
	padding:10px 4px
}
.slider-track {
	display:flex;
transition:transform .55s cubic-bezier(.22, .61, .36, 1)
}
.service-card {
	flex:0 0 calc(20% - 12px);
	margin:0 6px;
	background:rgba(255, 255, 255, .55);
	border:1px solid rgba(0, 63, 53, .14);
	border-radius:12px;
	padding:28px 22px;
	text-align:center;
	min-height:330px;
	box-shadow:0 6px 18px rgba(0, 45, 38, .05);
	display:flex;
	flex-direction:column
}
.service-mark {
	font-size:2.25rem; clear:both; display:inline-block; text-align:center; width:100%;
}
.service-card h3 {
	font-family:"Playfair Display", serif;
	font-size:1.35rem;
	line-height:1.2; padding-top:0px; margin-top:0px; margin-bottom:0px; padding-bottom:0px;
}
.service-card p {
font-size:.93rem
}
.service-card a {
	margin-top:auto;
	color:var(--copper);
	font-weight:700
}
.slider-arrow {
	position:absolute;
	top:40%;
	z-index:3;
	width:44px;
	height:44px;
	border-radius:50%;
	border:1px solid rgba(0, 63, 53, .25);
	background:#fff;
	color:var(--green);
	font-size:2rem;
	cursor:pointer;
	box-shadow:var(--shadow)
}
.slider-arrow.prev {
	left:-22px
}
.slider-arrow.next {
	right:-22px
}
.slider-dots {
	display:flex;
	justify-content:center;
	gap:8px;
	margin-top:22px
}
.slider-dots button {
	width:9px;
	height:9px;
	border:0;
	border-radius:50%;
	background:#b6c5c0;
	padding:0
}
.slider-dots button.active {
	background:var(--copper);
	transform:scale(1.25)
}
.why {
	background:linear-gradient(120deg, #00473a, #002f28);
	color:#fff;
	padding-bottom:70px
}
.why-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:52px;
	align-items:center
}
.nature-photo {
	min-height:450px;
	border-radius:24px;
	background:linear-gradient(rgba(0, 65, 55, .1), rgba(0, 50, 42, .12)), url('../images/pic.jpg') center/cover;
	box-shadow:var(--shadow)
}
.why h2 {
	font-size:clamp(2.6rem, 4vw, 3.6rem)
}
.why-copy ul {
	list-style:none;
	padding:0
}
.why-copy li {
	margin:15px 0;
	padding-left:34px;
	position:relative
}
.why-copy li:before {
	content:"✓";
	position:absolute;
	left:0;
	width:22px;
	height:22px;
	border:2px solid var(--gold);
	border-radius:50%;
	display:grid;
	place-items:center;
	color:var(--gold);
font-size:.75rem
}
.contact-card {
	margin-top:68px;
	background-color:#f7efe4;
	color:#333;
	border-radius:20px;
	display:grid;
grid-template-columns:.8fr 1.25fr;
	align-items:center;
	padding:28px 52px;
	overflow:hidden
}
.contact-art img {
	height:160px;
	width:100%;
	object-fit:contain;
	
}
.contact-card h2 {
	font-size:2.6rem
}
.site-footer {
	background:#00392f;
	color:#fff;
	padding:34px 0 22px
}
.footer-grid {
	display:grid;
grid-template-columns:1.1fr 1fr .6fr;
	gap:50px;
	align-items:start
}
.footer-brand img {
	width:220px;
	height:110px;
	object-fit:contain;
	object-position:left;
	filter:brightness(1.06)
}
.site-footer p {
	margin:.2em 0
}
.site-footer a {
	display:block;
	margin-top:10px
}
.quick-links {
	display:flex;
	flex-direction:column
}
.copyright {
	text-align:center;
	border-top:1px solid rgba(255, 255, 255, .15);
	margin-top:28px;
	padding-top:22px;
font-size:.88rem;
	color:rgba(255, 255, 255, .7)
}
.reveal {
	opacity:0;
	transform:translateY(20px);
transition:.7s
}
.reveal.visible {
	opacity:1;
	transform:none
}
.light{ text-shadow:none !important;}
.menu-toggle{ cursor:pointer;}
.hero2 {
	min-height:480px;
	position:relative;
	overflow:hidden;
	background:linear-gradient(90deg, rgba(2, 58, 50, .98) 0%, rgba(2, 58, 50, .91) 48%, rgba(2, 58, 50, .28) 100%), url('../images/banner2.jpg') no-repeat top right #f6e9d6 ; background-size:cover; 
	color:#fff
}

.hero-content {
	position:relative;
	z-index:1;
	padding:78px 0 75px
}
.eyebrow {
	text-transform:uppercase;
	letter-spacing:.16em;
	font-weight:700;
font-size:.85rem;
	color:#ec7444
}
.hero2 h1 {
	font:600 clamp(2.5rem, 5vw, 3.25rem)/1.15 'Playfair Display', serif;
	max-width:800px;
	margin:13px 0 23px
}
.ornament {
	width:150px;
	height:2px;
	background:var(--copper);
	margin:18px 0 25px
}
.hero-lead {
	max-width:660px;
	font-size:1.08rem
}
.about-section {
	padding:76px 0
}
.about-grid {
	display:grid;
	grid-template-columns:340px 1fr;
	gap:65px;
	align-items:start
}
.profile-card {
	background:var(--cream);
	border:1px solid var(--line);
	box-shadow:var(--shadow);
	padding:34px 28px;
	text-align:center;
	position:sticky;
	top:125px
}
.profile-icon {
	width:105px;
	height:105px;
	border-radius:50%;
	border:1px solid var(--copper);
	margin:0 auto 18px;
	display:grid;
	place-items:center
}
.profile-icon svg {
	width:58px;
	fill:none;
	stroke:var(--green);
	stroke-width:1.4
}
.profile-card h2 {
	font:600 1.65rem 'Playfair Display', serif;
	margin:0
}
.role {
	color:var(--copper);
	font-weight:700;
	margin:5px 0
}
.profile-rule {
	height:1px;
	background:var(--line);
	margin:24px 0
}
.badge-grid {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:9px
}
.badge-grid span {
	background:var(--green);
	color:#f7d593;
	clip-path:polygon(50% 0, 95% 16%, 88% 77%, 50% 100%, 12% 77%, 5% 16%);
	min-height:78px;
	display:grid;
	place-items:center;
	font-weight:700;
font-size:.73rem;
	line-height:1.15
}
.copy-block {
	margin-bottom:46px
}
.copy-block h2, .section-title, .cta-inner h2 {
	font:600 clamp(2rem, 3vw, 2.5rem) 'Playfair Display', serif;
	margin:0 0 17px
}
.copy-block p {
	color:var(--muted);
	font-size:1.03rem
}
.values-section {
	padding:60px 0; background-color:#FFF;
}
.center {
	text-align:center
}
.section-title {
	text-align:center
}
.slider {
	position:relative;
	margin-top:42px
}
.slider-viewport {
	overflow:hidden
}
.value-card {
flex:0 0:25%;
	padding:18px 24px;
	text-align:center;
	border-right:1px solid var(--line)
}
.value-card:last-child {
	border-right:0
}
.value-icon {
	width:82px;
	height:82px;
	border-radius:50%;
	margin:0 auto 16px;
	background:#efe2d2;
	display:grid;
	place-items:center
}
.value-icon svg {
	width:38px;
	fill:none;
	stroke:var(--green);
	stroke-width:1.6
}
.value-card h3 {
	font:600 1.45rem 'Playfair Display', serif;
	margin:0 0 8px
}
.value-card p {
font-size:.93rem;
	color:var(--muted)
}
.slider-btn {
	display:none;
	position:absolute;
	top:45%;
	z-index:2;
	border:0;
	width:42px;
	height:42px;
	border-radius:50%;
	background:var(--green);
	color:#fff;
	font-size:2rem
}
.slider-btn.prev {
	left:-10px
}
.slider-btn.next {
	right:-10px
}
.slider-dots {
	display:none;
	justify-content:center;
	gap:8px;
	margin-top:22px
}
.slider-dots button {
	width:9px;
	height:9px;
	border:0;
	border-radius:50%;
	background:#bcae9e
}
.slider-dots button.active {
	background:var(--copper);
	transform:scale(1.25)
}
.center-action {
	text-align:center;
	margin-top:38px
}
.cta-band {
	position:relative; clear:both;
	overflow:hidden;
	background:var(--green);
	color:#fff;
	padding:52px 0;background:url('../images/banner4.jpg') top left no-repeat, url('../images/banner5.jpg') top right repeat #01271c; background-size:38%;
	
}
.cta-inner {
	position:relative;
	z-index:1;
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:30px
}
.cta-inner h2 {
	margin-bottom:8px; margin-top:0px; padding-top:0px;
}
.cta-inner p {
	margin:0;
	color:rgba(255, 255, 255, .76)
}
.cta-branch {
	position:absolute;
     right:-120px;
	top:-180px;
	width:520px;
	height:520px;
	
}
.hero3 {
	min-height:480px;
	background: linear-gradient(90deg, rgba(2, 58, 50, .98) 0%, rgba(2, 58, 50, .91) 48%, rgba(2, 58, 50, .28) 100%), url('../images/banner3.jpg') no-repeat top right #f6e9d6; background-size:cover;
	position:relative;
	overflow:hidden;
	color:white;
	display:flex;
	align-items:center
}

.hero3 h1, .section-head h2, .process-section h2 {
	font-family:"Playfair Display", serif;
	font-weight:600;
	line-height:1.12
}
.hero3 h1 {
	font: 600 clamp(2.5rem, 5vw, 3.25rem)/1.15 'Playfair Display', serif;
  max-width:800px;
	margin:0 0 24px
}
.hero3 h1 em {
	color:#f27d47
}
.zx{ padding-bottom:60px; float:left; width:100%; }
.services-section {
	padding:82px 0 96px; background-color:#fffaf2;
}
.section-head { clear:both;
/*	align-items:end;
	justify-content:space-between;*/
	gap:30px;background-color:#fffaf2;
	margin-bottom:14px
}
.section-head h2 {
	font-size:clamp(2rem, 4vw, 3rem);
	margin:0;
	max-width:720px
}

.service-card2 { width:48%; float:left; margin:1% 1% 1% 1%;
	background-color:#fff;
	border:1px solid var(--line);
	border-radius:14px;
	padding:28px 26px;
	box-shadow:0 4px 14px rgba(23, 55, 48, .04);
transition:.3s
}
.service-card2:hover {
	transform:translateY(-7px);
	box-shadow:var(--shadow);
	border-color:#d9b790
}
.service-icon {
	width:54px;
	height:54px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:var(--green);
	color:#ef8955;
	font-size:1.7rem;
	margin-bottom:18px
}
.service-card2 h3 {
	font-family:"Playfair Display", serif;
	font-size:1.45rem;
	line-height:1.2;
	margin:0 0 14px
}
.service-card2 p {
font-size:.94rem;
	color:#344e48
}
.service-card2 ul {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
	list-style:none;
	padding:0;
	margin:20px 0 0
}
.service-card2 li {
	border:1px solid #d8aa81;
	border-radius:5px;
	padding:4px 9px;
font-size:.74rem;
	background:#fffaf3
}

.process-section {
	padding:78px 0 88px;
background-color:#fffaf2;
	border-top:1px solid var(--line)
}
.centered {
	text-align:center
}
.process-section>div>h2 {
	text-align:center;
	font-size:clamp(2.2rem, 4vw, 3rem);
	margin:0
}
.section-lead {
	text-align:center;
	max-width:720px;
	margin:14px auto 48px;
	color:var(--muted)
}
.process-slider {
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	gap:22px
}
.process-step {
	text-align:center;
	position:relative
}
.process-step span {
	position:absolute;
	left:calc(50% - 38px);
	top:-4px;
	width:24px;
	height:24px;
	border-radius:50%;
	display:grid;
	place-items:center;
	background:var(--copper);
	color:white;
font-size:.75rem;
	font-weight:700
}
.process-icon {
	width:70px;
	height:70px;
	border-radius:50%;
	margin:0 auto 14px;
	color:#ef8955;
	display:grid;
	place-items:center;
	font-size:2rem;
	box-shadow:0 8px 18px rgba(0, 63, 53, .17)
}
.process-step h3 {
	font-family:"Playfair Display", serif;
	font-size:1.25rem;
	margin:0 0 8px
}
.process-step p {
font-size:.84rem;
	color:var(--muted)
}
@media(max-width:1300px) {
.service-card2 p {
  min-height: 130px;
}
.service-card2{ min-height:386px;}	
.hero3 {
  min-height:480px;}
}
@media(max-width:1200px) {
	.cta-band{ background-size:65% !important;}
	.service-card2{ min-height:410px;}
	.trust-card{ width:100% !important; margin-left:0px; margin-right:0px; min-height:auto !important; padding:0px 0px 0px 0px !important;}
	.trust-section h2 {
  font-size: clamp(2rem, 4vw, 2.4rem) !important;
  margin: 0 0 36px;
}
}
@media(max-width:1130px) {
	.footer-brand{ clear:both;}
	.footer-grid {
  display:block;
  gap:0px;}
  .quick-links{ padding-bottom:12px;}
.site-footer p{ padding-bottom:12px;}
  
}
@media(max-width:1000px) {
 .hero3 h1 {
    font: 600 clamp(2rem, 5vw, 2.5rem) 'Playfair Display', serif !important;
    line-height:42px;
  }
.hero3 {
  min-height:380px !important;}
  .section-head h2 {
      font: 600 clamp(2rem, 5vw, 2.5rem) 'Playfair Display', serif !important; 

  }
  .process-section {
  padding:50px 0 50px;}
      .process-section h2 {font: 600 clamp(2rem, 5vw, 2.5rem) 'Playfair Display', serif !important;}

.service-card2 p {
  min-height:auto;
}

.service-card2{ min-height:auto;width:100% !important; margin-left:0% !important; margin-right:0px !important; }
.process-slider{ display:block !important;}
.service-card {
flex-basis:calc(33.333% - 12px)
}
.approach-grid {
grid-template-columns:1fr 1fr
}
.approach-card:nth-child(3) {
border-left:0
}
.hero-art {
left:100%;
}
.hero-copy {
max-width:55%
}
.hero h1 {
font-size:3rem;
}
.hero {
min-height:440px;}
.hero2 h1 {font:600 clamp(2rem, 5vw, 2.5rem)/1.15 'Playfair Display', serif; line-height:42px;}
	
.site-footer p{ padding-bottom:10px;}
.hero-content{ padding-top:40px; padding-bottom:40px;}
.hero2 {
  min-height:380px;}
  .services-section {
  padding:60px 0 60px !important;}
}
@media(max-width:900px) {
	.about-section{ padding:45px;}
	.cta-band div{ clear:both; display:block;}
	.cta-inner p{ padding-bottom:20px;}
.nav-button {
text-align:center
}
.about-grid {
grid-template-columns:1fr
}
.profile-card {
position:static;
max-width:560px;
margin:auto
}
.value-card {
flex-basis:50%
}
.slider-btn, .slider-dots {
display:flex
}

}
@media(max-width:800px) {
.copy-block h2{font: 600 clamp(2rem, 3vw, 2rem) 'Playfair Display', serif;}

}
@media(max-width:760px) {
.line-icon img{ height:80px;}
.container {
width:min(100% - 28px, 1180px)
}
.nav-wrap {
min-height:74px
}
.brand img {
width:145px;
height:60px
}
.menu-toggle {
display:block;
z-index:55
}
.main-nav {
position:fixed;
top:74px;
left:0;
right:0;
background:#fffaf2;
display:flex;
flex-direction:column;
align-items:stretch;
gap:0;
padding:16px 20px 24px;
transform:translateY(-130%);
opacity:0;
pointer-events:none;
transition:.3s;
box-shadow:0 20px 30px rgba(0, 50, 42, .15)
}
.main-nav.open {
transform:none;
opacity:1;
pointer-events:auto
}
.main-nav a {
padding:13px 8px
}
.nav-button {
text-align:center;
margin-top:25px
}
.menu-toggle.active span:nth-child(1) {
transform:translateY(8px) rotate(45deg)
}
.menu-toggle.active span:nth-child(2) {
opacity:0
}
.menu-toggle.active span:nth-child(3) {
transform:translateY(-8px) rotate(-45deg)
}
.hero {
min-height:460px;
align-items:start;
}
.hero-art {
left:0;
top:380px;
height:360px;
opacity:.72
}
.hero-art:after {
background:linear-gradient(180deg, #faf4ea 0%, rgba(250, 244, 234, .05) 35%, rgba(0, 63, 53, .28))
}
.hero-copy {
max-width:none;
padding:0px 0 0px
}
.hero h1 {
font-size:clamp(2.9rem, 13vw, 3rem)
}
.approach-grid {
grid-template-columns:1fr
}
.approach-card {
border-left:0;
border-top:1px solid rgba(255, 255, 255, .17)
}
.service-card {
flex-basis:calc(100% - 12px)
}
.slider-arrow {
display:none
}
.why-grid {
grid-template-columns:1fr
}
.nature-photo {
min-height:300px
}
.contact-card {
grid-template-columns:1fr;
padding:24px;
text-align:center
}
.contact-art img {
height:175px
}
.footer-grid {
grid-template-columns:1fr;
text-align:center;
gap:24px
}
.footer-brand img {
margin:auto
}
.quick-links {
align-items:center
}
.section-heading h2 {
 line-height:50px;
}
 .approach h2 {
  line-height:50px;
}  
.why h2 {
  line-height:50px;
}
.process-section h2 {
  font-size: clamp(2.2rem, 4vw, 2.2rem) !important;
}
}
@media(max-width:620px) {
	.zx{ padding-bottom:40px !important;}
	.cta-band{ background-size:cover !important;}
 .cta-inner p {
    padding-bottom:0px;
  }
.hero2 {
min-height:260px;
}
.hero-content {
padding:25px 0
}
.hero-art {
background-position:65% center;
}
.hero-art:after {
background:rgba(4, 55, 47, .78)
}
.hero2 h1 {
font-size:1.7rem;line-height:34px;
}
.about-section, .values-section {
padding:30px 0
}
.about-grid {
gap:30px
}
.value-card {
flex-basis:100%;
padding-inline:0px
}
.cta-band{ padding:30px;}
.cta-inner {
display:block
}
.cta-inner .button {
margin-top:22px
}
.cta-inner h2{ font-size:27px;}
.copy-block h2 {
    font: 600 clamp(1.6rem, 3vw, 1.6rem) 'Playfair Display', serif;
  }
  .services-section {
  padding:30px 0 30px !important;}
  .hero3 h1 {
    font: 600 clamp(1.5rem, 5vw, 1.5rem)/1.32 'Playfair Display', serif !important;
    line-height:42px;
  }
.hero3 {
  min-height:270px !important;}
  .section-head h2 {
  font: 600 clamp(1.5rem, 5vw, 1.5rem)/1.32 'Playfair Display', serif !important;}

.process-section h2 {
   font: 600 clamp(1.5rem, 5vw, 1.5rem)/1.32 'Playfair Display', serif !important;
}
.service-card2 h3{font-size: 1.15rem;}
.process-step h3{font-size: 1.15rem;}
.process-section {
  padding:30px 0 30px;} 
}
@media(max-width:580px) {
	.hero{ min-height:430px;background: url(../images/banner.jpg) top left no-repeat #f6e9d6;}
 .hero h1 {
    font-size: clamp(2.5rem, 13vw, 2.5rem);
  }
.footer-brand img {
  width:auto;
  height:90px;}
  .section-heading h2 {
  font-size: clamp(2rem, 4vw, 3rem); line-height:35px;
}
 .approach h2 {
  font-size: 2rem; line-height:35px;
}  
.why h2 {
  font-size: clamp(2rem, 4vw, 3rem); line-height:35px;
}
  .why-copy { padding:0px; }
  .contact-card{ margin-top:20px;}
   .contact-art img {
    height:130px;
  }
}
@media(max-width:500px) {
	.hero{ min-height:490px;}
}
@media(max-width:430px) {
	.hero{ min-height:540px;}
}
@media(max-width:380px) {
	.trust-card h3 {
  font-size:1.1rem !important;
  margin: 0 0 8px;
}
	.hero{min-height: 620px;}
 .hero h1 {
    font-size: clamp(2rem, 13vw, 2rem);
  }
   .button.primary{ padding:14px 14px;}
   .approach{ padding:30px 0;}
    .section{ padding:30px 0;}
   
.values-section, .about-section {
    padding:16px 0;
  }
   .cta-inner h2 {
    font-size: 25px;
  }
  .copy-block h2 {
    font: 600 clamp(1.4rem, 3vw, 1.4rem) 'Playfair Display', serif;
  }
  .profile-card h2 {
  font: 600 1.35rem 'Playfair Display', serif;}
  .section-title {
  font: 600 clamp(2rem, 3vw, 2rem) 'Playfair Display', serif;}
  .detail-item small, .detail-item a {
  font-size:.81rem !important;}
   .contact-section h2 {
    font-size:1.5rem !important;
  }
}

@media(max-width:306px) {
.badge-grid span{ font-size:.6rem;}
.badge-grid{ gap:3px;}
}
@media(max-width:300px) {
.hero{min-height:640px;}
  .approach h2 {
    font-size:1.7rem;
  }	
}
@media(prefers-reduced-motion:reduce) {
html {
scroll-behavior:auto
}
.slider-track, .reveal {
transition:none
}
.reveal {
opacity:1;
transform:none
}
}

.hero4 h1, .contact-section h2, .trust-section h2, .cta h2 {
	font-family:"Playfair Display", serif;
	font-weight:600
}
.hero4 h1 {
	font-size:clamp(2.5rem, 5vw, 4.25rem);
	line-height:1.12;
	max-width:720px;
	margin:0 0 24px
}
.contact-section {
	padding:72px 0
}
.contact-grid {
	display:grid;
grid-template-columns:.8fr 1.45fr;
	gap:24px;
	align-items:start
}
.card {
	background:rgba(255, 250, 243, .88);
	border:1px solid var(--border);
	border-radius:14px;
	box-shadow:var(--shadow)
}
.contact-info, .form-card {
	padding:36px
}
.center {
	text-align:center
}
.contact-section h2 {
	font-size:2.15rem;
	margin:0 0 16px
}
.contact-info>p {
	color:var(--muted)
}
.contact-details {
	display:grid;
	gap:20px;
	margin:30px 0
}
.detail-item {
	display:flex;
	gap:14px;
	align-items:center
}
.detail-item .icon {
	width:46px;
	height:46px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:var(--green);
	color:white;
	font-size:1.15rem;
	flex:0 0 auto
}
.detail-item div {
	display:flex;
	flex-direction:column
}
.detail-item small, .detail-item a {
font-size:.91rem;
	color:var(--muted)
}
.next-steps {
	border-top:1px solid var(--border);
	padding-top:24px
}
.next-steps h3 {
	font-family:"Playfair Display", serif;
	font-size:1.4rem
}
.next-steps ol {
	list-style:none;
	padding:0;
	margin:0;
	display:grid;
	gap:15px
}
.next-steps li {
	display:flex;
	gap:12px;
	color:var(--muted);
font-size:.93rem
}
.next-steps li span {
	width:26px;
	height:26px;
	border-radius:50%;
	background:#f2ded0;
	color:var(--copper);
	display:grid;
	place-items:center;
	font-weight:800;
	flex:0 0 auto
}
.form-card h2 {
	text-align:center
}
.form-card form {
	display:grid;
	gap:17px
}
.form-row {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:16px
}
label { 
	font-weight:700;
font-size:.9rem
}
label em {
	font-style:normal;
	color:var(--copper)
}
input, select, textarea {
	width:100%;
	font:inherit;
	color:var(--ink);
	background:white;
	border:1px solid #d8cbbb;
	border-radius:7px;
	padding:13px 14px;
	outline:none;
transition:.2s; margin-top:7px;
}
input:focus, select:focus, textarea:focus {
	border-color:var(--green2);
	box-shadow:0 0 0 3px rgba(0, 86, 74, .1)
}
textarea {
	resize:vertical; height:140px;
}
.submit-button {
	border:0;
	font:700 1rem "DM Sans";
	cursor:pointer;
	display:flex;
	justify-content:center; padding-top:10px; padding-bottom:10px;
	gap:10px
}
.submit-button:hover{ color:#ec7444; background-color:#d8d8d8;}
.form-note {
	text-align:center;
	color:var(--muted);
font-size:.85rem;
	margin:0
}
.form-success {
	display:none;
	padding:15px;
	border-radius:7px;
	background:#e5f2ed;
	color:var(--green);
	text-align:center
}
.form-success.show {
	display:grid
}
.trust-section {
	padding:50px 0 50px; float:left; width:100%; background-color:#FFF;
	border-top:1px solid var(--border);
}
.trust-section h2 {
	text-align:center;
	font-size:clamp(2rem, 4vw, 2.7rem);
	margin:0 0 36px
}
.trust-card { float:left; width:18%; margin-left:1%; margin-right:1%;
	text-align:center;
	padding:18px 28px;
	border:1px solid var(--border);
	border-radius:12px;
	background:var(--paper);
	min-height:215px
}
.trust-card>span {
	display:grid;
	place-items:center;
	margin:0 auto 5px;
	border-radius:50%;
	color:#f1a068;
	font-size:1.5rem
}
.trust-card h3 {
	font-family:"Playfair Display", serif;
	font-size:1.3rem;
	margin:0 0 8px
}
.trust-card p {
	color:var(--muted);
font-size:.93rem
}
@media(max-width:1000px) {
.contact-grid {
  display:block;
  grid-template-columns:1fr;}
  .contact-info{ margin-bottom:20px;}
  .next-steps{ padding-top:0px;}
.contact-info, .form-card{ width:100% !important; display:block !important;}
.trust-section h2 {
    font-size: clamp(2rem, 4vw, 2rem) !important; margin-bottom:20px; line-height:40px;}
.trust-card {
flex-basis:calc(50% - 11px)
}

.contact-section {
  padding:55px 0;
}
.contact-section h2 {
  font-size:2rem; margin-top:0px; padding-top:0px;}
}
@media(max-width:600px) {
.contact-section h2 {
  font-size:1.7rem;}
.trust-section h2 {
    font-size: clamp(1.5rem, 4vw, 1.6rem) !important; margin-bottom:20px; line-height:36px;}
.contact-section {
padding:30px 0
}
.contact-info, .form-card {
padding:25px 20px
}
.form-row {
grid-template-columns:1fr
}
.trust-card {
flex-basis:100%;
margin-right:14px
}
.trust-section {
padding:30px 0
}

}



