@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--ink:#17362d;--olive:#60755b;--cream:#f6f3eb;--sand:#e7e3d6;--white:#fff;--gold:#c6a47d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}header{position:sticky;top:0;z-index:10;background:rgba(246,243,235,.96);backdrop-filter:blur(12px);border-bottom:1px solid #dcdacf}.nav{max-width:1200px;margin:auto;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-family:'Playfair Display',serif;font-size:25px;letter-spacing:.08em}.brand small{display:block;font:9px 'DM Sans',sans-serif;letter-spacing:.26em;text-transform:uppercase}.links{display:flex;gap:28px;align-items:center}.links a:hover,.links a.active{color:#7c9273}.button{display:inline-block;background:var(--ink);color:white;padding:13px 24px;border:1px solid var(--ink);font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.button:hover{background:#315b49}.button.alt{background:transparent;color:var(--ink)}.button.alt:hover{background:var(--sand)}.hero{max-width:1300px;margin:0 auto;min-height:620px;display:grid;grid-template-columns:46% 54%;align-items:stretch}.hero-copy{padding:100px 7vw 80px max(24px,calc((100vw - 1200px)/2));display:flex;flex-direction:column;justify-content:center}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;color:var(--olive);font-weight:700}.hero h1,.page-heading h1{font:500 clamp(48px,5.8vw,86px)/1.08 'Playfair Display',serif;letter-spacing:-.04em;margin:22px 0}.hero p,.lead{max-width:490px;color:#58675d;font-size:16px}.hero-img{min-height:620px;object-fit:cover;width:100%;height:100%}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.section{max-width:1200px;margin:auto;padding:96px 24px}.section h2{font:500 clamp(34px,4vw,55px)/1.15 'Playfair Display',serif;margin:15px 0 25px}.section-intro{max-width:680px;color:#637064}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.card{background:#fff}.card img{height:310px;width:100%;object-fit:cover}.card-body{padding:26px}.card h3{font:500 26px 'Playfair Display',serif;margin:0 0 12px}.card p{font-size:14px;color:#667367}.split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.split img{height:550px;width:100%;object-fit:cover}.band{background:var(--ink);color:#fff;text-align:center;padding:90px 24px}.band h2{font:500 48px 'Playfair Display',serif;margin:14px auto;max-width:780px}.band p{color:#c8d2c7}.band .button{background:#fff;color:var(--ink);border-color:#fff}.page-heading{padding:105px 24px 70px;text-align:center;max-width:900px;margin:auto}.page-heading p{margin:auto}.portfolio{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:30px}.portfolio img{width:100%;height:410px;object-fit:cover}.portfolio h3{font:500 25px 'Playfair Display',serif;margin:18px 0 0}.portfolio p{margin:4px 0 15px;color:#667367}.contact{background:#eaece2;padding:65px 24px}.contact-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact h2{font:500 42px 'Playfair Display',serif}.form label{display:block;margin:0 0 16px;font-size:13px}.form input,.form textarea{display:block;width:100%;padding:12px;margin-top:6px;border:1px solid #c5cec3;background:white;font:inherit}.form textarea{min-height:130px}.notice{font-size:12px;color:#647367}footer{padding:45px 24px;background:#102b23;color:#d4ddd3;text-align:center;font-size:12px}.demo{background:#d8e3d8;text-align:center;padding:8px 12px;font-size:11px;letter-spacing:.05em}#menu-button{display:none}@media(max-width:800px){.hero,.split,.contact-inner{grid-template-columns:1fr}.hero-copy{padding:75px 24px}.hero-img{min-height:350px;height:400px}.grid{grid-template-columns:1fr}.portfolio{grid-template-columns:1fr}.portfolio img{height:310px}.section{padding:70px 24px}.links{display:none;position:absolute;top:85px;left:0;right:0;background:var(--cream);padding:20px 24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid #ddd}.links.open{display:flex}#menu-button{display:block;border:1px solid var(--ink);background:transparent;padding:8px 14px;cursor:pointer}.split img{height:380px}.band h2{font-size:36px}}/* Hero visibility and layout correction */

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    max-width: 1300px;
    min-height: 620px;
    margin: 0 auto;
    align-items: center;
}

.hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 70px clamp(24px, 5vw, 80px);
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.hero-copy h1,
.hero-copy p,
.hero-copy .eyebrow,
.hero-copy .actions {
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.hero-img {
    width: 100%;
    height: 620px;
    min-height: 0;
    object-fit: cover;
}

@media (max-width: 800px) {
    .hero {
        grid-template-columns: 1fr;
        min-height: auto;
    }

    .hero-copy {
        padding: 65px 24px;
    }

    .hero-img {
        height: 400px;
    }
}
