*{box-sizing:border-box}body{margin:0;font:15px Arial;color:#17212a;line-height:1.55}header{height:86px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd;font-size:12px}.brand{font:18px Georgia;font-weight:bold;letter-spacing:1px}.brand small{display:block;font:11px Arial;color:#777;margin-top:5px}.hero{min-height:650px;padding:110px 8%;color:white;background:linear-gradient(100deg,#14283a 0%,#203b50 60%,#87949c 100%)}.hero div{max-width:800px}.hero b,.section>b,.two div>b,.contact>b{font-size:11px;letter-spacing:2px;color:#c99455}h1,h2,h3{font-family:Georgia;font-weight:normal;line-height:1.08}h1{font-size:64px;margin:18px 0}.hero p{font-size:19px;max-width:700px;margin-bottom:35px}.hero a,.section a,.contact a{display:inline-block;padding:14px 20px;background:#a7763c;color:white;font-weight:bold;font-size:12px;margin-right:12px}.outline{background:transparent!important;border:1px solid #aaa}.hero span{margin-left:10px}.section{padding:85px 8%}.section h2,.contact h2{font-size:44px;max-width:780px}.cards{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;border-top:1px solid #ddd}.cards article{padding:30px 28px 20px 0;margin-right:28px;border-right:1px solid #ddd}.cards article:last-child{border:0}.cards i{color:#a7763c;font-size:11px}.cards h3{font-size:23px}.cards p{color:#68737b;min-height:115px}.cards strong{font-size:12px}.dark{background:#14283a;color:white}.dark p{color:#cbd4da}.two{display:grid;grid-template-columns:1fr 1fr;gap:9%}.two hr{border:0;border-top:1px solid #50606d;margin-top:24px}.cream{background:#f5f2eb}.cream p{color:#667078}.faq{background:white;padding:30px 35px;box-shadow:0 10px 35px #0001}.faq p{border-top:1px solid #ddd;padding:17px 0;margin:0;font-family:Georgia;color:#17212a}.faq p b{float:right}.center{text-align:center}.center h2{margin:15px auto}.center>p{max-width:720px;margin:20px auto 40px}.counties{max-width:900px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #ddd}.counties span{padding:25px;font:20px Georgia;border-right:1px solid #ddd}.counties span:last-child{border:0}.counties small{display:block;font:9px Arial;letter-spacing:2px;color:#777}.bio{background:#fafafa;align-items:center}.photo{height:330px;background:#c6ced2;display:flex;align-items:center;justify-content:center;text-align:center;font:22px Georgia;color:#52616a}.bio h3{color:#68737b}.contact{padding:85px 8%;background:#14283a;color:white}.contact p{max-width:650px;margin:20px auto 30px;color:#d5dde2}.contact small{display:block;margin-top:25px;color:#aaa}footer{padding:30px 5%;font-size:11px;color:#68737b;display:flex;justify-content:space-between}footer strong{font-family:Georgia;color:#17212a}@media(max-width:800px){header nav{display:none}h1{font-size:43px}.hero{min-height:560px}.cards,.two,.counties{grid-template-columns:1fr}.cards article{border-right:0;border-bottom:1px solid #ddd}.cards p{min-height:0}.counties span{border-right:0;border-bottom:1px solid #ddd}footer{display:block}footer span{display:block;margin-top:8px}}
.experience{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;background:#fafafa}
.experience h3{font-size:30px;margin:0 0 3px}
.experience h4{margin:0 0 22px;color:#68737b;font-weight:normal}
.experience p{max-width:680px;color:#56636c;font-size:16px}
.experience-line{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:32px;border-top:1px solid #ddd;padding-top:22px}
.experience-line span{font-size:10px;font-weight:bold;letter-spacing:1.2px;color:#7a6043}
@media(max-width:800px){.experience{grid-template-columns:1fr;gap:30px}.experience-line{grid-template-columns:1fr}}

.plain-link{color:inherit;text-decoration:none}
.plain-link:hover{text-decoration:underline}
.hero-email{background:transparent!important;padding:0!important;margin-left:10px!important;text-decoration:underline;text-underline-offset:3px}
.contact-details{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:24px;color:#d7e0e5;font-size:14px}
@media(max-width:800px){header>div:last-child{font-size:10px}.contact-details{gap:8px;flex-direction:column}}

/* Prototype 4 refinements */
header{
  height:104px;
  padding-left:4.5%;
  padding-right:4.5%;
}
.brand{
  font-size:24px;
  font-weight:bold;
  letter-spacing:1.1px;
}
.brand small{
  font-size:12px;
  font-weight:normal;
  margin-top:6px;
  letter-spacing:.2px;
}
header nav{
  font-size:13px;
  font-weight:600;
}
header>div:last-child{
  font-size:13px;
  font-weight:600;
}
.hero{
  min-height:500px;
  padding-top:70px;
  padding-bottom:70px;
}
@media(max-width:800px){
  header{height:86px}
  .brand{font-size:19px}
  .brand small{font-size:10px}
  .hero{min-height:470px;padding-top:58px;padding-bottom:58px}
}

/* Prototype 5: improve header subtitle readability */
.brand small{
  color:#3f4d57;
  font-weight:600;
}

/* Prototype 6: Jason photo added subtly to experience section */
.experience{
  grid-template-columns:360px 1fr;
  gap:6%;
  align-items:center;
}
.jason-photo-wrap{
  width:100%;
  height:390px;
  overflow:hidden;
  border-radius:4px;
  background:#e8e8e8;
}
.jason-photo-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 36%;
  display:block;
}
.experience-copy h2{margin-bottom:24px}
@media(max-width:800px){
  .experience{grid-template-columns:1fr}
  .jason-photo-wrap{max-width:420px;height:390px;margin:0 auto}
}

/* Prototype 7: tighter head-and-upper-chest portrait */
.jason-photo-wrap{
  width:330px;
  height:360px;
  max-width:100%;
  margin:0 auto;
}
.jason-photo-wrap img{
  object-fit:cover;
  object-position:center center;
}
@media(max-width:800px){
  .jason-photo-wrap{width:330px;height:360px}
}

/* Prototype 8: request form */
.request-section{
  padding:90px 8%;
  background:#14283a;
  color:white;
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:7%;
  align-items:start;
}
.request-section b{font-size:11px;letter-spacing:2px;color:#d5ae7a}
.request-section h2{font:44px Georgia;margin:16px 0 18px;line-height:1.08}
.request-copy>p{color:#d5dde2;font-size:16px;max-width:520px}
.direct-contact{margin-top:32px;display:flex;flex-direction:column;gap:8px}
.direct-contact a{color:white;text-decoration:none;font-size:15px}
.request-form{
  background:white;
  color:#17212a;
  padding:34px;
  box-shadow:0 15px 40px rgba(0,0,0,.18);
}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.request-form label{font-size:12px;font-weight:bold;letter-spacing:.02em}
.request-form input,.request-form select,.request-form textarea{
  width:100%;
  margin-top:7px;
  padding:12px 13px;
  border:1px solid #cfd3d6;
  background:#fff;
  color:#17212a;
  font:14px Arial;
}
.request-form textarea{resize:vertical}
.request-form .full{grid-column:1/-1}
.request-form button{
  margin-top:22px;
  padding:14px 22px;
  border:0;
  background:#a7763c;
  color:white;
  font-size:12px;
  font-weight:bold;
  letter-spacing:.04em;
  cursor:pointer;
}
.request-form small{display:block;margin-top:12px;color:#7b858c}
header nav a{color:inherit;text-decoration:none}
@media(max-width:800px){
  .request-section{grid-template-columns:1fr;gap:36px;padding:65px 6%}
  .request-section h2{font-size:36px}
  .form-grid{grid-template-columns:1fr}
  .request-form .full{grid-column:auto}
}

/* Estate page */
.estate-hero{padding:95px 8%;background:#14283a;color:white}
.estate-hero>div{max-width:820px}
.estate-hero b{font-size:11px;letter-spacing:2px;color:#d5ae7a}
.estate-hero h1{font-size:58px;margin:16px 0 20px}
.estate-hero p{font-size:18px;color:#d7e0e5;max-width:700px;margin-bottom:30px}
.estate-hero a{display:inline-block;padding:14px 20px;background:#a7763c;color:white;text-decoration:none;font-weight:bold;font-size:12px;margin-right:12px}
.estate-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.estate-intro p{color:#59666f;font-size:16px}
.estate-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8d5cd;border:1px solid #d8d5cd;margin-top:38px}
.estate-cards article{background:white;padding:28px}
.estate-cards h3{font-size:22px;margin-top:0}
.estate-cards p{color:#667078;font-size:14px}
.step{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:20px 0;border-top:1px solid #ddd}
.step>strong{font-size:11px;color:#a7763c}
.step p{margin:0;color:#5c6870}
.faq-list{max-width:900px;margin-top:35px}
.faq-list details{background:white;border-top:1px solid #ddd;padding:0 20px}
.faq-list summary{padding:20px 0;font-family:Georgia;font-size:20px;cursor:pointer}
.faq-list p{color:#5f6b73;padding:0 0 20px;margin:0;max-width:760px}
@media(max-width:800px){
  .estate-hero h1{font-size:42px}
  .estate-intro{grid-template-columns:1fr}
  .estate-cards{grid-template-columns:1fr}
}

/* Prototype 9: remaining site pages */
.page-hero{padding:88px 8%;background:#14283a;color:white}
.page-hero>div{max-width:850px}.page-hero b{font-size:11px;letter-spacing:2px;color:#d5ae7a}
.page-hero h1{font-size:56px;margin:16px 0 20px}.page-hero p{font-size:18px;color:#d7e0e5;max-width:720px;margin-bottom:30px}
.page-hero a,.cta-light a{display:inline-block;padding:14px 20px;background:#a7763c;color:white;text-decoration:none;font-weight:bold;font-size:12px;margin-right:12px}
.page-intro p{color:#59666f;font-size:16px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#d8d5cd;border:1px solid #d8d5cd;margin-top:38px}
.service-grid article{background:white;padding:28px}.service-grid h3{font-size:22px;margin-top:0}.service-grid p{color:#667078;font-size:14px}
.cta-light p,.wide-copy{max-width:760px;margin:20px auto 30px;color:#5d6971}
.about-page{display:grid;grid-template-columns:340px 1fr;gap:7%;align-items:center}.about-photo{height:370px;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.about-page p{font-size:16px;color:#59666f;max-width:720px}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d5cd;border:1px solid #d8d5cd}.stat-row div{background:white;padding:34px;text-align:center}
.stat-row strong{display:block;font:48px Georgia;color:#14283a}.stat-row span{font-size:10px;letter-spacing:1.4px;color:#6c757c}
.area-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.area-columns article{background:white;padding:32px}.area-columns h3{font-size:24px}.area-columns p{color:#667078}
.compact-hero{padding-top:70px;padding-bottom:70px}.contact-page-form{margin-top:0}
@media(max-width:1000px){header nav{display:none}}
@media(max-width:800px){
  .page-hero h1{font-size:40px}.service-grid,.stat-row,.area-columns{grid-template-columns:1fr}
  .about-page{grid-template-columns:1fr}.about-photo{max-width:360px;margin:auto;width:100%}
}

/* Prototype 10: final polish, SEO-ready layout, mobile contact bar */
.reviews-section{background:#fff}
.reviews-heading{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.reviews-heading p{color:#657179;max-width:620px}
.review-placeholder{margin-top:28px;padding:34px;border:1px dashed #b9bec1;text-align:center;font-size:10px;letter-spacing:1.6px;color:#7a8389;background:#fafafa}
html{scroll-padding-top:110px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #c79a62;outline-offset:2px}
@media(max-width:1100px){
 header{padding-left:3%;padding-right:3%}
 header>div:last-child{font-size:11px}
}
@media(max-width:800px){
 body{padding-bottom:58px}
 header{position:sticky;top:0;z-index:20;background:#fff}
 header>div:last-child{display:none}
 .reviews-heading{grid-template-columns:1fr;gap:22px}
 .hero{min-height:430px;padding-top:48px;padding-bottom:48px}
 .hero h1{font-size:39px}
 .hero p{font-size:16px}
 .section{padding-top:58px;padding-bottom:58px}
}

.mobile-contact{display:none}
@media(max-width:800px){
 .mobile-contact{display:grid;grid-template-columns:1fr 1fr 1.35fr;position:fixed;bottom:0;left:0;right:0;z-index:50;background:#14283a;box-shadow:0 -4px 16px #0002}
 .mobile-contact a{padding:17px 6px;text-align:center;color:#fff;text-decoration:none;font-size:9px;font-weight:bold;letter-spacing:.4px;border-right:1px solid #ffffff2b}
 .mobile-contact a:last-child{background:#a7763c;border:0}
}
