
:root{--gold:#c8942f;--gold2:#e4b756;--red:#c71828;--silver:#a7adb4;--cream:#fbf7ef;--cream2:#f5efe5;--ink:#171717;--muted:#6f6a63;--line:#e9e1d5}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.wrap{width:min(1180px,92vw);margin:auto}
.header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:flex;gap:12px;align-items:center}.brandmark{font:700 36px Georgia,serif;color:var(--gold)}.brand strong{display:block;font-size:16px;letter-spacing:.04em}.brand small{display:block;color:#777;font-size:11px}.menu{display:flex;gap:22px;font-size:13px;font-weight:800}.menu a:hover{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:8px;font-size:13px;font-weight:800;border:1px solid transparent;cursor:pointer}.btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#fff}.btn-red{background:var(--red);color:#fff}.btn-light{background:#fff;border-color:var(--line)}.btn-silver{background:linear-gradient(135deg,#f6f7f8,var(--silver),#eef0f2);border-color:#b8bdc2;color:#171717;box-shadow:inset 0 1px rgba(255,255,255,.9)}.mobile-menu-toggle{display:none}
.hero{background:linear-gradient(120deg,#fff 0%,#fffaf4 60%,#f5ecde 100%)}.hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:590px}.hero-copy{padding:72px 5vw 54px max(4vw,calc((100vw - 1180px)/2));display:flex;flex-direction:column;justify-content:center}.hero h1{font:500 clamp(54px,6vw,82px)/.98 Georgia,serif;margin:0 0 22px}.hero h1 span{color:var(--gold)}.hero p{font-size:19px;color:#45413b;max-width:580px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:10px}.trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;font-size:13px}.trust b{color:var(--gold);margin-right:5px}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center top}
.team-banner{height:250px;overflow:hidden}.team-banner img{width:100%;height:100%;object-fit:cover;object-position:center}
.services{padding:28px 0 76px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.service{border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 28px rgba(50,35,15,.06);padding:0 0 20px;text-align:center;overflow:hidden}.service-visual{height:120px;display:grid;place-items:center;font-size:48px;background:linear-gradient(145deg,#fffaf0,#f5ead7);color:var(--gold);overflow:hidden}.service-visual img{width:100%;height:100%;object-fit:cover}.service:nth-child(2) .service-visual{background:linear-gradient(145deg,#fff,#e8ebed);color:#8d949b}.service:nth-child(4) .service-visual{color:var(--red)}.service h3{font:600 21px Georgia,serif;margin:16px 0 5px}.service p{margin:0 16px;color:var(--muted);font-size:13px}.service a{display:inline-block;margin-top:14px;color:var(--gold);font-size:12px;font-weight:800}
.section{padding:84px 0}.cream{background:var(--cream)}.about-grid{display:grid;grid-template-columns:300px 1fr 280px;gap:36px;align-items:center}.portrait-circle{width:250px;height:250px;border-radius:50%;overflow:hidden;border:2px solid #e3c377;margin:auto}.portrait-circle img{width:100%;height:100%;object-fit:cover}.eyebrow{color:var(--red);font-weight:900;font-size:12px;letter-spacing:.12em}.h2{font:500 clamp(36px,4vw,52px)/1.06 Georgia,serif;margin:8px 0 16px}.lead{color:#4f4a44}.checks{display:grid;grid-template-columns:1fr 1fr;gap:10px 18px;margin-top:22px}.checks div:before{content:"✓";color:var(--gold);font-weight:900;margin-right:7px}.traits{border-left:1px solid var(--line);padding-left:26px}.trait{margin:18px 0}.trait b{display:block;color:var(--red);font-size:13px}.trait span{font-size:13px;color:var(--muted)}
.stats{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}.stat{text-align:center;padding:28px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat strong{display:block;font:600 36px Georgia,serif}.stat small{color:#777;text-transform:uppercase;font-weight:700}
.lower{display:grid;grid-template-columns:.85fr 2.15fr;gap:20px}.refbox,.calcbox{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px}.ref-person{display:flex;align-items:center;gap:12px}.ref-person img{width:52px;height:52px;border-radius:50%;object-fit:cover}.quote{font:italic 18px/1.5 Georgia,serif}.quote:before{content:"“";display:block;font-size:52px;line-height:.6;color:var(--gold)}.calc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px}.field{display:grid;grid-template-columns:150px 1fr 105px;gap:10px;align-items:center;margin:13px 0}.field input[type=range]{width:100%;accent-color:var(--gold)}.field output{padding:8px;border:1px solid var(--line);border-radius:8px;background:#faf8f4;text-align:right}.result{background:#fff6e8;border:1px solid #ead5af;border-radius:14px;padding:22px}.result strong{display:block;font:600 38px Georgia,serif;color:var(--red)}
.contact{background:linear-gradient(120deg,#fffaf3,#f3eadb)}.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px}.form{display:grid;gap:12px}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.form input,.form textarea{padding:13px;border:1px solid #d9d1c5;border-radius:9px;background:#fff}.form textarea{min-height:120px}
.footer{padding:28px 0;background:#fff;border-top:1px solid var(--line)}.footer-row{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;font-size:12px;color:#777}.footer-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cookie-banner{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);width:min(900px,calc(100vw - 24px));background:#fffaf3;border-top:4px solid var(--gold);border-radius:16px;padding:18px;z-index:999;box-shadow:0 18px 50px rgba(0,0,0,.22)}.cookie-banner[hidden],.cookie-settings[hidden]{display:none}.cookie-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.cookie-actions button,.cookie-settings button{padding:11px;border:1px solid var(--line);border-radius:8px;font-weight:800}.cookie-primary{background:var(--gold);color:#fff}
@media(max-width:930px){.menu{display:none}.nav{display:grid;grid-template-columns:1fr auto}.header>.wrap>.btn-gold{display:none}.mobile-menu-toggle{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:24px}.nav.open{height:auto;padding:12px 0}.nav.open .menu{display:flex;grid-column:1/-1;flex-direction:column;gap:0}.nav.open .menu a{padding:11px 0;border-bottom:1px solid var(--line)}.hero-grid{grid-template-columns:1fr}.hero-photo{height:430px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{grid-template-columns:1fr}.traits{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:15px}.lower,.calc-grid,.contact-grid{grid-template-columns:1fr}.team-banner{height:220px}}
@media(max-width:620px){.nav{height:68px}.brand strong{font-size:14px}.brand small{font-size:10px}.hero-copy{padding:46px 5vw 30px}.hero h1{font-size:48px}.hero-photo{height:350px}.team-banner{height:190px}.service-grid{grid-template-columns:1fr}.checks{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.field{grid-template-columns:1fr}.field output{text-align:left}.form-row{grid-template-columns:1fr}.cookie-actions{grid-template-columns:1fr}}

/* FINAL FIX: service icons must never be cropped */
.service .service-visual{
    height:190px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:hidden !important;
    padding:14px 16px 18px !important;
}

.service .service-visual img.pretty-service-icon{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:88% !important;
    max-height:88% !important;
    object-fit:contain !important;
    object-position:center center !important;
    margin:auto !important;
}

/* HEADER + CRM FINAL FIX 2026-09-01 */
.header .wrap.nav{
  width:min(1720px,96vw);
  max-width:none;
  height:78px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:22px;
}
.header .brand{flex:0 0 auto;min-width:205px}
.header .menu{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  flex-wrap:nowrap;
  white-space:nowrap;
  font-size:13px;
}
.header .menu a{white-space:nowrap;flex:0 0 auto}
.header .menu a.crm-mobile{display:none !important}
.nav-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:10px;
  white-space:nowrap;
}
.btn-crm{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#171717;
  color:var(--gold2);
  border:1px solid var(--gold);
  padding:12px 15px;
  min-height:46px;
  border-radius:8px;
  font-size:13px;
  font-weight:900;
  line-height:1;
}
.btn-crm:hover{background:#242424;color:#fff}
.nav-actions .btn-gold{padding:13px 18px;white-space:nowrap}

@media(max-width:1600px){
  .header .wrap.nav{gap:14px;width:min(1540px,97vw)}
  .header .brand{min-width:180px}
  .header .menu{gap:13px;font-size:12px}
  .btn-crm{padding:11px 12px;font-size:12px}
  .nav-actions .btn-gold{padding:12px 14px;font-size:12px}
}

/* Before links can wrap, switch cleanly to hamburger */
@media(max-width:1380px){
  .header .wrap.nav{
    width:min(1180px,92vw);
    height:78px;
    display:grid;
    grid-template-columns:1fr auto;
    gap:16px;
  }
  .header .menu{display:none}
  .nav-actions{display:none}
  .mobile-menu-toggle{
    display:grid;
    place-items:center;
    width:44px;
    height:44px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    font-size:24px;
  }
  .nav.open{height:auto;padding:12px 0}
  .nav.open .menu{
    display:flex;
    grid-column:1/-1;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    white-space:normal;
  }
  .nav.open .menu a{
    white-space:normal;
    padding:11px 0;
    border-bottom:1px solid var(--line);
  }
  .nav.open .menu a.crm-mobile{
    display:block !important;
    color:var(--gold);
    font-weight:900;
    border:1px solid var(--gold);
    padding:12px;
    margin-top:10px;
    border-radius:8px;
    text-align:center;
  }
}


/* ===== HEADER / MENU FINAL FIX v4 ===== */
.header{position:relative;z-index:1000;background:#fff}
.header .wrap.nav{
  width:min(1740px,calc(100% - 48px))!important;
  max-width:none!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:22px!important;
  min-height:108px;
}
.header .brand{min-width:235px;position:relative;z-index:1004}
.header nav.menu{
  display:flex!important;
  position:static!important;
  width:auto!important;height:auto!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:20px!important;
  padding:0!important;margin:0!important;
  background:transparent!important;
  overflow:visible!important;
}
.header nav.menu>a{
  display:inline-flex!important;
  width:auto!important;
  padding:8px 0!important;
  margin:0!important;
  border:0!important;
  white-space:nowrap!important;
  font-size:15px!important;
  line-height:1.1!important;
}
.header .crm-mobile{display:none!important}
.header .mobile-menu-toggle{display:none!important}
.header .nav-actions{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
  white-space:nowrap!important;
}
.header .btn-crm{
  display:inline-flex!important;
  align-items:center;justify-content:center;
  background:#171717!important;color:#d5a43c!important;
  border:1px solid #d5a43c!important;border-radius:10px!important;
  padding:12px 13px!important;min-height:46px;
  font-size:13px!important;font-weight:900!important;line-height:1!important;
  text-decoration:none!important;
}
.header .nav-actions .btn-gold{
  padding:14px 17px!important;
  min-height:46px;
  font-size:13px!important;
  white-space:nowrap!important;
}

@media(max-width:1380px) and (min-width:1101px){
  .header .wrap.nav{width:calc(100% - 28px)!important;gap:13px!important}
  .header .brand{min-width:190px}
  .header nav.menu{gap:11px!important}
  .header nav.menu>a{font-size:12.5px!important}
  .header .btn-crm{font-size:11.5px!important;padding:10px 10px!important}
  .header .nav-actions .btn-gold{font-size:11.5px!important;padding:11px 11px!important}
}

/* Mobile/tablet */
@media(max-width:1100px){
  .header .wrap.nav{
    width:calc(100% - 32px)!important;
    min-height:88px;
    display:flex!important;
    justify-content:space-between!important;
    gap:16px!important;
  }
  .header .brand{min-width:0}
  .header .nav-actions{display:none!important}
  .header .mobile-menu-toggle{
    display:flex!important;
    position:relative!important;
    z-index:1005!important;
    align-items:center;justify-content:center;
  }
  .header nav.menu{display:none!important}
  .header nav.menu.open,
  .header .wrap.nav.open nav.menu,
  .header nav.menu.is-open{
    display:flex!important;
    position:fixed!important;
    z-index:1002!important;
    inset:0!important;
    width:100vw!important;height:100vh!important;
    background:#fff!important;
    padding:110px 32px 36px!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:0!important;
    overflow-y:auto!important;
  }
  .header nav.menu.open>a,
  .header .wrap.nav.open nav.menu>a,
  .header nav.menu.is-open>a{
    display:block!important;
    width:min(680px,100%)!important;
    margin:0 auto!important;
    padding:16px 0!important;
    border-bottom:1px solid #eee2d2!important;
    white-space:normal!important;
    font-size:18px!important;
    text-align:left!important;
  }
  .header nav.menu.open .crm-mobile,
  .header .wrap.nav.open nav.menu .crm-mobile,
  .header nav.menu.is-open .crm-mobile{
    display:block!important;
    margin-top:18px!important;
    padding:15px 18px!important;
    border:1px solid #d5a43c!important;
    border-radius:10px!important;
    color:#b8861b!important;
    text-align:center!important;
    font-weight:900!important;
  }
}


/* ===== FINAL GLOBAL STICKY HEADER v10 ===== */
/* Menu remains visible at the top while scrolling on desktop/notebook and mobile. */
.header{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  background:rgba(255,255,255,.97) !important;
  backdrop-filter:saturate(150%) blur(10px);
  -webkit-backdrop-filter:saturate(150%) blur(10px);
  box-shadow:0 1px 0 rgba(18,18,18,.08);
}

/* CRM: light/gold outlined button instead of black */
.header .btn-crm{
  background:#fff !important;
  color:#b98517 !important;
  border:1.5px solid #d7a337 !important;
  border-radius:10px !important;
  box-shadow:none !important;
}
.header .btn-crm:hover{
  background:#fff8e9 !important;
  color:#8f650c !important;
  border-color:#c89018 !important;
}

/* Only CRM remains in the top-right action area */
.header .nav-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
}

/* Preserve sticky behavior on smaller screens too */
@media(max-width:1100px){
  .header{
    position:sticky !important;
    top:0 !important;
  }
}


/* ===== SERVICE PAGES FULL STICKY MENU v11 ===== */
.header{
  position:sticky !important;
  top:0 !important;
  z-index:10000 !important;
  background:rgba(255,255,255,.98) !important;
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}
.header .wrap.nav{
  width:min(1740px,calc(100% - 48px)) !important;
  max-width:none !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
  min-height:96px;
}
.header .brand{
  min-width:235px;
  display:flex !important;
  align-items:center;
  position:relative;
  z-index:10003;
}
.header nav.menu{
  display:flex !important;
  position:static !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:center !important;
  flex-wrap:nowrap !important;
  gap:20px !important;
  width:auto !important;
  height:auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  overflow:visible !important;
}
.header nav.menu > a{
  display:inline-flex !important;
  width:auto !important;
  padding:8px 0 !important;
  margin:0 !important;
  border:0 !important;
  white-space:nowrap !important;
  font-size:15px !important;
  line-height:1.1 !important;
}
.header .nav-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  white-space:nowrap !important;
}
.header .btn-crm{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:#fff !important;
  color:#b98517 !important;
  border:1.5px solid #d7a337 !important;
  border-radius:10px !important;
  padding:12px 14px !important;
  min-height:46px;
  font-size:13px !important;
  font-weight:900 !important;
  text-decoration:none !important;
}
.header .crm-mobile{display:none !important}
.header .mobile-menu-toggle{display:none !important}

@media(max-width:1380px) and (min-width:1101px){
  .header .wrap.nav{width:calc(100% - 28px)!important;gap:13px!important}
  .header .brand{min-width:190px}
  .header nav.menu{gap:11px!important}
  .header nav.menu>a{font-size:12.5px!important}
  .header .btn-crm{font-size:11.5px!important;padding:10px 10px!important}
}

@media(max-width:1100px){
  .header .wrap.nav{
    width:calc(100% - 32px) !important;
    min-height:84px;
    display:flex !important;
    justify-content:space-between !important;
    gap:16px !important;
  }
  .header .brand{min-width:0}
  .header .nav-actions{display:none !important}
  .header .mobile-menu-toggle{
    display:flex !important;
    align-items:center;
    justify-content:center;
    position:relative !important;
    z-index:10005 !important;
  }
  .header nav.menu{display:none !important}
  .header .wrap.nav.open nav.menu{
    display:flex !important;
    position:fixed !important;
    inset:0 !important;
    z-index:10002 !important;
    width:100vw !important;
    height:100vh !important;
    padding:108px 28px 36px !important;
    background:#fff !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:0 !important;
    overflow-y:auto !important;
  }
  .header .wrap.nav.open nav.menu > a{
    display:block !important;
    width:min(680px,100%) !important;
    margin:0 auto !important;
    padding:16px 0 !important;
    border-bottom:1px solid #eee2d2 !important;
    white-space:normal !important;
    font-size:18px !important;
    text-align:left !important;
  }
  .header .wrap.nav.open nav.menu .crm-mobile{
    display:block !important;
    margin-top:18px !important;
    padding:15px 18px !important;
    border:1px solid #d5a43c !important;
    border-radius:10px !important;
    color:#b98517 !important;
    text-align:center !important;
    font-weight:900 !important;
  }
}


/* ===== MOBILE CRM ONLY INSIDE HAMBURGER v13 ===== */
/* Desktop / notebook: CRM remains in the top-right header */
@media (min-width:1101px){
  .header .nav-actions{
    display:flex !important;
  }
  .header .crm-mobile{
    display:none !important;
  }
}

/* Mobile / tablet: hide CRM from top bar, show it only after opening hamburger */
@media (max-width:1100px){
  .header .nav-actions{
    display:none !important;
  }

  .header .crm-mobile{
    display:none !important;
  }

  .header .wrap.nav.open nav.menu .crm-mobile{
    display:block !important;
    width:min(680px,100%) !important;
    margin:18px auto 0 !important;
    padding:15px 18px !important;
    border:1.5px solid #d5a43c !important;
    border-radius:10px !important;
    background:#fff !important;
    color:#b98517 !important;
    text-align:center !important;
    font-weight:900 !important;
    text-decoration:none !important;
  }

  .header .mobile-menu-toggle{
    margin-left:auto !important;
  }
}
