body.djplus-template{margin:0!important;padding:0!important;background:#fff!important}
body.djplus-template #wpadminbar{position:fixed}
#djplus-site{width:100%;overflow:hidden}
:root{--ink:#252321;--muted:#69645f;--gold:#b78b4d;--gold-dark:#8f6935;--cream:#f6f2eb;--line:#ded8cf;--white:#fff;--serif:Georgia,"Times New Roman",serif;--sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font-family:var(--sans);line-height:1.65}.container{width:min(1180px,calc(100% - 44px));margin:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:20px;top:10px;background:white;padding:10px;z-index:999}.header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);border-bottom:1px solid #e8e3dc;backdrop-filter:blur(12px)}.nav-row{height:78px;display:flex;align-items:center;justify-content:space-between}.logo{font:normal 34px/1 var(--serif);color:var(--gold-dark);text-decoration:none}.logo span{font-style:italic}.nav{display:flex;align-items:center;gap:28px}.nav a{text-decoration:none;color:#302e2b;font-size:14px}.nav a:hover{color:var(--gold-dark)}.menu{display:none;border:1px solid var(--line);background:white;padding:10px 14px;font:600 13px var(--sans)}.hero{
min-height:670px;
display:grid;
grid-template-columns:minmax(0,1.04fr) minmax(480px,.96fr);
background:linear-gradient(105deg,#fff 0%,#fff 52%,#f3eee7 100%);
border-bottom:1px solid #eee8df
}
.hero-copy{
display:flex;
align-items:center;
padding:92px 6vw 82px max(22px,calc((100vw - 1180px)/2))
}
.hero-copy-inner{max-width:610px}.eyebrow{margin:0 0 16px;text-transform:uppercase;letter-spacing:.15em;font-size:11px;font-weight:700;color:var(--gold-dark)}h1,h2,h3{font-family:var(--serif);font-weight:normal;line-height:1.08;margin-top:0}h1{font-size:clamp(49px,4.8vw,72px);margin-bottom:20px;letter-spacing:-.035em;max-width:680px}h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.025em}h3{font-size:25px}.rule{width:84px;border-top:1px solid var(--gold);margin:22px 0}.hero p{max-width:600px;color:var(--muted);margin:8px 0}.lead{font-size:18px}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.button{display:inline-flex;min-height:49px;align-items:center;padding:0 20px;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:700;text-decoration:none}.button.gold{background:var(--gold);color:#fff;border:1px solid var(--gold)}.button.outline{border:1px solid var(--gold);color:var(--gold-dark);background:rgba(255,255,255,.75)}.trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:30px;padding-top:22px;border-top:1px solid #e4ddd3;color:#605b55;font-size:12px}.hero-image{
margin:0;
min-height:670px;
overflow:hidden;
position:relative;
background:#e9e0d7
}
.hero-image:after{
content:"";
position:absolute;
inset:0;
box-shadow:inset 28px 0 45px rgba(255,255,255,.10);
pointer-events:none
}
.hero-image img{
width:100%;
height:100%;
object-fit:cover;
object-position:72% center;
display:block
}.section{padding:105px 0}.heading{max-width:760px;margin-bottom:50px}.heading.centre{text-align:center;margin-left:auto;margin-right:auto}.heading h2{margin-bottom:12px}.heading>p:last-child{color:var(--muted);font-size:17px;max-width:650px;margin-left:auto;margin-right:auto}.services{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:24px
}
.service{
min-height:455px;
border:1px solid var(--line);
background:#fff;
display:flex;
flex-direction:column;
overflow:hidden;
box-shadow:0 10px 30px rgba(54,46,38,.045);
transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease
}
.service:hover{
transform:translateY(-4px);
box-shadow:0 18px 42px rgba(54,46,38,.10);
border-color:#cdbb9f
}
.service img{
width:100%;
height:255px;
object-fit:cover;
object-position:center;
order:-1;
display:block
}
.service>div{
padding:25px 26px 28px;
display:flex;
flex-direction:column;
flex:1
}
.service .icon{
display:block;
color:var(--gold);
font-size:20px;
line-height:1;
margin-bottom:13px
}
.service h3{
font-size:25px;
margin:0 0 11px
}
.service p{
font-size:14px;
line-height:1.7;
color:var(--muted);
margin:0
}.soft{background:var(--cream)}.feature-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}.feature{display:grid;grid-template-columns:.9fr 1.1fr;background:#fff;min-height:460px}.feature-text{padding:38px}.feature h2{font-size:40px;margin-bottom:18px}.feature p,.feature li{color:var(--muted)}.feature ul{padding-left:20px}.feature img{width:100%;height:100%;object-fit:cover}.text-link{display:inline-block;margin-top:15px;color:var(--gold-dark);font-weight:700;text-decoration:none}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}.pills span{border:1px solid var(--line);padding:7px 10px;font-size:12px;background:#faf8f4}.combinations{padding-top:80px}.combo-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.combo{min-height:280px;display:grid;grid-template-columns:1.2fr .8fr;background:#211b16;color:white}.combo img{width:100%;height:100%;object-fit:cover}.combo div{padding:38px;align-self:center}.combo h3{font-size:34px;margin-bottom:12px}.combo p{color:#d9d0c8}.combo a{color:#e8c99c;text-decoration:none;font-weight:700}
.testimonials{
background:#fff;
border-top:1px solid #eee8df;
border-bottom:1px solid #eee8df
}

.testimonial-grid>.testimonial:nth-child(1){order:2}
.testimonial-grid>.testimonial:nth-child(2){order:1}
.testimonial-grid>.testimonial:nth-child(3){order:3}
.testimonial-grid{
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:22px
}
.testimonial{
margin:0;
padding:34px 32px 30px;
background:#fbfaf8;
border:1px solid var(--line);
box-shadow:0 12px 34px rgba(54,46,38,.05);
display:flex;
flex-direction:column;
min-height:330px
}
.testimonial.featured{
background:#28231f;
border-color:#28231f;
color:#f5efe7
}
.testimonial .stars{
color:#c99a58;
letter-spacing:.14em;
font-size:15px;
margin-bottom:20px
}
.testimonial blockquote{
margin:0;
font-family:var(--serif);
font-size:22px;
line-height:1.48;
flex:1
}
.testimonial.featured blockquote{
color:#f5efe7
}
.testimonial:not(.featured) blockquote{color:#403b36}
.testimonial figcaption{
display:flex;
flex-direction:column;
gap:2px;
margin-top:26px;
padding-top:19px;
border-top:1px solid rgba(183,139,77,.28)
}
.testimonial figcaption strong{
font-size:14px;
letter-spacing:.02em
}
.testimonial.featured figcaption strong{
color:#fff
}
.testimonial figcaption span{
font-size:12px;
color:var(--muted)
}
.testimonial.featured figcaption span{color:#d8cdbf}
.testimonial.featured figcaption{border-top-color:rgba(201,154,88,.35)}
.about{background:#fbfaf8}.about-grid{display:grid;grid-template-columns:.68fr 1.32fr;gap:70px;align-items:center}.about figure{margin:0;height:470px}.about figure img{width:100%;height:100%;object-fit:cover}.about p{color:var(--muted)}.about-points{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px;color:#574f47}.specialist{padding:0 0 90px;background:#fbfaf8}.specialist-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.special-card{display:grid;grid-template-columns:1fr 1fr;min-height:245px;background:white;border:1px solid var(--line);text-decoration:none;color:inherit}.special-card img{width:100%;height:100%;object-fit:cover}.special-card div{padding:30px}.special-card h3{margin-bottom:10px}.special-card p:not(.eyebrow){font-size:14px;color:var(--muted)}.special-card strong{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-dark)}
.contact{
padding:105px 0;
background:#29241f;
color:#fff
}
.contact-heading{
text-align:center;
max-width:760px;
margin:0 auto 48px
}
.contact-heading h2{
color:#fff;
margin-bottom:14px
}
.contact-heading>p:last-child{
color:#d7cec5;
font-size:17px
}
.contact-layout{
display:grid;
grid-template-columns:minmax(520px,1.18fr) minmax(0,.82fr);
gap:64px;
align-items:start
}
.contact-details{
padding-top:10px
}
.contact-details h3{
color:#fff;
font-size:34px;
margin-bottom:15px
}
.contact-details>p{
color:#d7cec5
}
.contact-links{
display:grid;
grid-template-columns:1fr;
margin-top:30px;
border-top:1px solid rgba(255,255,255,.12)
}
.contact-links>*{
display:flex;
flex-direction:column;
gap:5px;
padding:19px 0;
border-bottom:1px solid rgba(255,255,255,.12);
border-right:0;
min-width:0
}
.contact-links small{
color:#bfb4a9;
font-size:11px;
text-transform:uppercase;
letter-spacing:.14em
}
.contact-links strong{
color:#fff;
font-size:21px;
overflow-wrap:anywhere
}
.contact-note{
font-size:13px;
line-height:1.65;
margin-top:24px
}
.contact-form-wrap{
background:#fff;
color:var(--ink);
padding:38px;
box-shadow:0 20px 55px rgba(0,0,0,.18)
}
.contact-form{
display:grid;
gap:20px
}
.form-row{
display:grid;
gap:18px
}
.form-row.two{
grid-template-columns:repeat(2,minmax(0,1fr))
}
.contact-form label{
display:grid;
gap:8px;
font-weight:700;
font-size:13px
}
.contact-form input,
.contact-form select,
.contact-form textarea{
width:100%;
border:1px solid #d8d0c6;
border-radius:0;
background:#fff;
color:var(--ink);
font:inherit;
font-weight:400;
padding:13px 14px;
outline:none;
transition:border-color .18s ease,box-shadow .18s ease
}
.contact-form input,
.contact-form select{
min-height:49px
}
.contact-form textarea{
resize:vertical;
line-height:1.55
}
.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus{
border-color:var(--gold);
box-shadow:0 0 0 3px rgba(183,139,77,.14)
}
.contact-form input::placeholder,
.contact-form textarea::placeholder{
color:#928b84
}
.form-submit{
border:0;
cursor:pointer;
justify-self:start;
font-family:inherit
}
.form-privacy{
font-size:11px;
line-height:1.55;
color:#77706a;
margin:0
}
.form-honeypot{
position:absolute!important;
left:-9999px!important;
width:1px!important;
height:1px!important;
overflow:hidden!important
}
.form-message{
display:grid;
gap:4px;
padding:16px 18px;
margin-bottom:22px;
border-left:4px solid
}
.form-message.success{
background:#eef7ef;
border-color:#3c8b4f;
color:#245a31
}
.form-message.error{
background:#fff0ef;
border-color:#b5433d;
color:#7b2925
}
.form-message span{
font-size:13px
}

footer{background:#262421;color:#ddd;padding:24px 0;font-size:12px}footer .container{display:flex;justify-content:space-between}
@media(max-width:1000px){
.menu{display:block}
.nav{position:absolute;display:none;left:0;right:0;top:78px;background:white;padding:15px 22px 25px;box-shadow:0 15px 30px rgba(0,0,0,.1);flex-direction:column;align-items:flex-start;gap:0}
.nav.open{display:flex}
.nav a{width:100%;padding:12px 0;border-bottom:1px solid #eee}
.hero{min-height:0;grid-template-columns:1fr;background:#fff}
.hero-copy{order:1;padding:76px max(22px,calc((100vw - 760px)/2)) 66px}
.hero-copy-inner{max-width:720px}
.hero-image{order:2;min-height:500px}
.hero-image img{object-position:72% center}
.services{grid-template-columns:repeat(2,minmax(0,1fr))}
.service{min-height:430px}
.service img{height:235px}
.feature-pair,.combo-grid,.specialist-grid{grid-template-columns:1fr}
.testimonial-grid{grid-template-columns:1fr}
.testimonial-grid>.testimonial:nth-child(1),
.testimonial-grid>.testimonial:nth-child(2),
.testimonial-grid>.testimonial:nth-child(3){order:initial}

.about-grid{gap:35px}
.contact-links{grid-template-columns:1fr}
.contact-links>*{border-right:0;border-bottom:1px solid var(--line)}
}
@media(max-width:650px){
.container{width:min(100% - 28px,1180px)}
.nav-row{height:68px}
.nav{top:68px}
.logo{font-size:29px}
.hero-copy{padding:52px 20px 44px;align-items:flex-start}
.hero h1{font-size:clamp(39px,12vw,52px);line-height:1.02}
.hero .lead{font-size:17px}
.hero .actions{display:grid;grid-template-columns:1fr;gap:10px;margin:24px 0}
.hero .button{justify-content:center;width:100%}
.hero .trust{display:grid;grid-template-columns:1fr;gap:8px;margin-top:24px}
.hero-image{min-height:330px}
.hero-image img{object-position:70% center}
.section{padding:70px 0}
.testimonial{min-height:0;padding:28px 24px}
.testimonial blockquote{font-size:20px}
.services{grid-template-columns:1fr;gap:18px}
.service{min-height:0}
.service img{height:285px}
.service>div{padding:23px 23px 27px}
.feature{grid-template-columns:1fr}
.feature img{height:310px}
.feature-text{padding:28px}
.feature h2{font-size:36px}
.combo{grid-template-columns:1fr}
.combo img{height:260px}
.combo div{padding:28px}
.about-grid{grid-template-columns:1fr}
.about figure{height:390px}
.about-points{grid-template-columns:1fr}
.special-card{grid-template-columns:1fr}
.special-card img{height:230px}
.contact-links strong{font-size:18px}
footer .container{flex-direction:column;gap:5px;text-align:center}
}

@media(min-width:783px){body.admin-bar.djplus-template .header{top:32px}}
@media(max-width:782px){body.admin-bar.djplus-template .header{top:46px}}


@media(max-width:1000px){
.contact-layout{
grid-template-columns:1fr;
gap:38px
}
.contact-details{
max-width:720px
}
}


@media(max-width:650px){
.contact{
padding:75px 0
}
.contact-heading{
text-align:left;
margin-bottom:34px
}
.contact-heading h2{
font-size:42px
}
.contact-layout{
gap:30px
}
.contact-details h3{
font-size:29px
}
.contact-form-wrap{
padding:25px 20px
}
.form-row.two{
grid-template-columns:1fr
}
.form-submit{
width:100%;
justify-content:center
}
}


/* Final page background rhythm */
.services{
background:#f5f1eb
}
.specialist{
background:#fff
}
.mixed-format{
background:#29241f
}
.testimonials{
background:#f5f1eb
}
.about{
background:#fff
}
.contact{
background:#29241f
}


/* Final mixed-format card heading contrast */
.mixed-format .combo h3,
.combo-grid .combo h3{
color:#f5efe7!important
}
