
  html { scroll-behavior: smooth; }
  body { margin: 0; background: #1A201D; color: #EDE8E1; font-family: 'Montserrat', system-ui, sans-serif; font-weight: 300; -webkit-font-smoothing: antialiased; transition: background-color .45s ease; }
  * { box-sizing: border-box; }
  a { color: inherit; text-decoration: none; }
  a:hover { color: var(--gold, #EAC083); }
  input, textarea, select { font-family: inherit; font-weight: 300; }
  select { appearance: none; -webkit-appearance: none; }
  input::placeholder, textarea::placeholder { color: var(--fg4, rgba(237,232,225,.45)); }
  img { max-width: 100%; }
  @keyframes darzaFloat { 0%,100% { transform: translateY(0); opacity: .7 } 50% { transform: translateY(7px); opacity: 1 } }
  @keyframes darzaHover { 0%,100% { transform: translateY(-14px) } 50% { transform: translateY(14px) } }
  @keyframes darzaGlow { 0%,100% { opacity: .28; transform: scale(1) } 50% { opacity: .5; transform: scale(1.12) } }
  @keyframes darzaModalIn { from { opacity: 0; transform: translateY(12px) } to { opacity: 1; transform: translateY(0) } }
  @keyframes darzaDrawerIn { from { transform: translateX(100%) } to { transform: translateX(0) } }
  @keyframes darzaFadeIn { from { opacity: 0 } to { opacity: 1 } }

  .darza-select{width:100%;padding:20px 22px;font-size:14px;color:var(--fg);background-color:var(--field);background-repeat:no-repeat;background-position:right 22px center;border:1px solid var(--line);outline:none;cursor:pointer}
  .darza-num{font-family:'Montserrat',sans-serif;font-weight:300;letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-style:normal}
  #themeKnob{position:absolute;top:2px;left:2px;width:34px;height:26px;border-radius:999px;background:linear-gradient(100deg,#9D6F3C,#EAC083 55%,#9D6F3C);transition:transform .35s cubic-bezier(.4,0,.2,1)}
  [data-theme="dark"] #themeKnob{transform:translateX(36px)}
  [data-theme="dark"] .ico-sun{color:rgba(237,232,225,.5)} [data-theme="dark"] .ico-moon{color:#1A201D}
  [data-theme="light"] .ico-sun{color:#1A201D} [data-theme="light"] .ico-moon{color:rgba(26,32,29,.5)}
  #themeRoot{transition:background-color .45s ease,color .45s ease}

/* ---------- Header ---------- */
.darza-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px 32px;padding:22px 56px;background:linear-gradient(180deg,var(--headerA,rgba(26,32,29,.92)),var(--headerB,rgba(26,32,29,0)));backdrop-filter:blur(8px)}
.darza-header__brand{display:flex;align-items:center;gap:16px}
.darza-header__actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:16px 26px}
.darza-nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 26px;font-size:11.5px;letter-spacing:.22em;font-weight:400;color:var(--fg2,rgba(237,232,225,.7))}
.darza-cta{padding:13px 26px;font-size:10.5px;letter-spacing:.24em;font-weight:500;color:#1A201D;background:linear-gradient(100deg,#9D6F3C,#EAC083 55%,#9D6F3C);white-space:nowrap}
.darza-theme-toggle{position:relative;width:74px;height:32px;padding:0;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line,#42482E);background:var(--card,rgba(237,232,225,.02));cursor:pointer;border-radius:999px;overflow:hidden}
.darza-burger{display:none;width:44px;height:44px;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;border:1px solid var(--line,#42482E);cursor:pointer}
.darza-burger span{display:block;width:22px;height:1.5px;background:var(--fg,#EDE8E1);transition:transform .3s ease,opacity .2s ease}
.darza-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.darza-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.darza-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ---------- Mobile drawer ---------- */
.darza-drawer{position:fixed;inset:0;z-index:60;display:none}
.darza-drawer[aria-hidden="false"]{display:block}
.darza-drawer__backdrop{position:absolute;inset:0;background:rgba(12,15,10,.6);backdrop-filter:blur(3px);animation:darzaFadeIn .25s ease}
.darza-drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(84vw,340px);padding:88px 30px 42px;background:var(--bg,#1A201D);border-left:1px solid var(--line,#42482E);display:flex;flex-direction:column;gap:34px;overflow-y:auto;animation:darzaDrawerIn .32s cubic-bezier(.4,0,.2,1)}
.darza-drawer__close{position:absolute;top:22px;right:22px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--line,#42482E);color:var(--fg,#EDE8E1);cursor:pointer}
.darza-drawer__close:hover{border-color:var(--goldD,#9D6F3C);color:var(--gold,#EAC083)}
.darza-drawer__nav{display:flex;flex-direction:column;gap:22px;font-size:12.5px;letter-spacing:.26em;font-weight:400;color:var(--fg1,rgba(237,232,225,.82))}
.darza-drawer__nav a{padding:6px 0;border-bottom:1px solid var(--line,#42482E)}
.darza-drawer__cta{margin-top:8px;padding:16px 26px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;letter-spacing:.28em;font-weight:500;color:#1A201D;background:linear-gradient(100deg,#9D6F3C,#EAC083 55%,#9D6F3C);text-align:center}

/* ---------- Mobile carousel (used by galleries) ---------- */
.darza-carousel{display:none}
.darza-carousel__track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 24px 18px;margin:0 -24px;scrollbar-width:none}
.darza-carousel__track::-webkit-scrollbar{display:none}
.darza-carousel__slide{flex:0 0 82%;scroll-snap-align:center;position:relative;overflow:hidden;border:1px solid var(--line,#42482E)}
.darza-carousel__slide img{width:100%;height:260px;object-fit:cover;display:block}
.darza-carousel__slide figcaption{position:absolute;left:16px;bottom:14px;right:16px;font-size:10px;letter-spacing:.22em;color:#EDE8E1;text-shadow:0 2px 10px rgba(0,0,0,.85)}
.darza-carousel__dots{display:flex;gap:6px;justify-content:center;margin-top:10px}
.darza-carousel__dot{width:22px;height:3px;background:var(--line,#42482E);transition:background .2s ease}
.darza-carousel__dot.is-active{background:var(--gold,#EAC083)}

@media (max-width:900px){
  .darza-nav,.darza-cta{display:none !important}
  .darza-burger{display:flex}
  .darza-header{padding:16px 22px !important;gap:12px !important}
  .darza-header__actions{gap:12px !important}
  .darza-header__brand span:first-child{font-size:20px !important}
  div[style*="grid-template-columns:1fr 1fr"],
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns:repeat(3,1fr)"],
  div[style*="grid-template-columns:1.35fr 1fr"],
  div[style*="grid-template-columns:1fr auto 1fr"]{grid-template-columns:1fr !important;gap:32px !important}
  section{padding-left:22px !important;padding-right:22px !important;padding-top:80px !important;padding-bottom:80px !important}
  .darza-desktop-only{display:none !important}
  .darza-carousel{display:block}
  h1,h2,h3{overflow-wrap:break-word;word-wrap:break-word}
  .darza-modal{padding:12px}
  .darza-modal__panel{max-height:calc(100vh - 24px)}
}

@media (max-width:600px){
  .darza-header{padding:14px 18px !important}
  .darza-header__brand span:first-child{font-size:18px !important}
  .darza-header__brand span:last-child{font-size:8px !important}
  .darza-header__brand img{height:32px !important}
  section{padding-left:18px !important;padding-right:18px !important;padding-top:60px !important;padding-bottom:60px !important}
  .darza-drawer__panel{width:min(88vw,320px);padding:80px 24px 32px}
}

/* Hero optimizations for mobile */
@media (max-width:900px){
  #inicio{min-height:100svh !important;min-height:100vh}
  #inicio p:first-of-type{font-size:11px !important;letter-spacing:.28em !important;margin-top:40px !important}
  #inicio p:last-of-type{font-size:10px !important}
  #inicio a[href="#sobre"]{bottom:36px !important}
}

/* ARVI hero (aerial) mobile */
@media (max-width:900px){
  #arvi > div:first-child{height:auto !important;min-height:auto !important;display:flex !important;flex-direction:column !important;overflow:visible !important}
  #arvi > div:first-child > div:nth-child(2){display:none !important}
  #arvi > div:first-child > div:last-child{order:1;position:static !important;padding:26px 22px 8px !important;gap:22px !important;flex-direction:column !important;background:var(--bgDeep,#12160F) !important;align-items:flex-start !important}
  #arvi > div:first-child > img{order:2;margin-top:20px !important;height:44vh !important;min-height:280px !important;max-height:420px !important;position:relative !important;flex-shrink:0;width:100% !important}
  #arvi > div:first-child > div:last-child > div:last-child{align-items:flex-start !important;text-align:left !important}
  #arvi > div:first-child > div:last-child > div:last-child > div{align-self:flex-start !important;align-items:flex-start !important;text-align:left !important}
}

/* Reduce large paddings on mobile for boxes/cards */
@media (max-width:900px){
  div[style*="padding:64px"]{padding:38px 26px !important}
  div[style*="padding:56px"]{padding:32px 24px !important}
  div[style*="padding:52px"]{padding:32px 24px !important}
  div[style*="padding:42px"]{padding:30px 22px !important}
  div[style*="padding:44px 56px"]{padding:28px 22px !important}
  section [style*="grid-template-columns:1fr 1fr;border"]{border:0 !important}
  section [style*="grid-template-columns:1fr 1fr;border"] > div{border:1px solid var(--line,#42482E) !important;border-right:1px solid var(--line,#42482E) !important;border-bottom:1px solid var(--line,#42482E) !important;margin-bottom:14px}
  #inicio > div > div img[src*="darza-symbol"]{width:clamp(120px,44vw,180px) !important}
  #inicio > div p{max-width:100% !important}
  h2, h3, .darza-modal__title{overflow-wrap:break-word;word-wrap:break-word;hyphens:auto}
  .darza-header{gap:10px !important}
  section[data-screen-label="Contato"] input,
  section[data-screen-label="Contato"] textarea,
  section[data-screen-label="Contato"] .darza-select{padding:16px 18px !important;font-size:14px !important}
}

.h1:hover{filter:brightness(1.08) !important;color:#1A201D !important}
.h2:hover{border-color:var(--goldD,#9D6F3C) !important}
.h3:hover{border-color:var(--goldD,#9D6F3C) !important;background:var(--cardH,rgba(234,192,131,.05)) !important}
.h4:focus{border-color:var(--goldD,#9D6F3C) !important}
.h5:hover{filter:brightness(1.08) !important}

/* ---------- Sobrado clickable cards ---------- */
.sobrado-card{transition:transform .3s ease,border-color .3s ease,background-color .3s ease}
.sobrado-card:focus-visible{outline:2px solid var(--gold,#EAC083);outline-offset:4px}

/* ---------- Modal (base) ---------- */
.darza-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:40px 20px}
.darza-modal[hidden]{display:none !important}
.darza-modal__backdrop{position:absolute;inset:0;background:rgba(12,15,10,.82);backdrop-filter:blur(6px);cursor:pointer;animation:darzaModalIn .28s ease}
.darza-modal__panel{position:relative;width:100%;max-width:960px;max-height:calc(100vh - 80px);overflow-y:auto;background:var(--bg,#1A201D);border:1px solid var(--line,#42482E);box-shadow:0 30px 80px rgba(0,0,0,.55);animation:darzaModalIn .32s ease}
.darza-modal__close{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:rgba(26,32,29,.85);border:1px solid var(--line,#42482E);color:var(--fg,#EDE8E1);cursor:pointer;transition:border-color .2s ease,color .2s ease}
.darza-modal__close:hover{border-color:var(--goldD,#9D6F3C);color:var(--gold,#EAC083)}

/* ---------- Modal (sobrado detail) ---------- */
.darza-modal__media{position:relative;height:340px;overflow:hidden}
.darza-modal__media img{width:100%;height:100%;object-fit:cover;display:block}
.darza-modal__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,32,29,0) 40%,rgba(26,32,29,.55) 100%);pointer-events:none}
.darza-modal__body{padding:44px 48px 52px}
.darza-modal__eyebrow{margin:0 0 14px;font-size:10.5px;letter-spacing:.3em;color:var(--gold,#EAC083)}
.darza-modal__title{margin:0;font-family:'Cormorant Garamond',serif;font-size:clamp(32px,3.6vw,44px);font-weight:500;letter-spacing:.05em;color:var(--fg,#EDE8E1)}
.darza-modal__lead{margin:20px 0 34px;font-size:15px;line-height:1.85;color:var(--fg2,rgba(237,232,225,.72))}
.darza-modal__label{margin:0 0 18px;font-size:11px;letter-spacing:.3em;color:var(--gold,#EAC083)}
.darza-modal__list{margin:0 0 40px;padding:0 0 0 4px;list-style:none;display:flex;flex-direction:column;gap:12px;font-size:14.5px;line-height:1.6;color:var(--fg1,rgba(237,232,225,.85))}
.darza-modal__list li{position:relative;padding-left:22px}
.darza-modal__list li::before{content:"";position:absolute;left:0;top:9px;width:10px;height:1px;background:var(--gold,#EAC083)}
.darza-modal__cta{display:inline-flex;align-items:center;gap:12px;padding:16px 30px;font-size:11px;letter-spacing:.28em;font-weight:500;color:#1A201D !important;background:linear-gradient(100deg,#9D6F3C,#EAC083 55%,#9D6F3C)}

/* ---------- Modal (boulevard lightbox) ---------- */
.darza-lightbox{display:flex;flex-direction:column;background:#12160F}
.darza-lightbox__stage{position:relative;background:#0b0e0a;display:flex;align-items:center;justify-content:center;min-height:400px;max-height:70vh}
.darza-lightbox__img{max-width:100%;max-height:70vh;display:block;object-fit:contain}
.darza-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(26,32,29,.7);border:1px solid var(--line,#42482E);color:var(--fg,#EDE8E1);cursor:pointer;transition:border-color .2s ease,color .2s ease}
.darza-lightbox__nav:hover{border-color:var(--goldD,#9D6F3C);color:var(--gold,#EAC083)}
.darza-lightbox__nav--prev{left:18px}
.darza-lightbox__nav--next{right:18px}
.darza-lightbox__caption{margin:0;padding:22px 26px 8px;font-size:12px;letter-spacing:.22em;color:var(--fg1,rgba(237,232,225,.82))}
.darza-lightbox__count{margin-left:10px;color:var(--fg4,rgba(237,232,225,.5))}
.darza-lightbox__dots{padding:12px 26px 18px;display:flex;gap:8px;flex-wrap:wrap}
.darza-lightbox__dot{width:22px;height:3px;padding:0;border:0;background:var(--line,#42482E);cursor:pointer;transition:background-color .2s ease}
.darza-lightbox__dot.is-active{background:var(--gold,#EAC083)}
.darza-lightbox__dot:hover{background:var(--goldD,#9D6F3C)}
.darza-lightbox__map{margin:6px 26px 26px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:15px 26px;font-size:10.5px;letter-spacing:.26em;font-weight:500;color:#1A201D !important;background:linear-gradient(100deg,#9D6F3C,#EAC083 55%,#9D6F3C);align-self:flex-start}

/* Footer responsive */
@media (max-width:900px){
  footer > div{grid-template-columns:1fr !important;text-align:center;gap:24px !important}
  footer > div > div:first-child{justify-content:center}
  footer > div > div:nth-child(2){flex-direction:column;gap:12px !important}
  footer p{text-align:center !important}
}

@media (max-width:720px){
  .darza-modal__body{padding:32px 26px 38px}
  .darza-modal__media{height:220px}
  .darza-lightbox__nav{width:38px;height:38px}
  .darza-lightbox__nav--prev{left:8px}
  .darza-lightbox__nav--next{right:8px}
  .darza-lightbox__stage{min-height:240px}
}
