/* Beyond Lanka 1.1: brand, content, interaction and responsive refinements. */
:root{--forest:#d87981;--deep:#8b8b8c;--orange:#ed9a65;--ink:#4e4e4f;--paper:#faf9f5}
.brand-logo{display:block;width:min(235px,29vw);height:auto;max-height:69px;max-width:235px}.footer-brand img{display:block;width:200px;height:auto;max-width:100%}
.nav-service-group{position:relative;display:flex;align-items:center;gap:0;height:91px}
.nav-service-group>a{font:700 12px Manrope,sans-serif;transition:color .2s}.nav-service-group>a:hover,.nav-service-group>a.active{color:var(--teal)}
.nav-service-group>a.active{border-bottom:2px solid var(--orange);padding-bottom:5px;margin-bottom:-7px}
.submenu-toggle{border:0;background:transparent;color:var(--ink);font-size:21px;line-height:1;padding:4px 8px;transition:transform .25s,color .25s}
.nav-service-group:hover .submenu-toggle,.submenu-toggle[aria-expanded=true]{color:var(--teal);transform:rotate(180deg)}
.service-dropdown{visibility:hidden;opacity:0;transform:translateY(10px);position:absolute;z-index:80;top:100%;left:-30px;width:348px;background:#fff;border-top:3px solid var(--orange);box-shadow:0 20px 45px #9595972b;padding:19px 23px 20px;pointer-events:none;transition:opacity .2s,transform .2s,visibility .2s}
.nav-service-group:hover .service-dropdown,.nav-service-group:focus-within .service-dropdown,.nav-service-group.is-open .service-dropdown{visibility:visible;opacity:1;transform:translateY(0);pointer-events:auto}
.dropdown-heading{display:block;color:var(--teal);font:700 10px Manrope,sans-serif;letter-spacing:.14em;margin-bottom:11px}
.service-dropdown a{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;border-bottom:1px solid #232324;font:600 12px/1.5 Manrope,sans-serif;transition:padding .2s,color .2s}
.service-dropdown a:last-child{border:0}.service-dropdown a:hover{padding-left:8px;color:var(--teal)}.service-dropdown a span{font-size:15px;color:var(--orange)}
.button{position:relative;overflow:hidden}.button:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,#ffffff26 50%,transparent 70%);transform:translateX(-140%);transition:transform .65s ease;pointer-events:none}.button:hover:before{transform:translateX(140%)}.button>span{display:inline-block;transition:transform .25s ease}.button:hover>span{transform:translate(3px,-3px)}.text-link>span{display:inline-block;transition:transform .25s}.text-link:hover>span{transform:translate(3px,-3px)}
.hero-visual-inner{transition:filter .6s,transform .6s}.hero-visual:hover .hero-visual-inner{filter:saturate(1.2);transform:scale(1.02)}.hero-sticker{animation:gentle-bob 5s ease-in-out infinite}.about-art{transition:filter .4s}.about-art:hover{filter:saturate(1.2)}.about-art:hover .about-circle{transform:rotate(-5deg) scale(1.04)}.about-circle{transition:transform .4s}
@keyframes gentle-bob{0%,100%{translate:0 0}50%{translate:0 -8px}}
.metrics-section{background:#333334;padding:55px 0}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.metric-card{padding:15px 29px;border-left:1px solid #323233;display:flex;flex-direction:column;align-items:flex-start}.metric-card:first-child{border-left:0}.metric-icon{width:49px;height:49px;border:1px solid #313132;border-radius:50%;display:grid;place-items:center;color:var(--forest);margin-bottom:20px}.metric-icon svg{width:25px;height:25px}.metric-card strong{font:700 clamp(38px,4.7vw,63px)/1 Manrope,sans-serif;letter-spacing:-.07em;color:var(--forest)}.metric-card>span{margin-top:13px;color:#242425;font:700 10px/1.5 Manrope,sans-serif;letter-spacing:.09em}
.clients-section>.container{grid-template-columns:.78fr 1.65fr}.clients-heading h2{line-height:1.2}.clients-heading p{line-height:1.75}.client-logo-card{min-height:125px;background:#333334;border:1px solid #29292a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:13px;transition:transform .3s,box-shadow .3s,border-color .3s}.client-logo-card:hover{transform:translateY(-6px);border-color:#313133;box-shadow:0 15px 30px #7c7c7e1c}.client-logo-card img{max-height:59px;width:auto;max-width:100%;object-fit:contain;transition:transform .4s}.client-logo-card:hover img{transform:scale(1.07)}.client-logo-card strong{font:700 11px/1.4 Manrope,sans-serif;text-align:center}.client-logo-card small{font:700 8px/1.3 Manrope,sans-serif;letter-spacing:.04em;color:#1d1d1d}.client-monogram{display:grid;place-items:center;width:53px;height:53px;background:#333334;border-radius:50%;color:var(--forest);font:800 20px Manrope,sans-serif}.client-sample{border-style:dashed;background:#fcfcfa;color:#1b1b1c}
.testimonials-section{background:#f3f0e8}.testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.testimonial-grid:has(> :only-child){grid-template-columns:minmax(0,1fr)}.testimonial-card{margin:0;background:#fff;padding:35px 29px;min-height:240px;display:flex;flex-direction:column;box-shadow:0 3px 20px #55555611;transition:transform .3s,box-shadow .3s}.testimonial-card:hover{transform:translateY(-7px);box-shadow:0 14px 34px #55555622}.quote-mark{font:95px/.65 Georgia,serif;color:var(--orange);margin:8px 0 18px}.testimonial-card p{font:400 16px/1.65 Georgia,serif;letter-spacing:-.01em;flex:1}.testimonial-card footer{border-top:1px solid #262627;padding-top:17px;display:flex;flex-direction:column;gap:2px}.testimonial-card footer strong{font:700 12px Manrope,sans-serif}.testimonial-card footer span{font-size:11px;color:var(--muted)}.testimonial-placeholder{border:1px dashed #1a1a1b;box-shadow:none}.testimonial-placeholder p{color:#191919}
.big-cta{background:radial-gradient(circle at 85% 30%,#c9878d 0,#8b8b8c 48%);color:#fff;overflow:hidden}.big-cta-inner{position:relative;display:flex;justify-content:space-between;align-items:center;gap:50px;padding:85px 0}.big-cta-inner:after{content:"✳";position:absolute;right:10%;top:-67px;font:300px Georgia,serif;opacity:.06;pointer-events:none}.big-cta h2{max-width:700px;font-size:clamp(37px,4.6vw,65px);line-height:1.15;margin:14px 0 15px;letter-spacing:-.055em}.big-cta p{color:#333334;max-width:630px;margin:0}.big-cta .button{z-index:1;flex-shrink:0}
.service-editorial{background:#fff}.editorial-grid{display:grid;grid-template-columns:.82fr 1.2fr;gap:12%;align-items:start}.editorial-aside{position:sticky;top:25px}.editorial-aside h2{font-size:clamp(31px,3.4vw,48px);margin:17px 0 40px;letter-spacing:-.055em}.editorial-rule{border-top:1px solid var(--line);padding-top:14px;font:700 10px Manrope,sans-serif;letter-spacing:.14em;color:var(--teal)}.editorial-body p{font-size:16px;line-height:1.95;color:var(--muted);margin:0 0 22px}.editorial-body p:first-child:first-letter{font-family:Georgia,serif;font-size:36px;color:var(--forest);line-height:1}
.service-process{background:#f6f5ef}.faq-section{background:#fff}.faq-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:11%}.faq-grid .display{font-size:clamp(38px,4vw,60px)}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0}.faq-list summary{list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;cursor:pointer;font:700 16px/1.5 Manrope,sans-serif;padding:24px 5px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{font-size:27px;color:var(--teal);font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list p{color:var(--muted);font-size:14px;line-height:1.8;padding:0 40px 20px 5px;margin:0}.service-enquiry{background:#29292a;scroll-margin-top:24px}.service-enquiry .form-panel{border-top:4px solid var(--orange)}.service-enquiry .form-aside p{color:#333334}.service-enquiry .form-aside>a{margin-top:15px}.related-services{background:#f4f3ed}.related-services .service-grid{border-left:1px solid var(--line)}
.portfolio-hero{background:linear-gradient(100deg,#313132,#f5eee1)}.portfolio-hero-foot{display:flex;gap:20px;flex-wrap:wrap;margin-top:40px}.portfolio-hero-foot span{padding:8px 12px;border:1px solid #2e2e2f;color:#c9878d;font:700 10px Manrope,sans-serif;letter-spacing:.07em}.portfolio-main{background:#fff}.portfolio-filters{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 35px}.portfolio-filters button{border:1px solid #202020;background:transparent;padding:11px 18px;color:var(--ink);font:700 11px Manrope,sans-serif;transition:color .2s,background .2s}.portfolio-filters button:hover,.portfolio-filters button.is-selected{background:var(--forest);border-color:var(--forest);color:#fff}
.portfolio-main .portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.portfolio-main .portfolio-item:first-child{grid-column:span 2;display:grid;grid-template-columns:1.2fr .8fr;gap:4px 32px;align-items:center;background:#333334;padding:20px 24px 20px 20px}.portfolio-main .portfolio-item:first-child .project-art{grid-row:span 5;height:390px}.portfolio-main .portfolio-item:first-child h3{font-size:32px}.portfolio-item.is-hidden{display:none!important}.portfolio-item .project-art{display:grid;overflow:hidden}.project-custom img{transition:transform .6s,filter .6s}.project-art:hover img{transform:scale(1.055);filter:saturate(1.12)}.project-card:hover .mock-browser{transform:rotate(-3deg) translateY(13px) scale(1.03)}.project-shop:hover .mock-browser{transform:rotate(3deg) translateY(13px) scale(1.03)}.mock-browser{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.portfolio-note{font-size:11px;color:#191919}.portfolio-item .project-meta{margin-bottom:10px}.portfolio-item .text-link{font-size:12px;margin-top:15px}.project-open{position:absolute;right:17px;bottom:17px;width:42px;height:42px;background:#fff;color:var(--forest);font-size:23px;display:grid;place-items:center;transition:transform .3s}.project-art:hover .project-open{transform:rotate(45deg)}
.portfolio-method{background:var(--deep);color:#fff}.method-grid{display:grid;grid-template-columns:1fr .85fr;gap:13%}.method-grid h2{font-size:clamp(38px,4.3vw,62px);letter-spacing:-.055em;margin:17px 0}.method-grid h2 em{color:var(--orange)}.method-grid p{color:#333334;line-height:1.85}.method-grid .button{margin-top:15px}
.portfolio-single-body{padding-top:65px;padding-bottom:70px}.single-project-image{background:#333334;overflow:hidden}.single-project-image img{width:100%;height:auto;max-height:650px;object-fit:cover;transition:transform .7s}.single-project-image:hover img{transform:scale(1.03)}.single-project-copy{display:grid;grid-template-columns:240px minmax(0,1fr);gap:8%;margin-top:38px}.single-project-copy aside{border-top:1px solid var(--line);padding-top:20px}.single-project-copy aside p{font-weight:700;font-size:14px;margin:15px 0 35px}.single-project-copy .article-body{padding:0;font-size:16px}
.article-hero .article-byline{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font:700 11px Manrope,sans-serif;letter-spacing:.04em;color:#333334}.article-byline span+span:before{content:"✳";padding-right:21px;color:var(--orange)}.article-image-wrap{margin:45px 0 0;overflow:hidden;background:#333334}.article-image-wrap .article-image{width:100%;max-height:520px;height:auto;object-fit:cover;margin:0;transition:transform .65s}.article-image-wrap:hover .article-image{transform:scale(1.035)}.related-articles{background:#f1f0e9}
/* Content stays visible if JavaScript is unavailable. */
.reveal{opacity:1;transform:none}.js .reveal:not(.visible){opacity:0;transform:translateY(23px)}.js .reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1080px){.topbar-inner>span{font-size:9px}.nav-service-group>a{font-size:11px}.service-dropdown{left:-95px}.client-placeholders{grid-template-columns:repeat(2,1fr)}}
@media(max-width:800px){.nav-service-group{display:flex;flex-wrap:wrap;height:auto;border-bottom:1px solid var(--line);position:relative}.nav-service-group>a{flex:1;padding:13px 4px;font-size:15px}.nav-service-group>a.active{margin:0;border:0;color:var(--teal)}.submenu-toggle{padding:9px 11px}.service-dropdown{display:none;position:static;opacity:1;visibility:visible;transform:none;pointer-events:auto;box-shadow:none;border-top:1px solid var(--line);background:#333334;width:100%;padding:13px}.nav-service-group:hover .service-dropdown,.nav-service-group:focus-within .service-dropdown{display:none}.nav-service-group.is-open .service-dropdown,.nav-service-group.is-open:hover .service-dropdown,.nav-service-group.is-open:focus-within .service-dropdown{display:block}.service-dropdown a{font-size:13px}.metrics-grid{grid-template-columns:repeat(2,1fr);row-gap:26px}.metric-card:nth-child(odd){border-left:0}.testimonials-section .testimonial-grid{grid-template-columns:repeat(2,1fr)}.big-cta-inner{flex-direction:column;align-items:flex-start;gap:28px}.editorial-grid,.faq-grid,.method-grid{grid-template-columns:1fr;gap:30px}.editorial-aside{position:static}.portfolio-main .portfolio-gallery{gap:28px}.single-project-copy{grid-template-columns:1fr;gap:20px}}
@media(max-width:600px){.brand-logo{width:195px;max-height:58px}.topbar-inner>span{display:none}.metrics-section{padding:36px 0}.metric-card{padding:14px 17px}.metric-card strong{font-size:42px}.metric-card>span{font-size:8px}.metric-icon{width:43px;height:43px;margin-bottom:13px}.metric-icon svg{width:23px}.clients-section>.container{grid-template-columns:1fr}.client-logo-card{min-height:105px}.testimonials-section .testimonial-grid{grid-template-columns:1fr}.testimonial-card{min-height:210px}.big-cta-inner{padding:65px 0}.big-cta h2{font-size:40px}.faq-list summary{font-size:14px}.portfolio-main .portfolio-gallery{grid-template-columns:1fr;gap:35px}.portfolio-main .portfolio-item:first-child{grid-column:auto;display:block;padding:14px}.portfolio-main .portfolio-item:first-child .project-art{height:295px}.portfolio-main .portfolio-item:first-child h3{font-size:23px}.portfolio-hero-foot{gap:6px}.portfolio-hero-foot span{font-size:8px}.article-byline{gap:9px!important}.article-byline span+span:before{padding-right:8px}.article-image-wrap{margin-top:26px}.service-enquiry .form-aside{padding:30px}}
@media(prefers-reduced-motion:reduce){.js .reveal,.js .reveal:not(.visible){opacity:1;transform:none}.hero-sticker{animation:none}}
