:root{--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--site-max:1200px;--soft:#e9e9e9;--border:#000;--ink:#111;--sale:#8b0000;--home:#000;--focus-ring:rgba(0,0,0,.25)}
html,body{height:100%;caret-color: transparent;}
body{-webkit-text-size-adjust:100%;text-rendering:geometricPrecision;-webkit-font-smoothing:antialiased;margin:0;background:#fff;color:var(--ink);font-family:var(--bs-font-sans-serif);font-size:16px;line-height:1.5;overflow-x:hidden;overflow-y:scroll}
input, textarea { caret-color: auto; }

section{background:#fff}
.block{margin-top:50px}
.band{margin-top:80px;padding:0}
.pad{width:100%;margin-top:80px;margin-left:auto;margin-right:auto}

.site-root{width:100%}
.site{width:100%;max-width:var(--site-max);margin:0 auto}

.top-sale{font-size:30px;line-height:2em;color:var(--sale);font-weight:700;text-align:center;margin:10px 0 2px}
.top-line{font-size:29px;line-height:normal;text-align:center;margin:0;color:#111;font-weight:700}
.top-line a{color:inherit;text-decoration:none}

.nav-box{width:94%;margin:10px auto 0;border:1px solid var(--border);display:flex;align-items:stretch;height:60px;background:#fff;position:relative;z-index:10;}
.nav-spacer{height:0}

body.nav-fixed .nav-box{
  position:fixed;
  top:0;
  left:50%;
  transform:translateX(-50%);
  margin:0;
  z-index:1100;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

@media (max-width:991.98px){
  body.nav-fixed .nav-box{
    width:100%;
    left:0;
    transform:none;
  }
}

.nav-box a{-webkit-tap-highlight-color:transparent;flex:1 1 0;display:flex;align-items:center;justify-content:center;font-size:18px;color:#111;text-decoration:none;border-right:1px solid var(--border);line-height:1.1;padding:0 10px;user-select:none;white-space:nowrap;transition:box-shadow .15s ease,color .15s ease}
.nav-box a:last-child{border-right:0}
.nav-box a.active{color:var(--home)}
.nav-box a:focus-visible{outline:0;box-shadow:inset 0 0 0 3px var(--focus-ring)}

.hero-title{font-size:30px;line-height:1em;margin:0;text-align:center;font-weight:700}
.hero-sub{font-size:23px;line-height:1.15;margin:12px 0 0;text-align:center;font-weight:700;letter-spacing:.02em}
.hero-sub .meta{display:block;font-size:21px;font-weight:700;line-height:1.25;margin-top:8px;letter-spacing:.01em}

.hero-list{margin:20px auto 0;width:86%;text-align:left;font-size:18px;line-height:1.45;list-style:disc;padding-left:22px}
.hero-list li{margin:0 0 10px}

.btn-contact{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;min-width:140px;margin-top:16px;}

.sec-title{font-size:50px;line-height:normal;margin:0 0 14px;color:#111;font-weight:700}
.sec-title.right{text-align:right}
.sec-title.left{text-align:left}
.sec-title.center{text-align:center}

.sec-body{font-size:18px;line-height:1.5em;margin:0 0 1em;color:#222;font-weight:400}
.sec-body:last-child{margin-bottom:0}
.sec-body.small{font-size:17px;line-height:normal;margin:0 0 1em}
.sec-body.small:last-child{margin-bottom:0}

.text-col{padding:26px 34px}

.invalid-feedback{font-size: 16px;}

.form-control {border: var(--bs-border-width) solid #65686b;}

.ratio-box{width:100%;background:#ddd;overflow:hidden}
.ratio-box img{width:100%;height:100%;object-position:center top;display:block}

.footer-strip{background:#fff;margin-top:50px}
.footer-inner{width:100%;margin:0 auto;border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:0}
.footer-cell{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 0}
.footer-cell:nth-child(2n){border-right:0}
.footer-cell:nth-last-child(-n+2){border-bottom:0}

.container.container-flush{padding-left:0;padding-right:0}

.footer-strip a{color:inherit;text-decoration:none;display:inline-block}
.footer-strip a:hover{text-decoration:underline}
.footer-strip a:focus-visible{outline:0;box-shadow:0 0 0 .25rem var(--focus-ring);border-radius:2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

.foot-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-bottom:30px;color:#111;line-height:0;vertical-align:middle}
.foot-icon svg{width:30px;height:30px;display:block}
.foot-title{font-size:18px;text-align:center;margin:0 0 6px;font-weight:700}
.foot-text{overflow-wrap:anywhere;word-break:break-word;font-size:17px;text-align:center;margin:0;color:#222;line-height:1.3}
.whatsapp{color:var(--bs-success)}
.phone{color:var(--bs-danger)}
.copy{margin:10px auto;padding:20px;text-align:center;font-size:13px;color:#777}

/* page-specific blocks */
.gallery-grid{padding:0}
.gallery-item{position:relative;display:block;width:100%;border:1px solid rgba(0,0,0,.12);background:#f2f2f2;overflow:hidden;text-decoration:none;color:inherit}
.gallery-item:focus-visible{outline:0;box-shadow:0 0 0 .25rem var(--focus-ring)}
.gallery-thumb{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1);transition:transform .15s ease}
.gallery-item:hover .gallery-thumb{transform:scale(1.02)}
.gallery-cap{position:absolute;left:0;right:0;bottom:0;padding:.55rem .75rem;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.68) 100%);color:#fff;font-weight:600;font-size:.95rem;line-height:1.2}
.modal-img{width:100%;height:auto;display:block;background:#111}
.modal-caption{font-size:.95rem;line-height:1.35;color:#ddd;margin:.75rem 0 0}
.gallery-actions .btn{padding-top:.95rem;padding-bottom:.95rem}
.gallery-actions .btn .bi{vertical-align:-0.125em}
.rotate{rotate:90deg;}
/* about */
.about-hero{background:#fff}
.about-h1{font-weight:900;font-size:50px;line-height:1.05;margin:0;text-align:center;color:#111}
.about-h2{padding: 0 16px;font-weight:900;font-size:44px;line-height:1.1;margin:0;color:#111}
.about-h2.center{text-align:center}
.about-hr{height:1px;background:rgba(0,0,0,.18);width:100%;margin:18px 0 22px;border:0}
.about-card{background:#fff;padding:18px 16px}
.about-card-title{font-size:20px;font-weight:900;margin:0 0 10px;color:#111;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.about-list,.about-list li,.about-list li::marker{color:#222!important}
.about-list{margin:0;padding-left:18px;font-size:17px;line-height:1.55}
.about-list li{margin:0 0 6px}
.about-list li:last-child{margin-bottom:0}
.about-img{display:block;margin:auto;padding: 0 16px;max-width:300px;width:100%;height:auto;}
.about-highlight{background:#fff;padding:18px 16px}
.about-highlight h3{font-size:28px;line-height:1.1;margin:0 0 10px;font-weight:900;color:#111}
.about-highlight p{margin:0 0 14px;color:#222}

.hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}

/* media queries */
@media (min-width:992px){
  .footer-cell{border-bottom:0}
  .footer-cell:nth-child(2n){border-right:1px solid var(--border)}
  .footer-cell:last-child{border-right:0}
}
@media (max-width:991.98px){
  .pad,.nav-box,.footer-inner,.copy{width:100%}
  .text-col{padding:18px 16px}
  .sec-title{font-size:40px}
  .sec-title.right,.sec-title.center{text-align:center}
  .sec-body{font-size:16px}
  .hero-list{width:92%;font-size:16px;line-height:1.5}
  .top-sale{font-size:24px}
  .top-line{font-size:22px}
  .hero-sub{font-size:21px}
  .hero-sub .meta{font-size:19px}
  .about-h1{font-size:40px}
  .about-h2{font-size:36px}
}
@media (max-width:575.98px){
  .nav-box a{font-size:16px}
  .sec-title{font-size:34px}
  .btn-contact{font-size:15px;padding:10px 20px}
  .hero-sub{font-size:20px}
  .hero-sub .meta{font-size:18px}
  .hero-list{padding-left:20px}
}

.footer-strip a {display: inline-flex;align-items: center;gap: .35rem;color: #0b5ed7;text-decoration: underline;text-decoration-thickness: 2px;text-underline-offset: 3px;font-weight: 700;padding: 6px 10px;border-radius: 8px;transition: background-color .12s ease, color .12s ease, transform .08s ease;}
.footer-strip a:hover {color: #084298;background: rgba(11, 94, 215, .10);}
.footer-strip a:active {transform: translateY(1px);}
.footer-strip a:focus-visible {outline: 0;box-shadow: 0 0 0 .25rem rgba(11, 94, 215, .25);}

/* Optional: add a small external/arrow cue for tel/mail/whatsapp links */
.footer-strip a[href^="tel:"],.footer-strip a[href^="mailto:"],.footer-strip a[href*="wa.me"],.footer-strip a[href*="whatsapp"] {text-decoration-style: solid;}

.footer-strip a[href^="tel:"]::after { content: "↗"; font-weight: 800; }
.footer-strip a[href^="mailto:"]::after { content: "↗"; font-weight: 800; }
.footer-strip a[href*="wa.me"]::after,
.footer-strip a[href*="whatsapp"]::after { content: "↗"; font-weight: 800; }

/* If your footer has big “cells”, make the whole cell feel clickable on hover when it contains a link */
.footer-cell:has(a):hover {
  background: rgba(0,0,0,.03);
}

/* On touch devices, add a stronger tap feedback */
@media (hover: none) and (pointer: coarse) {
  .footer-strip a:active {
    background: rgba(11, 94, 215, .16);
  }
}

.nav-box a{position:relative;cursor:pointer;font-weight:400;text-decoration:none;text-decoration-thickness:2px;text-decoration-color:rgba(0,0,0,.35);background:#fff;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease,transform .08s ease;}
.nav-box a:hover{background:rgba(0,0,0,.06);text-decoration-color:rgba(0,0,0,.75);}
.nav-box a:active{background:rgba(0,0,0,.10);transform:translateY(1px);}
.nav-box a.active{background:rgba(0,0,0,.08);text-decoration-color:#000;}
.nav-box a:focus-visible{outline:0;box-shadow:inset 0 0 0 3px var(--focus-ring), 0 0 0 .25rem rgba(0,0,0,.12);}

@media (hover:none) and (pointer:coarse){
  .nav-box a{ text-decoration-thickness:3px; }
  .nav-box a:active{ background:rgba(0,0,0,.14); }
}