:root{--lime:#8bbe0a;--lime-dark:#5f8a00;--lime-soft:#eef6d8;--blue:#2553a2;--blue-dark:#1b3f7d;--ink:#2d3330;--muted:#5f6360;--paper:#fff;--line:#e3e8dc;--radius:6px;--serif:'Playfair Display',Georgia,'Times New Roman',serif;--sans:'Open Sans',Helvetica,Arial,sans-serif;--wrap:1180px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:400 17px/1.7 var(--sans);color:var(--ink);background:#f7f8f5 url(../img/citrus-pattern.jpg) center top/1600px auto repeat}
img,video{max-width:100%;height:auto;display:block}
a{color:var(--blue)}a:hover{color:var(--lime-dark)}
:focus-visible{outline:3px solid var(--lime);outline-offset:2px}
.skip-link{position:absolute;left:-999px;top:0;background:var(--blue);color:#fff;padding:.6em 1em;z-index:100}.skip-link:focus{left:1em;top:1em}
/* Header */
.site-header{text-align:center;padding:28px 16px 0}
.brand-logo{display:inline-block;border-radius:50%}
.brand-logo img{width:clamp(150px,22vw,240px);height:auto;margin:0 auto;filter:drop-shadow(0 6px 14px rgba(60,90,0,.18));transition:transform .3s}
.brand-logo:hover img{transform:rotate(-4deg) scale(1.03)}
.tagline{margin:14px 0 18px;font:italic 700 clamp(22px,3.2vw,36px)/1.2 var(--serif);color:var(--blue);letter-spacing:.04em}
.main-nav{max-width:var(--wrap);margin:0 auto;background:rgba(255,255,255,.92);border-top:3px solid var(--lime);border-bottom:1px solid var(--line);position:relative;z-index:20}
.main-nav .menu{list-style:none;margin:0;padding:0;display:flex;justify-content:center;flex-wrap:wrap}
.main-nav li{position:relative}
.main-nav>.menu>li+li::before{content:"";position:absolute;left:0;top:50%;height:16px;margin-top:-8px;border-left:2px solid var(--lime)}
.main-nav a{display:block;padding:14px 24px;font:600 15px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--blue);text-decoration:none}
.main-nav a:hover,.main-nav .current-menu-item>a,.main-nav .current-menu-ancestor>a,.main-nav .current_page_item>a{color:var(--lime-dark)}
.main-nav .sub-menu,.main-nav .children{list-style:none;margin:0;padding:6px 0;position:absolute;left:50%;top:100%;min-width:220px;transform:translate(-50%,6px);background:#fff;border-top:3px solid var(--lime);box-shadow:0 10px 30px rgba(0,0,0,.12);opacity:0;visibility:hidden;transition:.18s;text-align:left}
.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu,.main-nav li.open>.sub-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}
.main-nav .sub-menu a{padding:10px 20px;font-size:14px;text-transform:none;letter-spacing:.02em}
.main-nav .sub-menu a:hover{background:var(--lime-soft)}
.submenu-toggle{display:none}
.nav-toggle{display:none}
/* Main */
.site-main{max-width:var(--wrap);margin:0 auto 0;background:var(--paper);min-height:40vh;box-shadow:0 1px 0 var(--line)}
.banner{height:clamp(110px,16vw,190px);background:url(../img/limes-banner.jpg) center/cover}
.content{padding:clamp(28px,5vw,56px) clamp(18px,5vw,64px) clamp(36px,6vw,72px)}
.page-title{margin:0 0 .6em;text-align:center;font:italic 700 clamp(30px,4.4vw,46px)/1.15 var(--serif);color:var(--blue)}
.page-title::after{content:"";display:block;width:64px;height:4px;border-radius:4px;background:var(--lime);margin:.45em auto 0}
.entry>*{margin-top:0;margin-bottom:1.1em}
.entry h2,.entry h3{font-family:var(--serif);color:var(--blue);line-height:1.25}
.entry h2{font-size:clamp(24px,3vw,32px);font-style:italic}
.entry .lead{font-size:1.15em;color:var(--muted);max-width:760px;margin-left:auto;margin-right:auto;text-align:center}
.entry .hl{color:var(--lime-dark);font-weight:600}
.entry .lush{font:italic 700 1.6em/1.2 var(--serif);color:var(--lime-dark)}
.ll-button,.entry .wp-block-button__link{display:inline-block;background:var(--lime);color:#fff;border:0;border-radius:40px;padding:.75em 2em;font:600 15px/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .2s}
.ll-button:hover,.entry .wp-block-button__link:hover{background:var(--lime-dark);color:#fff}
.entry .wp-block-buttons{justify-content:center}
/* Galleries */
.entry .wp-block-gallery.has-nested-images{--wp--style--unstable-gallery-gap:14px;gap:14px}
.entry .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image){aspect-ratio:1/1}
.entry .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image img{height:100%;object-fit:cover}
@media (max-width:600px){.entry .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image),.entry .wp-block-gallery.has-nested-images.columns-3 figure.wp-block-image:not(#individual-image),.entry .wp-block-gallery.has-nested-images.columns-5 figure.wp-block-image:not(#individual-image){width:calc(50% - 7px)}}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image{flex-grow:0;border-radius:var(--radius);overflow:hidden;background:#f2f4ef}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image img{transition:transform .45s ease}
.entry .wp-block-gallery figure.wp-block-image a:hover img{transform:scale(1.05)}
.entry .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{font:600 13px/1.35 var(--sans);letter-spacing:.02em;padding:28px 12px 10px;background:linear-gradient(0deg,rgba(20,40,80,.85),rgba(20,40,80,0));text-shadow:none}
@media (hover:hover){.entry .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{opacity:0;transform:translateY(8px);transition:.25s}.entry .wp-block-gallery.has-nested-images figure.wp-block-image:hover figcaption{opacity:1;transform:none}}
.entry .wp-block-gallery a{cursor:zoom-in}
.entry .ll-video-item a::after{content:"\25B6";position:absolute;right:10px;top:10px;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--blue);font-size:12px;display:flex;align-items:center;justify-content:center}
/* Clients logo wall */
.entry .ll-logos.wp-block-gallery.has-nested-images figure.wp-block-image{background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;padding:18px;aspect-ratio:3/2}
.entry .ll-logos.wp-block-gallery.has-nested-images figure.wp-block-image img{object-fit:contain!important;max-height:100%;width:auto;margin:auto;filter:grayscale(1);opacity:.8;transition:.3s}
.entry .ll-logos.wp-block-gallery.has-nested-images figure.wp-block-image:hover img{filter:none;opacity:1}
/* About */
.entry .ll-about:not(:has(>.wp-block-group__inner-container)),.entry .ll-about>.wp-block-group__inner-container{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:clamp(24px,4vw,56px);align-items:start}
.entry .ll-about .wp-block-image{margin:0;position:sticky;top:20px}
.entry .ll-about .wp-block-image img{aspect-ratio:1/1;object-fit:cover;border-radius:50%;border:6px solid var(--lime-soft);box-shadow:0 0 0 2px var(--lime)}
@media (max-width:780px){.entry .ll-about:not(:has(>.wp-block-group__inner-container)),.entry .ll-about>.wp-block-group__inner-container{grid-template-columns:1fr}.entry .ll-about .wp-block-image{max-width:260px;margin:0 auto}}
/* Portfolio cards */
.ll-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.ll-cards a{display:block;text-decoration:none;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid var(--line);transition:.25s}
.ll-cards a:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(0,0,0,.1);border-color:var(--lime)}
.ll-card-img{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--lime-soft)}
.ll-card-img img{width:100%;height:100%;object-fit:cover}
.ll-card-title{display:block;padding:14px 16px;text-align:center;font:italic 700 20px/1.2 var(--serif);color:var(--blue)}
/* Contact form */
.ll-form{max-width:720px;margin:0 auto}
.ll-row{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
@media (max-width:600px){.ll-row{grid-template-columns:1fr}}
.ll-form label{display:block;font-weight:600;font-size:14px;letter-spacing:.04em;color:var(--blue);margin-bottom:6px}
.ll-form input,.ll-form textarea{width:100%;font:inherit;padding:12px 14px;border:1px solid #cfd6c6;border-radius:var(--radius);background:#fbfcf9}
.ll-form input:focus,.ll-form textarea:focus{border-color:var(--lime);outline:2px solid var(--lime-soft)}
.ll-form .ll-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.ll-notice{padding:12px 16px;border-radius:var(--radius);font-weight:600}
.ll-ok{background:var(--lime-soft);color:#3c5a00;border-left:4px solid var(--lime)}
.ll-err{background:#fdeceb;color:#8a1f17;border-left:4px solid #d9534f}
/* Footer */
.site-footer{max-width:var(--wrap);margin:0 auto 40px;background:var(--blue);color:#e7edf8;text-align:center;padding:26px 16px;border-top:4px solid var(--lime)}
.social{list-style:none;margin:0 0 10px;padding:0;display:flex;justify-content:center;gap:14px}
.social a{display:flex;width:40px;height:40px;border-radius:50%;align-items:center;justify-content:center;background:rgba(255,255,255,.12);transition:.2s}
.social a:hover{background:var(--lime)}
.social svg{width:20px;height:20px;fill:#fff}
.copyright{margin:0;font-size:13px;letter-spacing:.04em}
/* Lightbox */
.ll-lightbox{position:fixed;inset:0;z-index:1000;background:rgba(14,22,36,.94);display:flex;align-items:center;justify-content:center;padding:4vh 64px}
.ll-lightbox[hidden]{display:none}
.ll-lightbox figure{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;align-items:center}
.ll-lightbox .lb-media img,.ll-lightbox .lb-media video{max-width:min(1400px,100%);max-height:84vh;width:auto;height:auto;border-radius:4px;box-shadow:0 10px 40px rgba(0,0,0,.4)}
.ll-lightbox figcaption{color:#fff;margin-top:12px;font:italic 700 18px/1.3 var(--serif);text-align:center}
.ll-lightbox button{position:absolute;background:none;border:0;color:#fff;font-size:54px;line-height:1;cursor:pointer;padding:8px 14px;opacity:.8}
.ll-lightbox button:hover{opacity:1;color:var(--lime)}
.lb-close{top:8px;right:12px;font-size:44px!important}
.lb-prev{left:6px;top:50%;transform:translateY(-50%)}
.lb-next{right:6px;top:50%;transform:translateY(-50%)}
body.lb-open{overflow:hidden}
/* Mobile nav */
@media (max-width:820px){
 body{font-size:16px}
 .site-header{padding-top:18px}
 .main-nav{text-align:left}
 .nav-toggle{display:flex;align-items:center;gap:10px;margin:0 auto;background:none;border:0;padding:14px 18px;font:600 15px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--blue);cursor:pointer}
 .bars,.bars::before,.bars::after{display:block;width:22px;height:2px;background:var(--blue);position:relative;transition:.2s}
 .bars::before,.bars::after{content:"";position:absolute;left:0}.bars::before{top:-7px}.bars::after{top:7px}
 .nav-toggle[aria-expanded=true] .bars{background:transparent}.nav-toggle[aria-expanded=true] .bars::before{top:0;transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .bars::after{top:0;transform:rotate(-45deg)}
 .main-nav .menu{display:none;flex-direction:column;border-top:1px solid var(--line)}
 .main-nav.open .menu{display:flex}
 .main-nav>.menu>li+li::before{display:none}
 .main-nav li{border-bottom:1px solid var(--line)}
 .main-nav a{padding:14px 22px}
 .main-nav .sub-menu{position:static;transform:none;box-shadow:none;border:0;min-width:0;display:none;opacity:1;visibility:visible;background:#f6f9ef;padding:0}
 .main-nav li.open>.sub-menu{display:block;transform:none}
 .main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{transform:none}
 .main-nav .sub-menu a{padding-left:40px}
 .submenu-toggle{display:block;position:absolute;right:0;top:0;width:52px;height:48px;background:none;border:0;cursor:pointer}
 .submenu-toggle span{display:block;width:10px;height:10px;border-right:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(45deg);margin:-4px auto 0;transition:.2s}
 .open>.submenu-toggle span{transform:rotate(-135deg);margin-top:4px}
 .site-main,.site-footer{margin-left:0;margin-right:0}
 .site-footer{margin-bottom:0}
 .ll-lightbox{padding:56px 8px}
 .lb-prev,.lb-next{top:auto!important;bottom:6px;transform:none!important}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Masonry portfolio galleries (keeps full artwork visible, no cropping) */
.entry .wp-block-gallery.has-nested-images.ll-masonry{display:block;column-count:3;column-gap:14px}
.entry .wp-block-gallery.has-nested-images.ll-masonry figure.wp-block-image:not(#individual-image){width:100%;display:block;margin:0 0 14px;break-inside:avoid}
.entry .wp-block-gallery.has-nested-images.ll-masonry figure.wp-block-image img{width:100%;height:auto}
@media (max-width:900px){.entry .wp-block-gallery.has-nested-images.ll-masonry{column-count:2}}
@media (max-width:460px){.entry .wp-block-gallery.has-nested-images.ll-masonry{column-count:1}}
