
html,body{margin:0;padding:0}
body{overflow-x:clip;background:#fff}
img{max-width:none}
/* ---------- Zyro block frames ---------- */
.zb{position:relative;padding:16px 0;min-height:var(--dmh,0);box-sizing:border-box}
.zb--fixed{clip-path:inset(0)}
.zb-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;display:block}
.zb-bg--fixed{position:fixed}
.zb-ov{position:absolute;inset:0;background:#000;z-index:0;pointer-events:none}
.zb-in{position:relative;z-index:1;max-width:1224px;margin:0 auto;box-sizing:border-box}
.ze{box-sizing:border-box}
.ze-flow{position:relative;margin-top:var(--mt,0);margin-left:var(--ml,0);width:var(--w,100%)}
.ze-abs{position:absolute;top:var(--t);left:var(--l);width:var(--w);height:var(--h)}
.ze-image{aspect-ratio:var(--ar);overflow:hidden}
.ze-image img{width:100%;height:100%;object-fit:cover;display:block}
.ze-abs.ze-textbox{height:auto}
.zt h1,.zt h2,.zt h3,.zt p{margin:0}
.zt h1{font-family:'Playfair',serif;font-size:64px;font-weight:700;line-height:1.3em}
.zc{container-type:inline-size;width:100%}
/* the iframe that used to hold each embed: same reset, same defaults */
:where(.zE, .zE *){margin:0;padding:0;box-sizing:border-box}
:where(.zE){display:flow-root;font-family:serif;font-size:16px;line-height:normal;color:#000;text-align:left;font-weight:400;letter-spacing:normal}
:where(.zE iframe){max-width:100%}
:where(.zE a.zlk){color:inherit;text-decoration:none;cursor:var(--bwp-cur-link)}
:where(.zE a.zlk-div, .zE a.zlk-p){display:block}
:where(.zE a.zlk-button){display:inline-block;font:400 13.3333px Arial,sans-serif;border:2px outset buttonborder;background-color:buttonface;color:buttontext;text-align:center;box-sizing:border-box;cursor:var(--bwp-cur-link)}
@media (max-width:1224px){.zb-in{padding:0 16px}}
@media (max-width:920px){
  .zb{padding:16px;min-height:0}
  .zb-in{padding:0}
  .ze-flow{margin-top:var(--mmt,0);margin-left:var(--mml,0);width:var(--mw,100%)}
  .ze-abs{top:var(--mt2);left:var(--ml2);width:var(--mw);height:var(--mh)}
  .ze-image{aspect-ratio:var(--mar)}
  .zt h1{font-size:40px}
}
/* ---------- WhatsApp bubble (same as Zyro) ---------- */
.whats-app-bubble{z-index:19;cursor:var(--bwp-cur-link);border-radius:100px;display:flex;position:fixed;bottom:24px;right:20px;box-shadow:0 4px 12px #00000026}

header.bwp-header, header.bwp-header * { margin: 0; padding: 0; box-sizing: border-box; }
header.bwp-header { background: #ffffff; font-family: 'DM Sans', sans-serif; z-index: 50; }
.bwp-header .bwp-header-inner { max-width: 1240px; margin: 0 auto; padding: 0 16px; height: 139px;
  display: flex; align-items: center; justify-content: space-between; gap: 49px; }
.bwp-header .bwp-header-logo { display: block; width: clamp(200px, 20vw, 278px); flex-shrink: 0; line-height: 0; }
.bwp-header .bwp-header-logo img { width: 100%; height: 139px; object-fit: contain; display: block; }
.bwp-header .bwp-header-nav ul { list-style: none; display: flex; flex-wrap: nowrap; gap: clamp(22px, 2.8vw, 40px); align-items: center; }
.bwp-header .bwp-header-nav a { font-family: 'DM Sans', sans-serif; font-size: 14px; font-weight: 400; line-height: 1.8; white-space: nowrap;
  color: rgb(26, 26, 26); text-decoration: none; letter-spacing: normal; text-transform: none; transition: color 0.2s ease; }
.bwp-header .bwp-header-nav a:hover { color: rgb(0, 0, 0); }
.bwp-header .bwp-header-toggle, .bwp-header .bwp-header-burger { display: none; }

@media (max-width: 1080px) {
  .bwp-header .bwp-header-inner { height: 83px; padding: 24px 16px; flex-wrap: wrap; }
  .bwp-header .bwp-header-logo, .bwp-header .bwp-header-logo img { width: 70px; height: 35px; }
  .bwp-header .bwp-header-burger { display: flex; flex-direction: column; justify-content: center; gap: 5px;
    width: 32px; height: 32px; cursor:var(--bwp-cur-link); }
  .bwp-header .bwp-header-burger span { display: block; height: 2px; width: 24px; margin-left: auto; background: rgb(26, 26, 26);
    transition: transform 0.2s ease, opacity 0.2s ease; }
  .bwp-header .bwp-header-nav { display: none; position: absolute; top: 83px; left: 0; right: 0; background: #ffffff;
    padding: 8px 16px 24px; box-shadow: 0 8px 16px rgba(0,0,0,0.06); }
  .bwp-header .bwp-header-nav ul { flex-direction: column; align-items: flex-end; gap: 20px; }
  .bwp-header .bwp-header-toggle:checked ~ .bwp-header-nav { display: block; }
  .bwp-header .bwp-header-toggle:checked + .bwp-header-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .bwp-header .bwp-header-toggle:checked + .bwp-header-burger span:nth-child(2) { opacity: 0; }
  .bwp-header .bwp-header-toggle:checked + .bwp-header-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}

.bwp-footer, .bwp-footer * { margin: 0; padding: 0; box-sizing: border-box; }
.bwp-footer { background: #2d2d2d; width: 100%; }
.bwp-footer a { text-decoration: none; }

.bwp-footer .bwp-footer-top { max-width: 1100px; margin: 0 auto; padding: 72px 40px 60px; display: grid;
  grid-template-columns: 1.4fr 1fr 1fr; gap: 60px; align-items: start; }

.bwp-footer .bwp-footer-brand-eyebrow { font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase; color: #d4b07a; display: block; margin-bottom: 16px; }
.bwp-footer .bwp-footer-brand-line { font-family: 'Playfair Display', Georgia, serif; font-size: clamp(22px, 3vw, 30px);
  font-weight: 400; line-height: 1.2; color: #ffffff; margin: 0 0 6px 0; letter-spacing: normal; text-transform: none; }
.bwp-footer .bwp-footer-brand-line em { font-style: italic; color: #d4b07a; }
.bwp-footer .bwp-footer-brand-sub { font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 300;
  color: rgba(255,255,255,0.55); line-height: 1.7; margin: 16px 0 28px; }
.bwp-footer a.bwp-footer-wa-btn { display: inline-block; padding: 13px 28px; background: #b8955a; color: #ffffff;
  font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  transition: background 0.2s ease; cursor:var(--bwp-cur-link); }
.bwp-footer a.bwp-footer-wa-btn:hover { background: #a07d48; }

.bwp-footer .bwp-footer-socials { display: flex; gap: 14px; margin-top: 24px; align-items: center; }
.bwp-footer .bwp-footer-social-link { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px;
  border: 1px solid rgba(255,255,255,0.15); transition: border-color 0.2s ease, background 0.2s ease; }
.bwp-footer .bwp-footer-social-link:hover { border-color: #d4b07a; background: rgba(212,176,122,0.08); }
.bwp-footer .bwp-footer-social-link svg { width: 15px; height: 15px; fill: rgba(255,255,255,0.6); transition: fill 0.2s ease; }
.bwp-footer .bwp-footer-social-link:hover svg { fill: #d4b07a; }

.bwp-footer .bwp-footer-nav-title, .bwp-footer .bwp-footer-contact-title { font-family: 'DM Sans', sans-serif; font-size: 10px;
  font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; color: #d4b07a; display: block; margin-bottom: 20px; }
.bwp-footer .bwp-footer-nav-group { margin-bottom: 32px; }
.bwp-footer .bwp-footer-nav-group:last-child { margin-bottom: 0; }
.bwp-footer .bwp-footer-nav-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 11px; }
.bwp-footer .bwp-footer-nav-list a { font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 300;
  color: rgba(255,255,255,0.65); transition: color 0.2s; line-height: 1; cursor:var(--bwp-cur-link); }

.bwp-footer .bwp-footer-contact-item { margin-bottom: 22px; }
.bwp-footer .bwp-footer-contact-label { font-family: 'DM Sans', sans-serif; font-size: 10px; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase; color: rgba(255,255,255,0.3); display: block; margin-bottom: 5px; }
.bwp-footer .bwp-footer-contact-value { font-family: 'DM Sans', sans-serif; font-size: 13px; font-weight: 300;
  color: rgba(255,255,255,0.75); line-height: 1.5; display: block; cursor:var(--bwp-cur-link); }
.bwp-footer a.bwp-footer-contact-value:hover { color: #d4b07a; }
.bwp-footer .bwp-footer-contact-note { font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 300;
  color: rgba(255,255,255,0.35); margin-top: 14px; line-height: 1.6; font-style: italic; }

.bwp-footer .bwp-footer-rule { max-width: 1100px; margin: 0 auto; border: none; border-top: 1px solid rgba(255,255,255,0.08); }
.bwp-footer .bwp-footer-bottom { max-width: 1100px; margin: 0 auto; padding: 22px 40px; display: flex;
  justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; }
.bwp-footer .bwp-footer-bottom-left { font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 300;
  color: rgba(255,255,255,0.28); line-height: 1.6; }
.bwp-footer .bwp-footer-bottom-left a { color: rgba(255,255,255,0.65); transition: color 0.2s; cursor:var(--bwp-cur-link); }
.bwp-footer .bwp-footer-eleventh { font-family: 'DM Sans', sans-serif; font-size: 11px; font-weight: 300; color: rgba(255,255,255,0.22); }

@media (max-width: 860px) { .bwp-footer .bwp-footer-top { grid-template-columns: 1fr 1fr; gap: 40px; } }
@media (max-width: 560px) {
  .bwp-footer .bwp-footer-top { grid-template-columns: 1fr; gap: 40px; padding: 52px 24px 44px; }
  .bwp-footer .bwp-footer-bottom { padding: 20px 24px; flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ---------- Custom cursor (mouse and trackpad only) ---------- */
:root{--bwp-cur:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9.4' fill='none' stroke='rgba(26,26,26,0.28)' stroke-width='0.8'/%3E%3Ccircle cx='12' cy='12' r='8.2' fill='none' stroke='%23b8955a' stroke-width='1.5'/%3E%3Ccircle cx='12' cy='12' r='2' fill='%23b8955a'/%3E%3C/svg%3E") 12 12, auto;--bwp-cur-link:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Ccircle cx='16' cy='16' r='13.4' fill='none' stroke='rgba(26,26,26,0.28)' stroke-width='0.8'/%3E%3Ccircle cx='16' cy='16' r='12.2' fill='rgba(184,149,90,0.28)' stroke='%23b8955a' stroke-width='1.5'/%3E%3Ccircle cx='16' cy='16' r='2.6' fill='%23b8955a'/%3E%3C/svg%3E") 16 16, pointer}
@media (hover:hover) and (pointer:fine){
  html,body{cursor:var(--bwp-cur)}
  a[href],button,summary,label,select,[onclick],[role="button"],input[type="checkbox"],input[type="radio"],input[type="submit"],input[type="button"],.whats-app-bubble,.bwp-header-burger{cursor:var(--bwp-cur-link)}
  input[type="text"],input[type="email"],input[type="tel"],input[type="number"],input[type="date"],input[type="search"],input[type="url"],input:not([type]),textarea,[contenteditable="true"]{cursor:text}
}
