
:root{
  --gold:#E5C876;
  --gold-dark:#BBA460;
  --ink:#171717;
  --muted:#666;
  --line:#e9e2d7;
  --soft:#fbfaf7;
  --white:#fff;
  --max:1800px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #eee}
.nav{min-height:106px;display:flex;align-items:center;gap:34px}
.brand{display:flex;align-items:center;gap:18px;margin-right:auto}
.brand img{width:84px;height:84px;object-fit:contain}
.brand-copy strong{font-family:Georgia,serif;font-size:26px;letter-spacing:.02em}
.brand-copy span{display:block;color:var(--gold-dark);letter-spacing:.18em;font-size:13px;margin-top:2px}
.menu{display:flex;gap:32px;align-items:center;font-size:14px;font-weight:700}
.menu a{padding:10px 0;border-bottom:2px solid transparent}
.menu a:hover,.menu a.active{border-color:var(--gold)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:14px 23px;background:var(--gold);color:#fff;border:1px solid var(--gold);font-weight:800;font-size:14px;letter-spacing:.02em;cursor:pointer}
.btn:hover{background:var(--gold-dark);border-color:var(--gold-dark)}
.btn-outline{background:#fff;color:var(--gold-dark)}
.hero{display:grid;grid-template-columns:44% 56%;min-height:490px;background:#fff}
.hero-copy{padding:62px 64px 56px max(48px,calc((100vw - var(--max))/2 + 24px))}
.eyebrow{color:var(--gold-dark);font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;margin:0}
h1{font-size:56px;line-height:1.08;margin-bottom:16px}
.lead{font-family:Georgia,serif;color:var(--gold-dark);font-size:21px;margin:0 0 22px}
.hero-copy p:not(.lead){max-width:590px;margin:0 0 14px}
.hero-image{background:url('assets/hero-office-v10.jpg?v=10') center center/cover no-repeat;min-height:490px}
.section{padding:64px 0}
.section-head{text-align:center;margin-bottom:34px}
.section-head .eyebrow{margin-bottom:5px}
.section-head h2{font-size:38px}
.services{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.card{border:1px solid var(--line);padding:28px 24px 26px;background:#fff;min-height:300px}
.icon{width:70px;height:70px;margin-bottom:18px;color:var(--gold-dark)}
.card h3{font-size:21px;line-height:1.25;margin-bottom:14px}
.card p{font-size:14px;color:#303030;margin:0}
.info-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.info-item{display:flex;gap:14px;align-items:center}
.info-item .mini{font-size:28px;color:var(--gold-dark)}
.info-item strong{display:block}
.page-hero{padding:70px 0 44px;background:var(--soft);border-bottom:1px solid var(--line)}
.page-hero h1{font-size:48px}
.about-grid{display:grid;grid-template-columns:36% 64%;gap:64px;align-items:start}
.about-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 20%;border-radius:2px}
.about-text h2{font-size:40px;margin-bottom:4px}
.degree{color:var(--gold-dark);font-family:Georgia,serif;font-size:18px;margin-bottom:24px}
.about-text p{max-width:760px;margin:0 0 18px}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.value{border-top:2px solid var(--gold);padding-top:16px}
.value strong{display:block;margin-bottom:6px}
.contact-grid{display:grid;grid-template-columns:40% 60%;gap:55px}
.contact-box{background:var(--soft);padding:30px;border:1px solid var(--line)}
.contact-box h3{font-size:28px;margin-bottom:16px}
form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form .full{grid-column:1/-1}
label{font-size:13px;font-weight:700;display:block;margin-bottom:6px}
input,textarea{width:100%;padding:14px;border:1px solid #d9d4ca;font:inherit;background:#fff}
textarea{min-height:150px;resize:vertical}
.notice{font-size:13px;color:var(--muted);margin-top:10px}
.footer{background:#151515;color:#fff;padding:38px 0 20px;margin-top:55px}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:45px}
.footer .brand-copy strong{color:#fff}
.footer .brand-copy span{color:#d6a544}
.footer .brand img{width:72px;height:72px}
.footer p{margin:5px 0;color:#ddd}
.footer-bottom{border-top:1px solid #51452f;margin-top:28px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#d6d6d6}
.mobile-toggle{display:none}
@media(max-width:980px){
  .container{width:min(var(--max),calc(100% - 32px))}
  .nav{min-height:86px;flex-wrap:wrap;padding:8px 0 12px}
  .brand img{width:66px;height:66px}
  .brand-copy strong{font-size:21px}
  .menu{order:3;width:100%;justify-content:center;gap:18px;flex-wrap:wrap}
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:48px 24px}
  .hero-image{min-height:360px}
  h1{font-size:44px}
  .services{grid-template-columns:1fr 1fr}
  .about-grid,.contact-grid{grid-template-columns:1fr;gap:34px}
  .about-grid img{max-width:520px}
  .values,.info-grid,.footer-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .menu{font-size:12px}
  .menu .btn{width:100%}
  .brand-copy{display:none}
  h1{font-size:38px}
  .section{padding:46px 0}
  .services{grid-template-columns:1fr}
  .card{min-height:auto}
  .section-head h2{font-size:32px}
  .page-hero h1{font-size:40px}
  form{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
}


/* Desktop width fix v3 */
@media (min-width: 981px){
  .container{
    width: calc(100% - 96px) !important;
    max-width: 1800px !important;
  }
  .hero{
    grid-template-columns: minmax(560px, 42%) 1fr !important;
    width: 100% !important;
  }
  .hero-copy{
    padding: 64px 72px 58px 72px !important;
    min-width: 0 !important;
  }
  .hero-copy h1,
  .hero-copy .lead,
  .hero-copy p{
    max-width: 620px !important;
    width: auto !important;
  }
  .hero-image{
    min-width: 0 !important;
  }
}


/* Hero overlap fix v4 */
@media (min-width: 981px){
  .hero{
    display:flex !important;
    grid-template-columns:none !important;
    align-items:stretch !important;
    min-height:490px !important;
    overflow:hidden !important;
  }
  .hero-copy{
    flex:0 0 46% !important;
    width:46% !important;
    max-width:46% !important;
    padding:64px 56px 58px max(40px, calc((100vw - 1800px)/2 + 40px)) !important;
    position:relative !important;
    z-index:2 !important;
    background:#fff !important;
    overflow:hidden !important;
  }
  .hero-copy h1{
    font-size:52px !important;
    line-height:1.08 !important;
    max-width:680px !important;
    width:100% !important;
    overflow-wrap:normal !important;
  }
  .hero-copy .lead,
  .hero-copy p{
    max-width:650px !important;
  }
  .hero-image{
    flex:1 1 54% !important;
    width:54% !important;
    min-width:0 !important;
    min-height:490px !important;
    position:relative !important;
    z-index:1 !important;
    background-position:center center !important;
  }
}

/* Approved wide office hero v6 */
@media (min-width: 981px){
  .hero-copy{
    flex:0 0 40% !important;
    width:40% !important;
    max-width:40% !important;
    padding:64px 52px 58px max(46px, calc((100vw - 1800px)/2 + 38px)) !important;
  }
  .hero-image{
    flex:1 1 60% !important;
    width:60% !important;
    min-height:520px !important;
    background-image:url('assets/hero-office-v10.jpg?v=10') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
  .hero{
    min-height:520px !important;
  }
}

/* Final approved homepage styling v7 */
@media (min-width: 981px){
  .hero{
    display:flex !important;
    grid-template-columns:none !important;
    min-height:520px !important;
    overflow:hidden !important;
  }
  .hero-copy{
    flex:0 0 38% !important;
    width:38% !important;
    max-width:38% !important;
    padding:64px 52px 58px max(48px, calc((100vw - 1800px)/2 + 40px)) !important;
    background:#fff !important;
    position:relative !important;
    z-index:2 !important;
  }
  .hero-copy h1{
    max-width:650px !important;
    font-size:52px !important;
    line-height:1.08 !important;
  }
  .hero-copy .lead,
  .hero-copy p{
    max-width:620px !important;
  }
  .hero-image{
    flex:1 1 62% !important;
    width:62% !important;
    min-height:520px !important;
    background-image:url('assets/hero-office-v10.jpg?v=10') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
  }
}

/* Full hero image visible v8 */
@media (min-width: 981px){
  .hero-image{
    background-image:url('assets/hero-office-v10.jpg?v=10') !important;
    background-size:contain !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:#f7f5f0 !important;
  }
}

/* Approved hero composition v9 - full-width image, no side borders */
@media (min-width: 981px){
  .hero{
    display:flex !important;
    width:100% !important;
    min-height:565px !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .hero-copy{
    flex:0 0 33.5% !important;
    width:33.5% !important;
    max-width:33.5% !important;
    padding:72px 52px 58px max(64px, calc((100vw - 1800px)/2 + 48px)) !important;
    background:#fff !important;
  }
  .hero-copy h1{
    max-width:540px !important;
    font-size:52px !important;
    line-height:1.08 !important;
  }
  .hero-copy .lead,
  .hero-copy p{
    max-width:500px !important;
  }
  .hero-image{
    flex:1 1 66.5% !important;
    width:66.5% !important;
    min-height:565px !important;
    background-image:url('assets/hero-office-v10.jpg?v=10') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:transparent !important;
  }
}

/* Approved balanced hero v10 */
@media (min-width: 981px){
  .hero{
    display:flex !important;
    min-height:560px !important;
    width:100% !important;
    overflow:hidden !important;
    background:#fff !important;
  }
  .hero-copy{
    flex:0 0 32.6% !important;
    width:32.6% !important;
    max-width:32.6% !important;
    padding:62px 42px 54px max(42px, calc((100vw - 1800px)/2 + 38px)) !important;
    background:#fff !important;
  }
  .hero-copy h1{
    font-size:50px !important;
    line-height:1.08 !important;
    max-width:520px !important;
  }
  .hero-copy .lead,
  .hero-copy p{
    max-width:480px !important;
  }
  .hero-image{
    flex:1 1 67.4% !important;
    width:67.4% !important;
    min-height:560px !important;
    background-image:url('assets/hero-office-v10.jpg?v=10') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-color:transparent !important;
  }
}

/* v11: wider text column only; preserve image and all other styling */
@media (min-width: 981px){
  .hero-copy{
    flex:0 0 40% !important;
    width:40% !important;
    max-width:40% !important;
    padding-left:max(48px, calc((100vw - 1800px)/2 + 40px)) !important;
    padding-right:48px !important;
  }
  .hero-copy h1{
    max-width:650px !important;
    font-size:50px !important;
    line-height:1.08 !important;
  }
  .hero-copy .lead,
  .hero-copy p{
    max-width:610px !important;
  }
  .hero-image{
    flex:1 1 60% !important;
    width:60% !important;
  }
}
