*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f4eb;color:#153421;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-shell{overflow:hidden}.header{position:fixed;top:18px;left:50%;z-index:50;display:flex;align-items:center;justify-content:space-between;width:min(1180px,calc(100% - 32px));padding:12px 14px 12px 18px;transform:translateX(-50%);border:1px solid rgba(215,181,109,.28);border-radius:999px;background:rgba(247,244,235,.82);box-shadow:0 20px 70px rgba(15,35,24,.18);backdrop-filter:blur(18px)}.brand img{width:190px}.nav{display:flex;align-items:center;gap:8px}.nav a{padding:12px 14px;border-radius:999px;color:#1f3b2a;font-size:14px;font-weight:700}.nav a:hover{background:#edf0df}.nav-cta{background:#153421!important;color:#fff!important;box-shadow:0 12px 28px rgba(21,52,33,.22)}.nav-toggle{display:none;border:0;background:transparent}.nav-toggle span{display:block;width:24px;height:2px;margin:5px;background:#153421}.hero{position:relative;min-height:970px;padding:180px 24px 88px;display:grid;place-items:center;color:#fff}.hero-media{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,18,.88),rgba(7,26,18,.58),rgba(7,26,18,.16)),url("../images/hero-landscape.png") center/cover no-repeat}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:180px;background:linear-gradient(0deg,#f7f4eb 0%,rgba(247,244,235,0) 100%)}.hero-content{position:relative;z-index:1;width:min(1180px,100%);padding-top:40px}.eyebrow{margin:0 0 16px;color:#d7b56d;font-size:12px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.hero h1,.section h2,.portfolio h2,.quote-section h2{max-width:900px;margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(54px,8vw,112px);line-height:.9;letter-spacing:-.055em}.hero-copy{max-width:650px;margin:28px 0 0;color:rgba(255,255,255,.84);font-size:20px;line-height:1.7}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border:0;border-radius:999px;font-weight:900;cursor:pointer}.button-primary{background:#d7b56d;color:#153421;box-shadow:0 18px 48px rgba(215,181,109,.28)}.button-secondary{border:1px solid rgba(255,255,255,.35);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(10px)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;width:min(720px,100%);margin-top:72px}.hero-stats div{padding:24px;border:1px solid rgba(255,255,255,.18);border-radius:28px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}.hero-stats strong{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:46px;line-height:1}.hero-stats span{display:block;margin-top:6px;color:rgba(255,255,255,.74);font-size:13px;font-weight:800}.trust-strip{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;padding:16px 24px 54px}.trust-strip span{padding:11px 16px;border:1px solid rgba(21,52,33,.12);border-radius:999px;background:#fffaf0;color:#435943;font-weight:800;font-size:13px}.section{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:84px 0}.intro{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end}.section h2,.portfolio h2,.quote-section h2{font-size:clamp(42px,6vw,78px);color:#153421}.intro p:last-child,.portfolio-copy p,.quote-section p{color:#566557;font-size:18px;line-height:1.75}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:34px}.section-heading h2{max-width:780px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{overflow:hidden;border:1px solid rgba(21,52,33,.12);border-radius:34px;background:#fffaf0;box-shadow:0 24px 70px rgba(36,56,39,.08)}.service-card img{height:270px;width:100%;object-fit:cover}.service-card div{padding:26px}.service-card span,.steps span{color:#d7b56d;font-weight:900;letter-spacing:.14em}.service-card h3,.steps h3,.footer h3{margin:12px 0 10px;font-size:22px}.service-card p,.steps p,.footer p{color:#627064;line-height:1.65}.portfolio{width:min(1180px,calc(100% - 40px));margin:70px auto;padding:44px;display:grid;grid-template-columns:1.1fr .9fr;gap:34px;border-radius:44px;background:linear-gradient(135deg,#153421,#082017);color:#fff;box-shadow:0 30px 90px rgba(21,52,33,.25)}.portfolio h2{color:#fff}.portfolio-copy p{color:rgba(255,255,255,.74)}.text-link{color:#d7b56d;font-weight:900}.portfolio-panel{display:grid;gap:14px}.metric{padding:28px;border:1px solid rgba(255,255,255,.13);border-radius:28px;background:rgba(255,255,255,.08)}.metric span{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:44px;font-weight:700}.metric small{color:rgba(255,255,255,.68);font-weight:800}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps div{padding:26px;border:1px solid rgba(21,52,33,.12);border-radius:30px;background:#fffaf0}.reviews{position:relative;width:min(980px,calc(100% - 40px));margin:50px auto;padding:70px 48px;text-align:center;border-radius:44px;background:#ede9d8}.quote-mark{height:66px;color:#d7b56d;font-family:Georgia,serif;font-size:120px;line-height:.8}.reviews blockquote{margin:0 auto;max-width:820px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(34px,5vw,58px);line-height:1.05;color:#153421}.reviews p{color:#566557;font-weight:900}.quote-section{width:min(1180px,calc(100% - 40px));margin:90px auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:start}.quote-form{padding:30px;border-radius:34px;background:#fffaf0;border:1px solid rgba(21,52,33,.12);box-shadow:0 24px 70px rgba(36,56,39,.08)}label{display:grid;gap:8px;margin-bottom:16px;color:#263e2b;font-weight:900}input,select,textarea{width:100%;border:1px solid rgba(21,52,33,.16);border-radius:18px;background:#fff;padding:15px 16px;color:#153421;font:inherit}textarea{resize:vertical}.quote-form .button{width:100%;margin-top:6px}.form-note{margin:12px 0 0!important;color:#7d847b!important;font-size:13px!important;text-align:center}.footer{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:32px;width:min(1180px,calc(100% - 40px));margin:0 auto 24px;padding:34px;border-radius:34px;background:#153421;color:#fff}.footer img{width:210px;filter:brightness(0) invert(1) sepia(.2)}.footer a,.footer p{display:block;margin:8px 0;color:rgba(255,255,255,.72)}@media (max-width:860px){.header{border-radius:28px;align-items:flex-start}.brand img{width:168px}.nav-toggle{display:block;padding:12px}.nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;align-items:stretch;padding:14px;border-radius:28px;background:rgba(247,244,235,.96);box-shadow:0 22px 60px rgba(15,35,24,.16)}.nav.is-open{display:flex}.nav a{text-align:center}.hero{min-height:880px;padding-top:150px}.hero h1{font-size:58px}.hero-stats,.intro,.portfolio,.steps,.quote-section,.footer{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.section-heading{display:block}.portfolio{padding:30px}.hero-stats{margin-top:42px}.button{width:100%}}@media (max-width:540px){.hero{padding-left:18px;padding-right:18px}.hero h1{font-size:49px}.hero-copy{font-size:17px}.hero-stats div{padding:18px}.section,.portfolio,.quote-section,.reviews,.footer{width:calc(100% - 28px)}.section{padding:58px 0}.quote-section{margin:60px auto}.reviews{padding:48px 24px}}/* Fix header/logo clipping + tablet navigation spacing */
.site-header,
.header,
.navbar {
  overflow: visible;
}

.nav-shell,
.nav-container,
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  width: 100%;
}

.brand,
.logo,
.site-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 260px;
  max-width: none;
  flex: 0 0 auto;
  overflow: visible;
  white-space: nowrap;
}

.brand-text,
.logo-text {
  display: flex;
  flex-direction: column;
  min-width: max-content;
  overflow: visible;
}

.brand-name,
.logo-title {
  display: block;
  overflow: visible;
  white-space: nowrap;
  text-overflow: unset;
  max-width: none;
}

.nav-menu,
.menu,
.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  flex: 1 1 auto;
  justify-content: flex-end;
  min-width: 0;
}

.nav-menu a,
.menu a,
.nav-links a {
  white-space: nowrap;
}

/* Tablet fix */
@media (max-width: 1024px) {
  .brand,
  .logo,
  .site-logo {
    min-width: 300px;
  }

  .nav-menu,
  .menu,
  .nav-links {
    gap: 18px;
  }
}

/* Mobile/tablet: hide nav links before they crush the logo */
@media (max-width: 860px) {
  .nav-menu,
  .menu,
  .nav-links {
    display: none;
  }

  .brand,
  .logo,
  .site-logo {
    min-width: auto;
    flex: 1 1 auto;
  }

  .brand-name,
  .logo-title {
    font-size: 20px;
    letter-spacing: 0.02em;
  }
}