:root{--cream:#f6efe6;--cream2:#efe2d4;--ink:#22201d;--brown:#7b5032;--brown2:#b08155;--muted:#74695f;--dark:#211a16;--white:#fff;--line:rgba(34,32,29,.13);--shadow:0 18px 50px rgba(34,32,29,.14);--container:min(1180px, calc(100% - 42px));}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.62}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}svg{width:1em;height:1em;display:block}.container{width:var(--container);margin-inline:auto}.sprite{position:absolute}.header{position:sticky;top:0;z-index:50;background:rgba(246,239,230,.92);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding:10px clamp(14px,3vw,32px)}.logo{justify-self:center}.logo img{width:min(390px,40vw);height:auto}.top-contact{justify-self:start;display:flex;align-items:center;gap:7px;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--brown)}.nav{grid-column:1/-1;justify-self:center;display:flex;gap:24px;align-items:center;font-size:.74rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.nav a{padding:4px 0;border-bottom:1px solid transparent}.nav a:hover{color:var(--ink);border-color:var(--brown)}.nav-toggle{display:none;justify-self:end;border:0;background:transparent;padding:8px;cursor:pointer}.nav-toggle span{display:block;width:25px;height:2px;background:var(--ink);border-radius:99px;margin:5px 0}.hero{min-height:720px;display:grid;grid-template-columns:1fr 1fr;background:var(--cream);border-bottom:1px solid var(--line)}.hero-image{min-height:720px;position:relative;overflow:hidden}.hero-image img{width:100%;height:100%;object-fit:cover}.hero-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:70px clamp(28px,7vw,110px);background:linear-gradient(135deg,var(--cream) 0%,#f9f4ed 100%)}.kicker{margin:0 0 20px;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;font-weight:900;color:var(--brown)}.hero h1,.welcome h2,.section-title h2,.local h2,.faq h2,.contact-panel h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;line-height:1.02}.hero h1{font-size:clamp(3.1rem,6vw,6.7rem);margin:0 0 26px;max-width:9ch}.hero-text>p:not(.kicker){font-size:1.13rem;color:var(--muted);max-width:620px;margin:0}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.btn{display:inline-flex;align-items:center;gap:10px;justify-content:center;border:1px solid var(--ink);padding:14px 24px;border-radius:0;background:var(--ink);color:var(--cream);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;transition:.25s ease}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.btn-light{background:transparent;color:var(--ink)}.btn.dark{background:var(--dark);border-color:var(--dark);color:var(--cream)}.category-strip{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}.category-card{position:relative;min-height:420px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;text-align:center;padding:36px 18px;border-right:1px solid rgba(255,255,255,.25)}.category-card:last-child{border-right:0}.category-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:transform .5s ease}.category-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.66));z-index:1}.category-card span,.category-card strong,.category-card em{position:relative;z-index:2}.category-card span{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;margin-bottom:6px}.category-card strong{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2rem,3vw,3.2rem);font-weight:400;line-height:1.05}.category-card em{margin-top:18px;font-style:normal;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;border-bottom:1px solid #fff;padding-bottom:4px}.category-card:hover img{transform:scale(1.06)}.section{padding:96px 0}.welcome-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:70px;align-items:center}.welcome-photo{position:relative}.welcome-photo::before{content:"";position:absolute;inset:28px -28px -28px 28px;border:1px solid var(--brown2);z-index:-1}.welcome-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}.welcome-copy h2{font-size:clamp(2.4rem,5vw,5.4rem);margin:0 0 26px;max-width:10ch}.welcome-copy p{color:var(--muted);margin:0 0 18px}.welcome-copy .large{font-size:1.35rem;color:var(--ink)}.text-link{display:inline-block;margin-top:14px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.78rem;color:var(--brown);border-bottom:1px solid var(--brown);padding-bottom:6px}.services-detail{background:#fbf7f1;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-title{max-width:790px;margin-bottom:38px}.section-title.centered{text-align:center;margin-inline:auto}.section-title h2{font-size:clamp(2.4rem,5vw,5.4rem);margin:0}.section-title p:not(.kicker){color:var(--muted);font-size:1.05rem;max-width:720px;margin:16px auto 0}.service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.service-row{display:grid;grid-template-columns:70px 1fr;gap:24px;padding:34px;background:var(--cream)}.service-icon{width:58px;height:58px;border:1px solid var(--brown2);display:grid;place-items:center;color:var(--brown);font-size:1.6rem}.service-row h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400;margin:0 0 8px}.service-row p{margin:0;color:var(--muted)}.local{background:var(--dark);color:var(--cream);padding:88px 0}.local-wrap{text-align:center;max-width:930px}.local h2{font-size:clamp(2.4rem,5vw,5.4rem);margin:0 0 22px}.local p:not(.kicker){color:#dccbbd;font-size:1.1rem;margin:0}.local strong{color:#fff}.gallery-section{background:var(--cream)}.gallery{columns:4 230px;column-gap:18px}.gallery-item{display:block;margin-bottom:18px;break-inside:avoid;overflow:hidden;background:#ddd;position:relative}.gallery-item::after{content:"";position:absolute;inset:0;border:0 solid rgba(255,255,255,.7);transition:.25s ease}.gallery-item:hover::after{border-width:10px}.gallery-item img{width:100%;height:auto;transition:transform .45s ease}.gallery-item:hover img{transform:scale(1.04)}.faq{background:#fbf7f1;border-top:1px solid var(--line)}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:58px;align-items:start}.faq h2{font-size:clamp(2.3rem,4vw,4.5rem);margin:0}.faq-items{display:grid;gap:12px}details{background:var(--cream);border:1px solid var(--line);padding:0 24px}summary{list-style:none;cursor:pointer;font-weight:900;padding:22px 32px 22px 0;position:relative}summary::-webkit-details-marker{display:none}summary::after{content:"+";position:absolute;right:0;color:var(--brown);font-size:1.5rem;top:17px}details[open] summary::after{content:"–"}details p{margin:0 0 22px;color:var(--muted)}.contact-cta{display:grid;grid-template-columns:1fr 1fr;min-height:610px;background:var(--cream);border-top:1px solid var(--line)}.contact-image img{width:100%;height:100%;object-fit:cover}.contact-panel{padding:70px clamp(28px,7vw,100px);display:flex;flex-direction:column;justify-content:center;background:var(--brown);color:#fff}.contact-panel h2{font-size:clamp(2.5rem,5vw,5.2rem);margin:0 0 24px}.contact-panel p:not(.kicker){color:#f3dfcc;font-size:1.08rem;margin:0;max-width:570px}.contact-panel .kicker{color:#f6d9bd}.contact-lines{display:grid;gap:12px;margin:28px 0}.contact-lines a{display:flex;align-items:center;gap:12px;color:#fff;font-weight:800}.contact-lines svg{font-size:1.25rem}.footer{background:#f9f4ed;padding:50px 0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1.2fr .5fr auto;gap:34px;align-items:end}.footer-logo{width:min(460px,100%)}.footer p{color:var(--muted);max-width:640px;margin:16px 0 0}.footer-links{display:grid;gap:8px;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:900;color:var(--muted)}.made-by{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.made-by img{height:28px;width:auto}.float-call{position:fixed;right:18px;bottom:18px;width:58px;height:58px;background:var(--dark);color:var(--cream);display:grid;place-items:center;border-radius:50%;z-index:60;box-shadow:var(--shadow);font-size:1.25rem}.lightbox{position:fixed;inset:0;background:rgba(20,14,10,.88);display:none;align-items:center;justify-content:center;padding:26px;z-index:100}.lightbox.open{display:flex}.lightbox img{max-width:94vw;max-height:90vh;box-shadow:0 26px 80px rgba(0,0,0,.4)}.lightbox button{position:absolute;top:18px;right:18px;border:0;background:var(--cream);color:var(--ink);width:48px;height:48px;font-size:2rem;cursor:pointer}.reveal{opacity:1;transform:none;transition:opacity .55s ease,transform .55s ease}.reveal.in{opacity:1;transform:none}@media(max-width:1050px){.hero,.welcome-grid,.faq-grid,.contact-cta,.footer-grid{grid-template-columns:1fr}.hero-image{min-height:520px;order:-1}.hero{min-height:auto}.hero h1{max-width:12ch}.category-strip{grid-template-columns:repeat(2,1fr)}.service-list{grid-template-columns:1fr}.footer-grid{align-items:start}}@media(max-width:780px){.header{grid-template-columns:1fr auto;gap:12px;padding:10px 14px}.top-contact{display:none}.logo{justify-self:start}.logo img{width:min(260px,62vw)}.nav-toggle{display:block}.nav{grid-column:1/-1;display:none;justify-self:stretch;gap:0;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line);padding-top:8px}.nav.open{display:flex}.nav a{padding:12px 0;width:100%}.hero-text{padding:46px 22px}.hero-image{min-height:420px}.hero h1{font-size:clamp(2.8rem,13vw,4.4rem)}.hero-buttons .btn{width:100%}.category-strip{grid-template-columns:1fr}.category-card{min-height:320px}.section{padding:68px 0}.welcome-grid{gap:42px}.welcome-photo::before{display:none}.service-row{grid-template-columns:1fr;padding:28px}.gallery{columns:2 150px;column-gap:10px}.gallery-item{margin-bottom:10px}.contact-panel{padding:54px 22px}.float-call{width:54px;height:54px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.reveal{opacity:1;transform:none}}
.top-side{justify-self:start;display:flex;align-items:center;gap:10px}
.social-link{display:inline-grid;place-items:center;width:32px;height:32px;border:1px solid var(--brown2);color:var(--brown);border-radius:50%;transition:.2s ease;background:rgba(255,255,255,.45)}
.social-link:hover{background:var(--brown);color:var(--cream);transform:translateY(-1px)}
.logo{display:flex;flex-direction:column;align-items:center;gap:4px}
.logo-subtitle{font-size:.78rem;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--brown)}
.feature-list{list-style:none;padding:0;margin:10px 0 22px;display:grid;gap:8px}
.feature-list li{position:relative;padding-left:22px;color:var(--ink)}
.feature-list li::before{content:'•';position:absolute;left:0;top:0;color:var(--brown);font-weight:900}
.footer-facebook{color:var(--brown)}
@media(max-width:780px){.top-side{display:none}.logo{align-items:flex-start}.logo-subtitle{font-size:.62rem;letter-spacing:.14em}}

/* Final corrections: smaller header and photo-free service panels */
.header{padding:6px clamp(12px,2.4vw,26px)!important;gap:12px!important}
.logo img{width:min(300px,31vw)!important;max-height:46px!important;object-fit:contain!important}
.logo{gap:1px!important}
.logo-subtitle{font-size:.62rem!important;letter-spacing:.16em!important;line-height:1!important}
.top-contact{font-size:.68rem!important;letter-spacing:.06em!important}
.social-link{width:27px!important;height:27px!important;font-size:.82rem!important}
.nav{gap:18px!important;font-size:.66rem!important;letter-spacing:.13em!important;margin-top:0!important}
.nav a{padding:2px 0!important}
.nav-toggle{padding:4px!important}
.nav-toggle span{width:22px!important;margin:4px 0!important}
.category-strip{background:#f6efe6;gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.category-card.no-photo{min-height:260px;color:var(--ink);background:linear-gradient(180deg,#fbf7f1,#efe2d4);border-right:1px solid var(--line);padding:34px 22px;justify-content:center;gap:10px;transition:.25s ease}
.category-card.no-photo:nth-child(even){background:linear-gradient(180deg,#f8f0e7,#eadbca)}
.category-card.no-photo::after{display:none!important}
.category-card.no-photo:hover{background:#fff8ef;transform:translateY(-2px);box-shadow:0 16px 38px rgba(34,32,29,.10);z-index:2}
.category-card.no-photo .category-icon{position:relative;z-index:2;width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--brown2);border-radius:50%;color:var(--brown);margin-bottom:10px;background:rgba(255,255,255,.38)}
.category-card.no-photo .category-icon svg{width:28px;height:28px}
.category-card.no-photo span:not(.category-icon),.category-card.no-photo strong,.category-card.no-photo em{color:inherit;text-shadow:none}
.category-card.no-photo span:not(.category-icon){font-size:.68rem;letter-spacing:.14em;color:var(--brown);max-width:230px;line-height:1.4}
.category-card.no-photo strong{font-size:clamp(1.9rem,2.7vw,2.85rem);color:var(--ink)}
.category-card.no-photo em{font-size:.68rem;color:var(--muted);border-bottom:1px solid var(--brown2);margin-top:8px;letter-spacing:.12em}
@media(max-width:780px){
  .header{padding:7px 12px!important}
  .logo img{width:min(230px,58vw)!important;max-height:38px!important}
  .logo-subtitle{font-size:.55rem!important}
  .nav{gap:0!important;font-size:.72rem!important}
  .category-card.no-photo{min-height:220px;padding:28px 18px}
}

/* SEO local sections */
.seo-local{background:#fbf7f1;border-bottom:1px solid var(--line);padding:72px 0}
.seo-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;align-items:start}
.seo-copy h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(2.2rem,4.4vw,4.5rem);line-height:1.04;margin:0 0 20px;letter-spacing:-.025em}
.seo-copy p{color:var(--muted);font-size:1.06rem;margin:0 0 16px}
.seo-panel{background:var(--cream);border:1px solid var(--line);padding:28px;box-shadow:var(--shadow)}
.seo-panel h3,.seo-services-extra h3{font-family:Georgia,'Times New Roman',serif;font-size:2rem;font-weight:400;margin:0 0 18px}
.seo-panel ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:8px}
.seo-services-extra{margin-top:30px;background:var(--cream);border:1px solid var(--line);padding:28px}
.seo-service-tags{display:flex;flex-wrap:wrap;gap:10px}
.seo-service-tags span{border:1px solid var(--brown2);color:var(--brown);padding:8px 12px;font-weight:800;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;background:rgba(255,255,255,.45)}
@media(max-width:900px){.seo-grid{grid-template-columns:1fr}.seo-local{padding:56px 0}}


/* Gallery slider update */
.gallery-shell{display:block}
.gallery-hint{margin:14px 0 20px;text-align:center;color:var(--muted);font-size:.98rem}
.gallery-controls{display:flex;justify-content:flex-end;gap:10px;margin-bottom:14px}
.gallery-nav{width:48px;height:48px;border:1px solid var(--brown2);background:rgba(255,255,255,.58);color:var(--brown);display:grid;place-items:center;cursor:pointer;transition:.22s ease}
.gallery-nav:hover{background:var(--brown);color:var(--cream);transform:translateY(-1px)}
.gallery-nav:disabled{opacity:.35;cursor:not-allowed;transform:none;background:rgba(255,255,255,.5);color:var(--brown)}
.gallery-prev svg{transform:rotate(180deg)}
.gallery-viewport{overflow:hidden}
.gallery-track{display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:none}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-item{flex:0 0 calc((100% - 54px)/4);min-width:0;display:block;scroll-snap-align:start;overflow:hidden;background:#e2ddd6;position:relative;border:1px solid var(--line);box-shadow:0 12px 28px rgba(34,32,29,.08)}
.gallery-item::after{content:"";position:absolute;inset:0;border:0 solid rgba(255,255,255,.75);transition:.25s ease}
.gallery-item:hover::after{border-width:10px}
.gallery-item img{width:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .45s ease}
.gallery-item:hover img{transform:scale(1.04)}
@media(max-width:1050px){.gallery-item{flex-basis:calc((100% - 36px)/3)}}
@media(max-width:780px){.gallery-hint{font-size:.92rem}.gallery-controls{justify-content:center}.gallery-nav{width:44px;height:44px}.gallery-item{flex-basis:calc((100% - 18px)/2)}}
@media(max-width:520px){.gallery-item{flex-basis:100%}}


/* Mobile usability fix: menu, layout, gallery, lightbox */
html, body { max-width: 100%; overflow-x: hidden; }
body.menu-open { overflow: hidden; }
button, a { -webkit-tap-highlight-color: transparent; }
img { height: auto; }
.nav-toggle { touch-action: manipulation; }
.float-call { bottom: max(18px, env(safe-area-inset-bottom)); right: max(16px, env(safe-area-inset-right)); }
.lightbox { padding: max(14px, env(safe-area-inset-top)) 12px max(14px, env(safe-area-inset-bottom)); }
.lightbox img { max-width: 96vw; max-height: 82dvh; object-fit: contain; }
.lightbox button { z-index: 102; }
.lightbox .lightbox-prev,
.lightbox .lightbox-next {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 46px;
  height: 54px;
  border: 1px solid rgba(255,255,255,.35);
  background: rgba(246,239,230,.92);
  color: var(--ink);
  display: grid;
  place-items: center;
  font-size: 1.4rem;
  cursor: pointer;
}
.lightbox .lightbox-prev { left: 12px; }
.lightbox .lightbox-next { right: 12px; }
.lightbox .lightbox-prev svg { transform: rotate(180deg); }
.gallery-track { -webkit-overflow-scrolling: touch; touch-action: pan-x; }
.gallery-nav { touch-action: manipulation; user-select: none; }

@media (max-width: 860px) {
  :root { --container: min(100% - 28px, 1180px); }
  .header {
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: 6px 10px !important;
    min-height: 54px !important;
  }
  .top-side { display: none !important; }
  .logo { justify-self: start !important; align-items: flex-start !important; max-width: calc(100vw - 72px); }
  .logo img { width: min(220px, 60vw) !important; max-height: 42px !important; object-fit: contain !important; }
  .logo-subtitle { font-size: .58rem !important; line-height: 1 !important; letter-spacing: .12em !important; margin-top: 1px !important; }
  .nav-toggle { display: block !important; width: 42px; height: 42px; border-radius: 999px; background: rgba(255,255,255,.52); border: 1px solid var(--line); }
  .nav-toggle span { width: 20px !important; height: 2px !important; margin: 4px auto !important; transition: transform .2s ease, opacity .2s ease; }
  .nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
  .nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
  .nav {
    position: fixed !important;
    top: 58px !important;
    left: 10px !important;
    right: 10px !important;
    z-index: 90 !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0 !important;
    padding: 10px 14px !important;
    max-height: calc(100dvh - 74px) !important;
    overflow-y: auto !important;
    background: rgba(246,239,230,.98) !important;
    border: 1px solid var(--line) !important;
    box-shadow: 0 22px 55px rgba(34,32,29,.18) !important;
    backdrop-filter: blur(18px) !important;
  }
  .nav.open { display: flex !important; }
  .nav a {
    width: 100% !important;
    padding: 13px 4px !important;
    border-bottom: 1px solid var(--line) !important;
    font-size: .78rem !important;
    letter-spacing: .12em !important;
  }
  .nav a:last-child { border-bottom: 0 !important; }
  .hero { display: flex !important; flex-direction: column !important; }
  .hero-image { min-height: 0 !important; height: min(58vh, 430px) !important; order: 0 !important; }
  .hero-image img { width: 100%; height: 100%; object-fit: cover; }
  .hero-text { padding: 34px 18px 40px !important; }
  .hero h1 { font-size: clamp(2.2rem, 11vw, 3.6rem) !important; max-width: 100% !important; line-height: 1.04 !important; margin-bottom: 18px !important; }
  .hero-text > p:not(.kicker) { font-size: 1rem !important; line-height: 1.55 !important; }
  .hero-buttons { width: 100%; gap: 10px !important; margin-top: 24px !important; }
  .btn { width: 100%; min-height: 48px; padding: 13px 18px !important; }
  .category-strip { grid-template-columns: 1fr !important; }
  .category-card { min-height: auto !important; padding: 24px 18px !important; align-items: flex-start !important; text-align: left !important; }
  .category-card strong { font-size: 2rem !important; }
  .section { padding: 56px 0 !important; }
  .welcome-grid,
  .faq-grid,
  .contact-cta,
  .footer-grid { grid-template-columns: 1fr !important; gap: 30px !important; }
  .welcome-copy h2,
  .section-title h2,
  .local h2,
  .faq h2,
  .contact-panel h2 { font-size: clamp(2.05rem, 9vw, 3.35rem) !important; max-width: 100% !important; }
  .welcome-copy .large { font-size: 1.08rem !important; }
  .service-list { grid-template-columns: 1fr !important; }
  .service-row { grid-template-columns: 48px 1fr !important; gap: 14px !important; padding: 22px 18px !important; }
  .service-icon { width: 44px !important; height: 44px !important; font-size: 1.25rem !important; }
  .service-row h3 { font-size: 1.55rem !important; }
  .local { padding: 58px 0 !important; }
  .gallery-controls { justify-content: center !important; gap: 12px !important; margin: 14px 0 18px !important; }
  .gallery-nav { width: 52px !important; height: 52px !important; border-radius: 999px !important; background: var(--ink) !important; color: var(--cream) !important; }
  .gallery-viewport { margin-inline: -14px; padding-inline: 14px; overflow: hidden; }
  .gallery-track { gap: 12px !important; padding-bottom: 16px !important; overflow-x: auto !important; }
  .gallery-item { flex: 0 0 82% !important; margin-bottom: 0 !important; box-shadow: 0 10px 26px rgba(34,32,29,.12) !important; }
  .gallery-item img { aspect-ratio: 4 / 5 !important; height: auto !important; }
  details { padding: 0 16px !important; }
  summary { padding: 18px 30px 18px 0 !important; }
  .contact-image { min-height: 280px; }
  .contact-image img { height: 100%; min-height: 280px; object-fit: cover; }
  .contact-panel { padding: 46px 18px !important; }
  .contact-lines a { align-items: flex-start !important; line-height: 1.3; word-break: break-word; }
  .footer { padding: 38px 0 82px !important; }
  .footer-logo { width: min(300px, 80vw) !important; }
  .made-by { justify-content: flex-start; flex-wrap: wrap; }
}

@media (max-width: 520px) {
  :root { --container: calc(100% - 24px); }
  .header { min-height: 50px !important; }
  .logo img { width: min(198px, 58vw) !important; max-height: 38px !important; }
  .logo-subtitle { font-size: .54rem !important; }
  .nav { top: 54px !important; }
  .hero-image { height: 44vh !important; min-height: 270px !important; }
  .hero-text { padding: 30px 16px 36px !important; }
  .kicker { font-size: .68rem !important; letter-spacing: .15em !important; margin-bottom: 14px !important; }
  .hero h1 { font-size: clamp(2rem, 10.5vw, 3rem) !important; }
  .service-row { grid-template-columns: 1fr !important; }
  .gallery-item { flex-basis: 88% !important; }
  .lightbox { padding: 58px 8px 18px !important; }
  .lightbox img { max-width: 96vw; max-height: 76dvh; }
  .lightbox button { top: 10px !important; right: 10px !important; width: 44px !important; height: 44px !important; }
  .lightbox .lightbox-prev,
  .lightbox .lightbox-next { width: 40px; height: 48px; top: auto; bottom: 18px; transform: none; }
  .lightbox .lightbox-prev { left: calc(50% - 54px); }
  .lightbox .lightbox-next { right: calc(50% - 54px); }
}


/* Reliability fallback: never hide page content when JavaScript is unavailable. */
.reveal{opacity:1!important;transform:none!important}
