@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/bricolage-600.ttf") format("truetype")}
@font-face{font-family:"Bricolage Grotesque";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/bricolage-700.ttf") format("truetype")}
@font-face{font-family:"Karla";font-style:normal;font-weight:400;font-display:swap;src:url("../fonts/karla-400.ttf") format("truetype")}
@font-face{font-family:"Karla";font-style:normal;font-weight:500;font-display:swap;src:url("../fonts/karla-500.ttf") format("truetype")}
@font-face{font-family:"Karla";font-style:normal;font-weight:600;font-display:swap;src:url("../fonts/karla-600.ttf") format("truetype")}
@font-face{font-family:"Karla";font-style:normal;font-weight:700;font-display:swap;src:url("../fonts/karla-700.ttf") format("truetype")}
:root{--yellow:#ebd35b;--yellow-hover:#e3bd2c;--ink:#183030;--text:#526354;--pale:#f3faf6;--aqua:#e5f7f7;--white:#fff;--line:#dfe2e2;--max:1200px;--radius:24px;--shadow:0 15px 45px rgba(24,48,48,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--text);font-family:"Karla",Arial,sans-serif;font-size:16px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--ink);text-decoration:none}a:hover{color:var(--yellow-hover)}button,input,textarea{font:inherit}button{cursor:pointer}.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:#fff;color:#000;padding:12px}.skip-link:focus{left:12px;top:12px}*:focus-visible{outline:3px solid var(--yellow-hover);outline-offset:3px}
.container{width:min(calc(100% - 80px),var(--max));margin:auto}.site-header{position:sticky;top:0;z-index:220;background:#fff;box-shadow:0 1px 0 rgba(223,226,226,.55);transition:box-shadow .25s ease}.site-header.is-compact{box-shadow:0 8px 24px rgba(24,48,48,.10)}.topbar{background:var(--yellow);min-height:30px;transition:min-height .25s ease}.topbar .container{display:flex;justify-content:flex-end;align-items:center;gap:10px;min-height:30px}.top-link{display:inline-flex;align-items:center;gap:7px;color:var(--ink);font-weight:700;font-size:.92rem;padding:3px 6px}.top-link:hover{color:#000}.fb-icon{width:18px;height:18px;display:block;fill:currentColor}.main-header{background:#fff;position:relative;border-bottom:1px solid rgba(223,226,226,.55)}.nav-wrap{min-height:110px;display:grid;transition:min-height .25s ease;grid-template-columns:112px 1fr auto;align-items:center;gap:22px}.brand img{width:100px;height:auto;transition:width .25s ease}.site-nav ul{display:flex;align-items:center;justify-content:center;gap:16px;list-style:none;margin:0;padding:0}.site-nav a{font-weight:800;color:var(--text);font-size:1rem;line-height:1.5;padding:8px 0;white-space:nowrap}.site-nav a:hover,.site-nav a[aria-current="page"]{color:var(--yellow-hover)}.mobile-toggle{display:none;border:0;background:transparent;color:var(--ink);padding:10px}.mobile-toggle svg{width:28px;height:28px;display:block}.header-call{display:none}
.hero{position:relative;display:flex;align-items:center;min-height:65vh;background-position:center;background-repeat:no-repeat;background-size:cover;color:#fff}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.40),rgba(24,48,48,.95))}.hero.home-hero{min-height:100vh}.hero.home-hero::before{background:linear-gradient(110deg,rgba(24,48,48,.42),rgba(24,48,48,0))}.hero-inner{position:relative;z-index:1;padding:100px 0}.hero h1{font:600 clamp(3rem,6vw,4.625rem)/1.08 "Bricolage Grotesque",sans-serif;letter-spacing:-2px;margin:0;max-width:760px;color:#fff}.hero.home-hero h1{max-width:720px}.hero-actions{margin-top:38px}.btn{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--yellow);background:var(--yellow);color:var(--ink);padding:13px 30px;border-radius:50px;font-weight:700;font-size:1.125rem;line-height:1.3;transition:.2s ease}.btn:hover{background:var(--yellow-hover);border-color:var(--yellow-hover);color:var(--ink);transform:translateY(-1px)}.btn-outline{background:transparent;border-color:var(--ink);color:var(--ink)}.btn-outline:hover{background:var(--yellow-hover);border-color:var(--yellow-hover)}
h1,h2,h3,h4,h5,h6{font-family:"Bricolage Grotesque",sans-serif;color:var(--ink);font-weight:600;margin-top:0}h2{font-size:clamp(2.25rem,4vw,3.375rem);line-height:1.15;letter-spacing:-2px}h3{font-size:clamp(1.8rem,3.2vw,2.625rem);line-height:1.2}h5{font-size:1.5rem;line-height:1.2}.intro{background:var(--pale);padding:48px 0}.intro p{max-width:980px;text-align:center;margin:0 auto;font-size:1.08rem}.section{padding:80px 0}.section.aqua{background:var(--aqua)}.section.pale{background:var(--pale)}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px}.split.reverse .media{order:2}.split.reverse .copy{order:1}.copy p:last-child{margin-bottom:0}.media img{width:100%;border-radius:var(--radius);object-fit:cover;max-height:660px}.image-stack{position:relative;padding-right:20px;padding-bottom:45px}.image-stack .stack-main{border-radius:var(--radius);width:100%;aspect-ratio:16/10;object-fit:cover}.image-stack .stack-small{position:absolute;right:0;bottom:0;width:48%;border:8px solid #fff;border-radius:var(--radius);aspect-ratio:4/3;object-fit:cover}.aqua .image-stack .stack-small{border-color:var(--aqua)}.section-heading{text-align:center;margin-bottom:42px}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.service-card{position:relative;overflow:hidden;border-radius:16px;min-height:340px;background:var(--ink);box-shadow:var(--shadow)}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;transition:transform .35s}.service-card:hover img{transform:scale(1.035)}.service-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(24,48,48,.85),rgba(24,48,48,.04))}.service-content{position:absolute;z-index:2;left:28px;right:28px;bottom:26px;color:#fff}.service-content h3,.service-content h5{color:#fff;margin-bottom:8px}.service-content p{margin:0}.solo-service{margin-top:26px;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.solo-service .service-copy{padding:44px}.solo-service img{width:100%;height:100%;object-fit:cover;min-height:320px}
.gallery-section{padding:70px 0 90px;background:var(--pale)}.gallery-intro{text-align:center;max-width:830px;margin:0 auto 36px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-item{display:block;position:relative;border-radius:14px;overflow:hidden;background:#dfe2e2;aspect-ratio:4/3;box-shadow:0 5px 18px rgba(24,48,48,.08)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}.gallery-item::after{content:"+";position:absolute;right:12px;bottom:12px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);font:700 24px/1 "Karla",sans-serif;opacity:0;transform:translateY(6px);transition:.2s}.gallery-item:hover img{transform:scale(1.045);filter:brightness(.9)}.gallery-item:hover::after{opacity:1;transform:none}.gallery-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.gallery-strip .gallery-item{aspect-ratio:1/1}.gallery-strip + .gallery-strip{margin-top:14px}
dialog.lightbox{padding:0;border:0;border-radius:16px;background:#111;max-width:min(94vw,1280px);max-height:92vh;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.5)}dialog.lightbox::backdrop{background:rgba(0,0,0,.82)}.lightbox-shell{position:relative;display:grid;place-items:center;min-width:min(90vw,1000px);min-height:min(80vh,760px);background:#111}.lightbox-img{display:block;max-width:90vw;max-height:84vh;width:auto;height:auto}.lightbox-btn{position:absolute;z-index:2;border:0;background:rgba(255,255,255,.9);color:#111;width:44px;height:44px;border-radius:50%;font-size:26px;line-height:1}.lightbox-close{right:14px;top:14px}.lightbox-prev{left:14px;top:50%;transform:translateY(-50%)}.lightbox-next{right:14px;top:50%;transform:translateY(-50%)}
.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:start}.contact-card{background:var(--pale);border-radius:18px;padding:34px}.contact-card p{margin:0 0 16px}.contact-card p:last-child{margin-bottom:0}.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;color:var(--ink)}.field input,.field textarea{width:100%;border:1px solid #bac6c2;background:#fff;border-radius:10px;padding:13px 14px;color:var(--ink)}.field textarea{min-height:170px;resize:vertical}.form-actions{grid-column:1/-1;display:flex;align-items:center;gap:18px;flex-wrap:wrap}.form-status{display:none;padding:12px 14px;border-radius:10px;margin-bottom:22px;font-weight:700}.form-status.ok{display:block;background:#e5f7f7;color:#183030}.form-status.error{display:block;background:#fff0ed;color:#7b2517}.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.site-cta{min-height:100vh;display:flex;align-items:center;background-position:center;background-size:cover;background-repeat:no-repeat}.site-cta .container{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:100vh}.cta-copy{grid-column:2;padding:60px 0 60px 45px}.cta-copy h2{max-width:620px}.footer-info{padding:48px 0 28px}.footer-logo img{width:120px;margin-bottom:32px}.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.footer-cols strong{color:var(--ink)}.footer-cols p{margin:0}.footer-map{margin-top:34px}.footer-map iframe{border:0;width:100%;height:120px;display:block}.legal-footer{background:var(--pale);border-top:1px solid var(--line);padding:20px 0;text-align:center;color:var(--text)}.legal-footer p{margin:0}.legal-footer strong{color:var(--ink)}
@media(max-width:1180px){.container{width:min(calc(100% - 64px),var(--max))}.nav-wrap{grid-template-columns:96px 1fr auto}.site-nav ul{gap:10px}.site-nav a{font-size:.93rem}.brand img{width:86px}}
@media(max-width:1020px){.main-header{position:relative}.nav-wrap{min-height:92px;grid-template-columns:90px 1fr auto}.mobile-toggle{display:block}.site-nav{position:absolute;left:0;right:0;top:100%;background:#fff;border-top:1px solid var(--line);box-shadow:0 14px 28px rgba(24,48,48,.1);display:none;padding:10px 32px 20px}.site-nav.open{display:block}.site-nav ul{display:block}.site-nav li{border-bottom:1px solid #edf1ef}.site-nav li:last-child{border:0}.site-nav a{display:block;padding:12px 4px;font-size:1rem}.hero.home-hero{min-height:80vh}.hero{min-height:55vh}.split{gap:35px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.gallery-strip{grid-template-columns:repeat(3,1fr)}.site-cta{min-height:70vh}.site-cta .container{min-height:70vh}.contact-layout{grid-template-columns:1fr}}
@media(max-width:767px){.container{width:min(calc(100% - 48px),var(--max))}.topbar .container{gap:4px}.top-link{font-size:.85rem}.nav-wrap{min-height:82px;grid-template-columns:70px 1fr auto}.brand img{width:68px}.hero,.hero.home-hero{min-height:0}.hero-inner{padding:110px 0 64px}.hero h1{font-size:clamp(2.55rem,12vw,3.35rem);letter-spacing:-1.5px}.hero-actions{margin-top:26px}.section,.gallery-section{padding:64px 0}.intro{padding:38px 0}.split,.services-grid,.solo-service,.footer-cols{grid-template-columns:1fr}.split.reverse .media,.split.reverse .copy{order:initial}.image-stack{padding-right:12px;padding-bottom:30px}.image-stack .stack-small{border-width:6px}.solo-service .service-copy{padding:30px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:11px}.gallery-strip{grid-template-columns:repeat(2,1fr);gap:11px}.gallery-item{border-radius:10px}.contact-form{grid-template-columns:1fr}.field.full,.form-actions{grid-column:1}.site-cta{min-height:620px;background-position:42% center;position:relative}.site-cta::before{content:"";position:absolute;inset:0;background:rgba(255,255,255,.48)}.site-cta .container{position:relative;z-index:1;display:block;min-height:0}.cta-copy{padding:80px 0;max-width:520px}.footer-logo img{width:96px}.lightbox-shell{min-width:94vw;min-height:70vh}.lightbox-prev,.lightbox-next{width:40px;height:40px}.footer-map iframe{height:160px}}
@media(max-width:430px){.container{width:min(calc(100% - 36px),var(--max))}.top-link span{display:none}.top-link.contact-top span{display:inline}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-strip{grid-template-columns:1fr 1fr}.btn{font-size:1rem;padding:12px 22px}.site-cta{background-position:35% center}}

/* KUABY BLOG + STICKY HEADER 2026-09-07 */
.site-header.is-compact .topbar,.site-header.is-compact .topbar .container{min-height:25px}.site-header.is-compact .top-link{font-size:.86rem;padding-top:1px;padding-bottom:1px}.site-header.is-compact .nav-wrap{min-height:76px}.site-header.is-compact .brand img{width:64px}.hero-subtitle{max-width:720px;margin:20px 0 0;color:#fff;font-size:clamp(1.08rem,2vw,1.35rem);line-height:1.5}.blog-hero{min-height:48vh}.blog-listing{background:#fff}.blog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}.article-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(24,48,48,.07);display:flex;flex-direction:column;min-width:0}.article-card-image{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--pale)}.article-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.article-card:hover .article-card-image img{transform:scale(1.035)}.article-card-copy{padding:28px;display:flex;flex:1;flex-direction:column}.article-card-copy h2{font-size:clamp(1.55rem,2.4vw,2.15rem);letter-spacing:-1px;margin-bottom:14px}.article-card-copy h2 a{color:var(--ink)}.article-card-copy p:not(.article-meta){margin-top:0}.article-meta{margin:0 0 10px;font-size:.88rem;font-weight:700;letter-spacing:.02em;color:#6d7b70}.text-link{font-weight:800;margin-top:auto;padding-top:10px;display:inline-flex;gap:8px;align-items:center}.article-hero{background:var(--pale);padding:60px 0 54px;border-bottom:1px solid var(--line)}.article-hero h1{font:600 clamp(2.6rem,5.6vw,4.8rem)/1.06 "Bricolage Grotesque",sans-serif;letter-spacing:-2.5px;max-width:1000px;margin:12px 0 20px}.article-summary{max-width:850px;font-size:1.2rem;line-height:1.6;margin:0}.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.92rem;margin-bottom:24px}.breadcrumbs a{font-weight:700}.article-content{padding:64px 0 90px}.article-shell{max-width:1000px}.article-cover{margin:0 0 48px}.article-cover img{width:100%;max-height:590px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}.article-body{max-width:820px;margin:0 auto}.article-body p,.article-body li{font-size:1.08rem;line-height:1.78}.article-body h2{font-size:clamp(1.9rem,3.5vw,2.75rem);letter-spacing:-1.4px;margin:50px 0 18px}.article-body ul{padding-left:1.35rem;margin:0 0 26px}.article-body a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.article-lead{font-size:1.24rem!important;color:var(--ink);font-weight:500}.article-back{max-width:820px;margin:54px auto 0;padding-top:34px;border-top:1px solid var(--line)}
@media(max-width:1180px){.site-header.is-compact .brand img{width:60px}.site-header.is-compact .nav-wrap{min-height:72px}}
@media(max-width:1020px){.site-header{z-index:400}.site-nav{max-height:calc(100vh - 110px);overflow-y:auto;-webkit-overflow-scrolling:touch}.site-header.is-compact .nav-wrap{min-height:70px}.site-header.is-compact .brand img{width:58px}.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:767px){.site-header.is-compact .topbar,.site-header.is-compact .topbar .container{min-height:25px}.site-header.is-compact .nav-wrap{min-height:64px}.site-header.is-compact .brand img{width:52px}.blog-grid{grid-template-columns:1fr}.article-hero{padding:42px 0}.article-hero h1{font-size:clamp(2.45rem,10vw,3.5rem);letter-spacing:-1.7px}.article-content{padding:42px 0 70px}.article-cover{margin-bottom:34px}.article-body p,.article-body li{font-size:1.03rem}.article-lead{font-size:1.14rem!important}.article-card-copy{padding:24px}.blog-hero{min-height:0}}
@media(max-width:430px){.article-hero h1{font-size:2.45rem}.breadcrumbs{font-size:.86rem}.article-summary{font-size:1.08rem}.article-body h2{margin-top:40px}}
