/* Lambdin Masonry - static site. Look based on the original Twenty Seventeen (light) theme. No JavaScript. */
:root{
  --text:#333; --heading:#222; --muted:#666; --nav-current:#767676; --line:#eee; --bg:#fff;
  --font:"Libre Franklin","Helvetica Neue",helvetica,arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;font-weight:400;line-height:1.66}
img{max-width:100%;height:auto;display:block}
a{color:var(--heading);text-decoration:none}
.wrap{max-width:1000px;margin:0 auto;padding:0 2em}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:1em;top:1em;background:#fff;padding:.5em 1em;z-index:100}

/* Header */
.custom-header{position:relative;background-size:cover;background-position:center;min-height:320px;display:flex;align-items:flex-end}
.custom-header::before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.3) 75%,rgba(0,0,0,.3) 100%)}
.home .custom-header{min-height:420px}
.site-branding{position:relative;z-index:1;width:100%;padding-top:2.5em;padding-bottom:2em}
.custom-logo{width:100px;height:100px;object-fit:cover;background:#fff;margin-bottom:.75em}
.site-title{margin:0;font-size:36px;font-weight:800;line-height:1.25;letter-spacing:.08em;text-transform:uppercase}
.site-title a{color:#fff}
.site-description{margin:.25em 0 0;color:#fff;font-size:18px;line-height:1.5;max-width:60em}

/* Navigation */
.navigation-top{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:16px;font-weight:600}
.navigation-top .wrap{position:relative;display:flex;align-items:center}
.menu{list-style:none;margin:0;padding:.75em 0;display:flex;flex-wrap:wrap;flex:1}
.menu a{display:block;padding:.9em 1.5em .9em 0;color:var(--heading);transition:color .2s}
.menu li:first-child a{padding-left:0}
.menu a:hover,.menu a[aria-current]{color:var(--nav-current)}
.menu li:last-child a{text-transform:uppercase}
.menu-scroll-down{color:var(--nav-current);font-size:22px;padding:0 .25em}
.menu-toggle,.menu-toggle-cb{display:none}

/* Content */
.site-content{padding:4em 0 2em}
.entry{max-width:740px}
.entry-title{color:var(--heading);font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 3em;line-height:1.5}
.entry-content h2{color:var(--muted);font-size:26px;font-weight:300;line-height:1.4;margin:1.6em 0 .75em}
.entry-content h2:first-child{margin-top:0}
.entry-content h2 a{color:inherit}
.entry-content p{margin:0 0 1.5em}
.entry-content ul,.entry-content ol{margin:0 0 1.5em;padding-left:1.5em}
.entry-content strong{font-weight:700}
.entry-content a{box-shadow:inset 0 -1px 0 rgba(15,15,15,1);transition:box-shadow .15s}
.entry-content a:hover{box-shadow:inset 0 -2px 0 rgba(15,15,15,1)}
.entry-content a.thumb,.entry-content .lightbox a,.entry-content a.button{box-shadow:none}
.columns{columns:3;column-gap:2em}
.suppliers{columns:2;column-gap:2em}
.small{font-size:14px;color:var(--muted)}

/* Slider (CSS only) */
.slider{margin:2.5em 0}
.slider input{position:absolute;opacity:0;pointer-events:none}
.slides{position:relative;aspect-ratio:1/1;background:#f5f5f5;overflow:hidden}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .5s}
.slide img{width:100%;height:100%;object-fit:cover}
.thumbs{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;margin-top:4px}
.thumbs label{cursor:pointer;border:3px solid transparent;opacity:.75;aspect-ratio:1/1;overflow:hidden}
.thumbs img{width:100%;height:100%;object-fit:cover}
.dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
.dots label{width:11px;height:11px;border:1.5px solid #000;border-radius:50%;cursor:pointer}

/* Before / after pairs */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:2em;margin:0 0 2em;align-items:start}
.pair.single{grid-template-columns:1fr;max-width:50%}
.wp-caption{margin:0}
.wp-caption img{width:100%}
.wp-caption figcaption{font-style:italic;font-size:14px;color:var(--muted);margin-top:.6em}

/* Galleries + CSS lightbox */
.gallery{--cols:4;display:grid;grid-template-columns:repeat(var(--cols),1fr);gap:10px;margin:1.5em 0 2.5em}
.gallery .thumb{display:block;aspect-ratio:3/4;overflow:hidden;background:#f5f5f5}
.gallery[style*="--cols:3"] .thumb{aspect-ratio:4/5}
.gallery .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.gallery .thumb:hover img{transform:scale(1.04)}
.lightbox{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.9);align-items:center;justify-content:center;padding:3em 1em}
.lightbox:target{display:flex}
.lb-close-bg{position:absolute;inset:0}
.lightbox figure{position:relative;margin:0;max-width:100%;max-height:100%;pointer-events:none}
.lightbox img{max-height:calc(100vh - 8em);max-width:100%;width:auto;margin:0 auto}
.lightbox figcaption{color:#ddd;text-align:center;font-size:14px;margin-top:.5em}
.lb-close,.lb-prev,.lb-next{position:absolute;color:#fff;font-size:44px;line-height:1;padding:.2em .4em;z-index:2}
.lb-close{top:.2em;right:.3em}
.lb-prev{left:.2em;top:50%;transform:translateY(-50%)}
.lb-next{right:.2em;top:50%;transform:translateY(-50%)}

/* Contact card, buttons, FAQ */
.entry-content .banner{background:#000;margin:0 0 2em;padding:1.4em 1.5em}
.entry-content .banner a{color:#fff;font-size:24px;box-shadow:none;display:block;text-align:center}
.contact-card{border:1px solid var(--line);padding:1.5em 1.5em .25em;margin:0 0 2em;background:#fafafa}
.contact-card p{margin:0 0 1em}
.button{display:inline-block;background:#222;color:#fff!important;font-weight:800;font-size:14px;letter-spacing:.05em;padding:.8em 1.4em;margin:0 .5em .5em 0;border-radius:2px}
.button:hover{background:#767676}
.faq details{border-top:1px solid var(--line);padding:.9em 0}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;font-weight:600;color:var(--heading)}
.faq details p{margin:.75em 0 0}

/* Footer */
.site-footer{border-top:1px solid var(--line);margin-top:2em;font-size:14px}
.footer-widgets{display:grid;grid-template-columns:1fr 1fr;gap:3em;padding-top:3em;padding-bottom:1em}
.widget-title{color:var(--heading);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin:0 0 1.5em}
.widget ul{list-style:none;margin:0;padding:0}
.widget li{border-top:1px solid var(--line);padding:.5em 0}
.widget li:last-child{border-bottom:1px solid var(--line)}
.widget a{box-shadow:inset 0 -1px 0 rgba(15,15,15,1)}
.widget .social{display:flex;gap:.5em;margin-top:1em}
.widget .social li{border:0;padding:0}
.widget .social a{display:inline-block;background:#767676;color:#fff;box-shadow:none;border-radius:40px;padding:.45em 1.1em;font-weight:600}
.widget .social a:hover{background:#333}
.site-info{padding-top:1.5em;padding-bottom:2em;color:var(--muted)}

/* Responsive */
@media (max-width:767px){
  .wrap{padding:0 1em}
  .custom-header,.home .custom-header{min-height:260px}
  .site-title{font-size:24px}
  .site-description{font-size:14px}
  .custom-logo{width:72px;height:72px}
  .menu-toggle{display:block;padding:1em 0;cursor:pointer;flex:1}
  .menu{display:none;flex-direction:column;flex-basis:100%;padding:0 0 1em}
  .navigation-top .wrap{flex-wrap:wrap}
  .menu-toggle-cb:checked~.menu{display:flex}
  .menu a{padding:.6em 0;border-top:1px solid var(--line)}
  .menu-scroll-down{display:none}
  .site-content{padding-top:2em}
  .entry-title{margin-bottom:2em}
  .entry-content h2{font-size:22px}
  .gallery,.gallery[style]{--cols:3}
  .entry-content .banner a{font-size:18px}
  .thumbs{grid-template-columns:repeat(4,1fr)}
  .pair{gap:1em}
  .pair.single{max-width:100%}
  .columns{columns:2}
  .suppliers{columns:1}
  .footer-widgets{grid-template-columns:1fr;gap:2em}
}
@media (max-width:420px){.gallery,.gallery[style]{--cols:2}}
a[href^="tel:"]{white-space:nowrap}
