:root { --site-header-height:5rem;--site-safe-top:env(safe-area-inset-top,0px);--site-header-offset:calc(var(--site-header-height) + var(--site-safe-top)) }
*, *::before, *::after { box-sizing:border-box }
[hidden] { display:none !important }
html { scroll-behavior:smooth;scroll-padding-top:calc(var(--site-header-offset) + 1rem);max-width:100%;overflow-x:hidden }
body { max-width:100%;overflow-x:hidden }
body.modal-open,body.site-menu-open { overflow:hidden;overscroll-behavior:none }
img,svg,video,canvas { max-width:100% }
main,section,article,header,footer,nav,div { min-width:0 }
.skip-link { position:fixed;z-index:200;top:calc(var(--site-safe-top) + .5rem);left:max(.5rem,env(safe-area-inset-left,0px));transform:translateY(-180%);background:#111827;color:#fff;padding:.75rem 1rem;border-radius:.5rem;font-weight:700;box-shadow:0 8px 24px rgba(0,0,0,.25) }
.skip-link:focus-visible { transform:translateY(0) }
#navbar { z-index:100;padding-top:var(--site-safe-top) }
.site-header { isolation:isolate }
.site-header-accent { position:absolute;z-index:5;top:var(--site-safe-top);right:0;left:0;height:3px;background:linear-gradient(90deg,#9a3412,#f97316 55%,#fdba74);pointer-events:none }
.site-header-shell { background:rgba(255,255,255,.94);box-shadow:0 1px 0 rgba(0,0,0,.055);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px);transition-property:background-color,box-shadow;transition-duration:180ms;transition-timing-function:ease-out }
.site-header.is-scrolled .site-header-shell { background:rgba(255,255,255,.98);box-shadow:0 0 0 1px rgba(0,0,0,.035),0 10px 30px rgba(28,25,23,.1) }
.site-header-bar { position:relative;z-index:3 }
.site-header-inner { height:var(--site-header-height);display:flex;align-items:center;justify-content:space-between;gap:.8rem }
#main-content { padding-top:var(--site-header-offset) }
#main-content:focus { outline:none }
.site-logo-link { min-width:44px;min-height:44px;max-width:min(48vw,14rem) }
.site-brand { display:inline-flex;align-items:center;gap:.7rem;color:#1c1917;text-decoration:none;flex:0 0 auto }
.site-logo-frame { width:3.4rem;height:3.4rem;display:grid;place-items:center;padding:.22rem;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.065),0 4px 12px rgba(28,25,23,.08) }
.site-logo-image { width:100%;height:100%;display:block;object-fit:contain;border-radius:10px;outline:1px solid rgba(0,0,0,.1);outline-offset:-1px }
.site-brand-copy { display:none;min-width:0 }
.site-brand-copy strong,.site-brand-copy small { display:block;white-space:nowrap }
.site-brand-copy strong { font:700 1rem/1.05 "Playfair Display",serif;letter-spacing:-.015em }
.site-brand-copy small { margin-top:.25rem;color:#9a3412;font-size:.62rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase }
.site-desktop-nav { align-items:center;gap:.15rem;padding:.3rem;border-radius:18px;background:#fafaf9;box-shadow:inset 0 0 0 1px rgba(0,0,0,.045) }
.site-nav-link,.site-header-cta,#navbar button,#mobile-menu a { min-height:44px }
.site-nav-link,.site-header-cta { display:inline-flex;align-items:center;justify-content:center }
.site-nav-link { position:relative;padding:.55rem clamp(.55rem,1vw,.85rem);border-radius:14px;color:#57534e;font-size:.9rem;font-weight:650;white-space:nowrap;transition-property:color,background-color,box-shadow,transform;transition-duration:160ms;transition-timing-function:ease-out }
.site-nav-link:hover { color:#9a3412;background:#fff7ed }
.site-nav-link.is-active,.site-nav-link[aria-current="page"] { color:#9a3412;background:#fff;box-shadow:0 0 0 1px rgba(194,65,12,.09),0 4px 12px rgba(69,26,3,.07) }
.site-nav-link.is-active::after,.site-nav-link[aria-current="page"]::after { content:"";position:absolute;right:.8rem;bottom:.28rem;left:.8rem;height:2px;border-radius:999px;background:#ea580c }
.site-header-actions { display:flex;align-items:center;justify-content:flex-end;gap:.45rem }
.site-header-whatsapp,.site-mobile-gallery-shortcut,.site-menu-toggle { width:44px;height:44px;align-items:center;justify-content:center;border:0;border-radius:14px;cursor:pointer }
.site-header-whatsapp { color:#128c7e;background:#ecfdf5;box-shadow:inset 0 0 0 1px rgba(18,140,126,.1);font-size:1.2rem;transition-property:color,background-color,transform;transition-duration:160ms;transition-timing-function:ease-out }
.site-header-whatsapp:hover { color:#fff;background:#128c7e }
.site-header-cta { gap:.55rem;padding:.65rem .85rem .65rem 1rem;border-radius:15px;color:#fff;background:linear-gradient(135deg,#ea580c,#b9380a);box-shadow:0 8px 18px rgba(194,65,12,.22),inset 0 1px rgba(255,255,255,.15);font-size:.9rem;font-weight:750;white-space:nowrap;transition-property:transform,box-shadow,background-color;transition-duration:160ms;transition-timing-function:ease-out }
.site-header-cta:hover { color:#fff;box-shadow:0 11px 24px rgba(194,65,12,.28),inset 0 1px rgba(255,255,255,.15) }
.site-header-cta-arrow { font-size:.75rem }
.site-mobile-gallery-shortcut { display:inline-flex;color:#9a3412;background:#fff7ed;box-shadow:inset 0 0 0 1px rgba(194,65,12,.1) }
.site-menu-toggle { display:inline-grid;place-items:center;color:#44403c;background:#f5f5f4;box-shadow:inset 0 0 0 1px rgba(0,0,0,.045) }
.site-menu-icon-stack { position:relative;width:1.25rem;height:1.25rem;display:block }
.site-menu-icon-stack i { position:absolute;inset:0;display:grid;place-items:center;transition-property:opacity,filter,transform;transition-duration:300ms;transition-timing-function:cubic-bezier(.2,0,0,1) }
.site-menu-icon-open { opacity:1;filter:blur(0);transform:scale(1) }
.site-menu-icon-close { opacity:0;filter:blur(4px);transform:scale(.25) }
.site-menu-toggle.is-open .site-menu-icon-open { opacity:0;filter:blur(4px);transform:scale(.25) }
.site-menu-toggle.is-open .site-menu-icon-close { opacity:1;filter:blur(0);transform:scale(1) }
.site-header a:active,.site-header button:active { transform:scale(.96) }
#navbar a,#navbar button { -webkit-tap-highlight-color:transparent }
.site-menu-backdrop { position:fixed;z-index:1;top:var(--site-header-offset);right:0;bottom:0;left:0;background:rgba(28,25,23,.58);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px) }
.mobile-menu-panel { position:absolute;z-index:2;top:100%;right:0;left:0;max-height:calc(100vh - var(--site-header-offset));max-height:calc(100dvh - var(--site-header-offset));overflow-y:auto;overscroll-behavior:contain;background:transparent;-webkit-overflow-scrolling:touch }
.site-mobile-menu-inner { margin:0 .65rem;padding:1.15rem calc(.85rem + env(safe-area-inset-right,0px)) calc(1.2rem + env(safe-area-inset-bottom,0px)) calc(.85rem + env(safe-area-inset-left,0px));border-radius:0 0 24px 24px;background:rgba(255,255,255,.98);box-shadow:0 22px 60px rgba(28,25,23,.24),inset 0 0 0 1px rgba(0,0,0,.055);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px) }
.site-mobile-menu-heading { padding:.3rem .4rem .8rem }
.site-mobile-menu-heading span,.site-mobile-menu-heading strong { display:block }
.site-mobile-menu-heading span { color:#c2410c;font-size:.67rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase }
.site-mobile-menu-heading strong { margin-top:.25rem;color:#1c1917;font:600 1.35rem/1.15 "Playfair Display",serif;text-wrap:balance }
.site-mobile-menu-links { display:grid;gap:.35rem }
.site-mobile-nav-link { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem .8rem .7rem 1rem;border-radius:14px;color:#57534e;background:#fafaf9;font-weight:650;box-shadow:inset 0 0 0 1px rgba(0,0,0,.035);transition-property:color,background-color,transform;transition-duration:160ms;transition-timing-function:ease-out }
.site-mobile-nav-link i { color:#a8a29e;font-size:.7rem }
.site-mobile-nav-link.is-active,.site-mobile-nav-link[aria-current="page"] { color:#9a3412;background:#fff7ed;box-shadow:inset 3px 0 #ea580c,inset 0 0 0 1px rgba(194,65,12,.07) }
.site-mobile-menu-actions { display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem;margin-top:.8rem }
.site-mobile-order-cta { display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.7rem .8rem .7rem 1rem;border-radius:15px;color:#fff;background:linear-gradient(135deg,#ea580c,#b9380a);font-weight:750;box-shadow:0 8px 20px rgba(194,65,12,.2) }
.site-mobile-whatsapp { min-width:52px;display:flex;align-items:center;justify-content:center;gap:.55rem;padding:.7rem;border-radius:15px;color:#087f5b;background:#ecfdf5;box-shadow:inset 0 0 0 1px rgba(8,127,91,.1);font-weight:700 }
.site-mobile-whatsapp span { display:none }
body.site-menu-open #chatbot-toggle,body.site-menu-open #chatbot-panel { visibility:hidden;pointer-events:none }
:target,:focus { scroll-margin-top:calc(var(--site-header-offset) + 1rem) }
:where(a,button,input,select,textarea,[tabindex]):focus-visible { outline:3px solid #c2410c;outline-offset:3px }
.break-anywhere,.public-rich-text,.public-rich-text * { overflow-wrap:anywhere;word-break:break-word }
.public-rich-text img,.public-rich-text table { max-width:100% }
.public-rich-text table { display:block;overflow-x:auto }
.fade-in { animation: fadeIn .45s ease-out both; }
@keyframes fadeIn { from { opacity: 0; transform: translateY(15px) } to { opacity: 1; transform: none } }
.hero-pattern { background-color:#1a1a1a; background-image:linear-gradient(rgba(0,0,0,.7),rgba(0,0,0,.7)),var(--hero-image,url('/assets/images/hero.webp')); background-size:cover; background-position:center; background-attachment:fixed }
.card-zoom-image { transition:transform .5s ease }
.card-container:hover .card-zoom-image { transform:scale(1.08) }
.summary-card { transition:box-shadow .25s ease,transform .25s ease }
.summary-card-copy { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden }
.home-gallery-teaser { position:relative;overflow:hidden;padding:clamp(4rem,7vw,6rem) 0;background:linear-gradient(145deg,#fffaf6 0%,#fff 52%,#ffedd5 145%) }
.home-gallery-teaser::before { content:"";position:absolute;top:-12rem;right:-10rem;width:25rem;height:25rem;border-radius:50%;background:rgba(249,115,22,.08);filter:blur(2px);pointer-events:none }
.home-gallery-shell { position:relative;width:min(calc(100% - 2rem),80rem);margin-inline:auto }
.home-gallery-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(1.75rem,4vw,3rem) }
.home-gallery-heading-copy { max-width:48rem }
.home-gallery-eyebrow { display:block;margin-bottom:.6rem;color:#c2410c;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase }
.home-gallery-heading h2 { margin:0;color:#1c1917;font:700 clamp(2rem,4vw,3.35rem)/1.08 "Playfair Display",serif;letter-spacing:-.025em;text-wrap:balance }
.home-gallery-heading p { max-width:43rem;margin:.9rem 0 0;color:#57534e;font-size:clamp(1rem,1.6vw,1.12rem);line-height:1.7;text-wrap:pretty }
.home-gallery-all-link { flex:0 0 auto;gap:.65rem;min-height:48px;padding:.8rem 1.1rem;border-radius:999px;color:#fff;background:#c2410c;font-weight:750;box-shadow:0 9px 24px rgba(194,65,12,.2) }
.home-gallery-all-link:hover { color:#fff;background:#9a3412 }
.home-gallery-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;align-items:stretch }
.home-gallery-card { min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(120,53,15,.1);border-radius:1.25rem;background:#fff;box-shadow:0 12px 30px rgba(69,26,3,.08);transition:transform .22s ease,box-shadow .22s ease }
.home-gallery-media { position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#ffedd5 }
.home-gallery-media::after { content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(28,25,23,.58));pointer-events:none }
.home-gallery-media img { width:100%;height:100%;display:block;object-fit:cover;transition:transform .45s ease }
.home-gallery-view-pill { position:absolute;z-index:1;right:.75rem;bottom:.75rem;display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .65rem;border-radius:999px;color:#fff;background:rgba(28,25,23,.78);font-size:.72rem;font-weight:750;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px) }
.home-gallery-card-body { flex:1;display:flex;flex-direction:column;padding:1rem }
.home-gallery-category { color:#c2410c;font-size:.68rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase }
.home-gallery-card h3 { margin:.35rem 0 0;color:#1c1917;font:700 1.15rem/1.25 "Playfair Display",serif;overflow-wrap:anywhere }
.home-gallery-card-body > p { display:-webkit-box;margin:.55rem 0 1rem;color:#6b625e;font-size:.86rem;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden }
.home-gallery-card-actions { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;margin-top:auto }
.home-gallery-view-action,.home-gallery-order-action { min-width:0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .65rem;border-radius:.75rem;font-size:.78rem;font-weight:750;text-align:center;overflow-wrap:anywhere }
.home-gallery-view-action { color:#9a3412;background:#fff7ed;box-shadow:inset 0 0 0 1px rgba(194,65,12,.12) }
.home-gallery-view-action:hover { color:#7c2d12;background:#ffedd5 }
.home-gallery-order-action { border:0;color:#fff;background:#c2410c;cursor:pointer }
.home-gallery-order-action:hover { background:#9a3412 }
@media (hover:hover) and (pointer:fine) {
  .home-gallery-card:hover { transform:translateY(-4px);box-shadow:0 18px 38px rgba(69,26,3,.13) }
  .home-gallery-card:hover .home-gallery-media img { transform:scale(1.05) }
}
.menu-item-description { display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;overflow:hidden }
.menu-item-description > :first-child { margin-top:0 }
.menu-item-description > :last-child { margin-bottom:0 }
@media (hover:hover) and (pointer:fine) { .summary-card:hover { transform:translateY(-3px);box-shadow:0 18px 36px rgba(17,24,39,.1) } }
.social-link { width:2.25rem;height:2.25rem;border-radius:9999px;background:#1f2937;display:flex;align-items:center;justify-content:center;color:#9ca3af;transition:.25s }
.social-link:hover { background:#ea580c;color:white }
.form-input { width:100%;min-height:44px;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;background:#f9fafb;outline:none }
.form-input:focus { border-color:#f97316;box-shadow:0 0 0 2px rgba(249,115,22,.18);background:white }
label { display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.25rem }
.chat-bubble { max-width:88%;padding:.65rem .85rem;border-radius:1rem;font-size:.875rem;line-height:1.45 }
.chat-bubble.bot { background:white;border:1px solid #e5e7eb;color:#374151;border-bottom-left-radius:.25rem }
.chat-bubble.user { background:#ea580c;color:white;margin-left:auto;border-bottom-right-radius:.25rem }
[data-live-key] { transition:outline-color .2s,background-color .2s }
body.precil-live-edit [data-live-key] { outline:2px dashed #f97316;outline-offset:4px;cursor:text;background:rgba(255,247,237,.16) }
.live-edit-toolbar { position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:150;background:#111827;color:#fff;border-radius:9999px;padding:.65rem 1rem;box-shadow:0 15px 40px rgba(0,0,0,.3);display:flex;align-items:center;gap:.75rem;font:600 13px Inter,sans-serif }
.live-edit-status { min-width:3.5rem;text-align:center;color:#d1d5db }
.live-edit-status[data-state="saved"] { color:#86efac }
.live-edit-status[data-state="error"] { color:#fca5a5 }
.order-trigger,.public-cta,.filter-btn { min-height:44px;display:inline-flex;align-items:center;justify-content:center }
.order-trigger { max-width:100%;overflow-wrap:anywhere }
#order-modal > .relative { width:min(100% - 2rem,36rem);margin-inline:auto }
@media (max-width: 767px) {
  .hero-pattern { min-height:calc(100svh - 5rem);height:auto;background-attachment:scroll;padding-block:3rem }
  .live-edit-toolbar { width:calc(100% - 2rem);justify-content:center }
  .precil-live-edit .jodit-popup { position:fixed!important;left:max(.5rem,env(safe-area-inset-left,0px))!important;right:max(.5rem,env(safe-area-inset-right,0px))!important;width:auto!important;min-width:0!important;max-width:none!important;transform:none!important }
  .precil-live-edit .jodit-popup__content { width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important }
  #navbar button,#mobile-menu a,footer a,footer button,.social-link,#chatbot-toggle,#chatbot-form button { min-width:44px;min-height:44px }
  footer li a,footer .border-t a { display:inline-flex;align-items:center }
  #chatbot-form input,.js-api-form input,.js-api-form select { min-width:0;min-height:44px }
  [data-order-close] { min-width:44px;min-height:44px }
  .social-link { width:44px;height:44px }
  .menu-filter-bar { flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;margin-inline:-1rem;padding-inline:1rem;padding-bottom:.5rem;scrollbar-width:thin }
  .filter-btn { flex:0 0 auto }
  #chatbot-panel { max-width:calc(100vw - 2rem) }
  .home-gallery-heading { align-items:flex-start;flex-direction:column;gap:1.2rem }
  .home-gallery-all-link { width:100% }
  .home-gallery-grid { display:flex;gap:.9rem;margin-inline:-1rem;padding:0 1rem .75rem;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch }
  .home-gallery-card { flex:0 0 min(84vw,21rem);scroll-snap-align:start }
}
@media (min-width:768px) and (max-width:1023px) {
  .home-gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)) }
}
@media (min-width:1024px) {
  .site-logo-link { max-width:14rem }
  .site-logo-frame { width:3.7rem;height:3.7rem;border-radius:16px }
  .site-logo-image { border-radius:11px }
}
@media (min-width:1280px) {
  .site-brand-copy { display:block }
}
@media (max-width:360px) {
  .site-mobile-gallery-shortcut { display:none }
  .site-mobile-menu-actions { grid-template-columns:1fr }
  .site-mobile-whatsapp span { display:inline }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto }
  *,*::before,*::after { animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important }
}
