@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(assets/dm-sans-0.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/dm-sans-1.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/dm-sans-2.woff2) format('truetype');
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(assets/dm-sans-3.woff2) format('truetype');
}


:root{--dark:#00232b;--teal:#00d3b0;--blue:#125071;--text:#00323b;--muted:#527079}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;font-family:'DM Sans',Arial,sans-serif;color:var(--text);background:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #06bba3;outline-offset:6px}.container{width:80%;max-width:1536px;margin:auto}.section{padding-top:95px;padding-bottom:95px}h1,h2,h3,p{margin:0}h2{font-size:44px;line-height:1.2;letter-spacing:-1.2px;font-weight:500}h3{font-size:24px;font-weight:600;line-height:1.35}p{line-height:1.6}header{height:120px;display:flex;align-items:center;gap:44px;background:var(--dark);color:white;padding:0 10%;position:sticky;top:0;z-index:30}.logo{width:180px;flex-shrink:0;display:block}.logo img{display:block;width:100%;height:auto;object-fit:contain;filter:none;mix-blend-mode:normal;background:#fff}nav{display:flex;align-items:center;justify-content:space-between;flex:1;gap:30px;font-size:16px;font-weight:600}.nav-left,.nav-right{display:flex;align-items:center;gap:28px}nav a:hover{color:var(--teal)}.outline{display:inline-flex;gap:15px;align-items:center;justify-content:center;border:2px solid transparent;border-radius:40px;padding:14px 24px;background:linear-gradient(var(--dark),var(--dark)) padding-box,linear-gradient(110deg,var(--teal),var(--blue)) border-box;color:white;font-weight:600;white-space:nowrap;font-size:16px}.outline:hover{background:linear-gradient(#07434b,#07434b) padding-box,linear-gradient(110deg,var(--teal),var(--blue)) border-box}.outline>span{font-size:24px;line-height:1}.menu-toggle{display:none}.hero{background:radial-gradient(ellipse at 0 100%,#043c40 0,transparent 55%),var(--dark);color:white;position:relative;height:calc(100svh - 184px);min-height:600px;max-height:850px;overflow:hidden}.hero-inner{height:100%;width:80%;max-width:1536px;margin:auto;display:flex;align-items:center}.hero-copy{width:53%;position:relative;z-index:2;padding:30px 0 45px}.short-line{width:97px;height:3px;background:linear-gradient(90deg,#28dfbf,#125071);margin-bottom:22px}h1{font-size:clamp(38px,3.18vw,64px);font-weight:400;letter-spacing:-1.6px;line-height:1.27}h1>span{display:block;white-space:nowrap}h1 em{font-family:Georgia,'Times New Roman',serif;font-weight:600;letter-spacing:-1.8px}.hero-copy>p{font-size:clamp(19px,1.56vw,30px);line-height:1.38;max-width:735px;margin-top:35px;letter-spacing:-.4px}.portrait-wall{position:absolute;left:57.5%;right:2.6%;top:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);gap:30px;mask-image:linear-gradient(transparent,black 20%,black 95%,transparent);overflow:hidden}.portrait-column{min-width:0}.portrait-track{display:flex;flex-direction:column;gap:30px;animation:float-up 75s linear infinite}.portrait-column:nth-child(2) .portrait-track{margin-top:-155px;animation-direction:reverse;animation-duration:84s}.portrait-column:nth-child(3) .portrait-track{margin-top:-110px;animation-duration:69s}.portrait-column:nth-child(4) .portrait-track{margin-top:-50px;animation-direction:reverse;animation-duration:90s}.portrait-column:nth-child(5) .portrait-track{margin-top:24px;animation-duration:80s}.portrait-track img{width:100%;height:auto;aspect-ratio:208/368;object-fit:cover;border-radius:18px;display:block}@keyframes float-up{to{transform:translateY(calc(-50% - 15px))}}.quick-cta{background:linear-gradient(110deg,#21cbb1,#10456a);padding:30px 0}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.quick-grid>div{display:flex;align-items:center;justify-content:space-between;background:var(--dark);color:white;padding:30px;border-radius:22px;gap:20px}.quick-grid>div>span{font-size:20px;line-height:1.3}.quick-grid .outline{font-size:14px;padding:12px 18px}.intro{font-size:20px;max-width:1150px;line-height:1.6;margin-top:25px;color:#48656e}.expertise-grid{margin-top:50px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.expertise-image{height:260px;border-radius:18px;overflow:hidden;margin-bottom:25px;display:flex;align-items:center;justify-content:center}.expertise h3{margin-bottom:17px;font-size:26px}.expertise p{color:var(--muted);font-size:16px;margin-bottom:23px}.text-link{font-size:16px;font-weight:600;display:inline-block;border-bottom:1px solid #13bfa7;padding-bottom:7px}.web-image{background:#d3e9e4}.mock-browser{display:block;background:white;width:73%;height:220px;transform:rotate(-7deg) translateY(23px);box-shadow:0 15px 30px #00232b33;padding:18px}.mock-browser small{display:block;font-size:8px;letter-spacing:4px;border-bottom:1px solid #ddd;padding-bottom:10px}.mock-browser strong{font-size:36px;line-height:1.1;display:block;margin-top:17px;letter-spacing:-1px}.mock-browser i{display:inline-block;background:#008d73;color:white;font-style:normal;font-size:9px;padding:7px 10px;margin-top:18px}.brand-image{background:#005147;color:#c9e5ad;flex-direction:column}.brand-image>span{font-family:Georgia,serif;font-size:150px;line-height:1}.brand-image small{font-size:9px;letter-spacing:3px;margin-top:15px}.marketing-image{background:linear-gradient(135deg,#28d5b9,#135273);color:white}.marketing-image>span{font-size:52px;line-height:1.1;font-weight:500;letter-spacing:-2px}.catalogue{background:#f0f7f6}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px}.section-heading p{color:var(--muted);font-size:16px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;display:block;margin-bottom:16px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:38px 0 30px}.filters button{background:white;color:var(--text);border:1px solid #bdcfce;padding:12px 21px;border-radius:30px;font-size:14px}.filters button.active{background:var(--dark);border-color:var(--dark);color:white}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:white;padding:30px;border-radius:14px;border:1px solid #d5e3e1;display:flex;flex-direction:column;align-items:start;min-height:265px}.service-card[hidden]{display:none}.service-number{font-size:12px;color:#527079;border-bottom:2px solid #13c4a6;padding-bottom:8px;margin-bottom:25px}.service-card h3{font-size:23px;margin-bottom:14px}.service-card p{color:var(--muted);font-size:15px;margin-bottom:25px}.learn{background:transparent;padding:0 0 5px;color:var(--text);border:0;border-bottom:1px solid #17bca3;font-size:14px;margin-top:auto;display:flex;gap:35px;align-items:center}.learn span{font-size:22px}.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.process-grid article{border-top:1px solid #b6cecb;padding-top:25px}.process-grid article>span{font-family:Georgia,serif;font-size:50px;color:#00a88e;font-style:italic}.process-grid h3{margin:20px 0 15px}.process-grid p{color:var(--muted)}.feature-section,.marketing-section{background:var(--dark);color:white;padding:90px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.split>img{width:100%;height:500px;object-fit:cover;border-radius:20px}.split h2{margin-bottom:27px}.split p{font-size:18px;line-height:1.7}.split ul{list-style:none;padding:0;margin:25px 0 30px}.split li{padding:11px 0 11px 26px;position:relative;border-bottom:1px solid #748e8c44;font-size:16px}.split li:before{content:'↗';position:absolute;left:0;color:#11c4a9}.ink{background:linear-gradient(white,white) padding-box,linear-gradient(110deg,var(--teal),var(--blue)) border-box;color:var(--text)}.ink:hover{background:linear-gradient(#e8f8f4,#e8f8f4) padding-box,linear-gradient(110deg,var(--teal),var(--blue)) border-box}.brand-display{height:480px;background:#d2ece3;padding:50px;position:relative;overflow:hidden;border-radius:20px}.brand-display>span{display:block;font-size:70px;line-height:1;letter-spacing:-5px;font-weight:700}.brand-display b{color:#00866d}.brand-display>div{font-size:10px;letter-spacing:2px;margin-top:25px}.brand-display i{position:absolute;right:20px;bottom:-30px;font-style:normal;font-size:230px;color:#00a789}.marketing-section{background:linear-gradient(120deg,#005553,#00232b)}.growth-display{background:#12bda3;border-radius:20px;padding:50px;color:var(--dark)}.bars{display:flex;gap:20px;height:200px;align-items:end;border-bottom:1px solid #00323b88}.bars i{height:25%;background:var(--dark);flex:1;border-radius:8px 8px 0 0}.bars i:nth-child(2){height:40%}.bars i:nth-child(3){height:60%}.bars i:nth-child(4){height:77%}.bars i:nth-child(5){height:100%}.growth-display strong{font-size:50px;line-height:1.1;display:block;margin-top:35px;letter-spacing:-1px}.about{text-align:center}.about .intro{max-width:900px;margin:25px auto 0}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:45px;margin-top:50px}.reasons span{font-size:50px;color:#00aa90;display:block;margin-bottom:20px}.reasons h3{font-size:22px;margin-bottom:14px}.reasons p{color:var(--muted)}.faq-section{background:#edf5f4}details{border-bottom:1px solid #b8ceca;padding:20px 0}summary{cursor:pointer;font-size:17px;font-weight:600}.split details p{font-size:15px;color:var(--muted);margin:15px 0 0}.contact-section{background:var(--dark);color:white}.contact-section h2{font-size:56px}.contact-note{color:#13d2af;margin-top:35px}form{display:grid;gap:20px}label{display:grid;gap:9px;font-size:13px}input,select,textarea{width:100%;border:1px solid #668288;border-radius:8px;background:#ffffff08;color:white;padding:14px;font-size:16px;outline-offset:3px}input::placeholder,textarea::placeholder{color:#b1c5c8}select option{background:var(--dark)}textarea{resize:vertical}form .outline{justify-self:start}form small{font-size:11px;color:#b1c5c8}#form-status{font-size:13px;color:#43e0bd}footer{background:#001b23;color:white;padding:65px 0 25px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:45px}.footer-grid h3{font-size:17px;margin-bottom:23px}.footer-grid a:not(.logo){display:block;font-size:14px;margin-bottom:14px;width:fit-content}.footer-grid p{font-size:14px;color:#b1c5c8;margin-top:22px}.footer-grid .text-link{margin-top:20px;color:#26d5b9}.footer-bottom{display:flex;gap:20px;justify-content:space-between;font-size:12px;border-top:1px solid #52707966;margin-top:50px;padding-top:25px;color:#b1c5c8}dialog{border:0;padding:50px;max-width:640px;width:calc(100% - 32px);border-radius:18px;color:var(--text);max-height:85svh;overflow:auto}dialog::backdrop{background:#001b23bb}dialog h2{font-size:36px;margin:18px 0}dialog p{line-height:1.7;color:var(--muted)}dialog h3{font-size:18px;margin-top:28px}dialog ul{padding-left:20px;line-height:2;margin-bottom:30px}.dialog-close{position:absolute;top:13px;right:18px;font-size:30px;background:transparent;border:0;color:var(--text)}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip:focus{position:fixed;top:10px;left:10px;z-index:100;background:white;padding:15px}body:has(dialog[open]){overflow:hidden}@media(min-width:1900px){header{padding-left:max(10%,calc((100vw - 1536px)/2));padding-right:max(10%,calc((100vw - 1536px)/2))}}@media(max-width:1450px){header{gap:26px;padding:0 7%;height:105px}.container,.hero-inner{width:86%}.logo{width:160px}nav{font-size:14px}.nav-left,.nav-right{gap:20px}.outline{font-size:14px;padding:12px 20px}.hero{height:calc(100svh - 169px);min-height:560px}.hero-copy{width:55%}.hero-copy p{font-size:22px;max-width:540px}.portrait-wall{left:59%;right:1.5%;gap:20px}.portrait-track{gap:20px}.quick-grid>div{padding:22px}.quick-grid>div>span{font-size:17px}.quick-grid .outline{font-size:12px}.expertise h3{font-size:23px}.expertise-image{height:235px}}@media(max-width:1100px){header{padding:0 5%;gap:20px}.container,.hero-inner{width:90%}.nav-left,.nav-right{gap:15px}nav{font-size:12px}.logo{width:145px}.nav-left a:nth-last-child(-n+2){display:none}.hero-copy p{font-size:21px}.portrait-wall{left:61%;grid-template-columns:repeat(4,1fr);gap:17px;right:-7%}.portrait-column:last-child{display:none}h1{font-size:42px}.quick-grid>div{flex-direction:column;align-items:start}.section{padding-top:70px;padding-bottom:70px}.section-heading p{font-size:14px}.expertise-grid,.service-grid{gap:18px}.expertise-image{height:210px}.expertise h3{font-size:21px}.service-card{padding:24px}.service-card h3{font-size:21px}.split{gap:6%}.split h2{font-size:38px}.split>img{height:470px}.brand-display{padding:30px;height:430px}.brand-display>span{font-size:60px}.footer-grid{gap:25px}.growth-display{padding:30px}.growth-display strong{font-size:42px}}@media(max-width:760px){html{scroll-padding-top:80px}header{height:80px;justify-content:space-between}.logo{width:175px}.menu-toggle{display:block;font-size:28px;border:0;background:transparent;color:white}nav{display:none;position:absolute;top:80px;left:0;right:0;background:var(--dark);padding:25px 5%;box-shadow:0 12px 18px #001b2344}nav.open{display:flex;flex-direction:column;align-items:stretch;font-size:16px}.nav-left,.nav-right{flex-direction:column;align-items:start;gap:22px}.nav-left a:nth-last-child(-n+2){display:block}.hero{height:auto;min-height:0;max-height:none}.hero-inner{display:block;width:90%}.hero-copy{width:100%;padding:65px 0 35px}.short-line{width:75px;margin-bottom:22px}h1{font-size:clamp(31px,6.4vw,47px);letter-spacing:-1px}h1 em{letter-spacing:-1px}.hero-copy>p{font-size:20px;margin-top:27px;max-width:570px}.portrait-wall{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:340px;display:grid;grid-template-columns:repeat(5,1fr);gap:15px;margin:0 -2%}.portrait-column:last-child{display:block}.portrait-track{gap:15px}.portrait-track img{border-radius:12px}.portrait-column:nth-child(2) .portrait-track{margin-top:-100px}.portrait-column:nth-child(3) .portrait-track{margin-top:-70px}.portrait-column:nth-child(4) .portrait-track{margin-top:-40px}.quick-cta{padding:22px 0}.quick-grid{gap:16px}.quick-grid>div{padding:20px 16px;border-radius:15px;gap:18px}.quick-grid>div>span{font-size:15px}.quick-grid .outline{padding:10px 12px;white-space:normal;text-align:left;font-size:11px}.section{padding-top:55px;padding-bottom:55px}h2{font-size:35px;letter-spacing:-.8px}.intro{font-size:17px;margin-top:22px}.expertise-grid{grid-template-columns:1fr;gap:35px;margin-top:35px}.expertise-image{height:270px}.mock-browser{max-width:300px}.expertise h3{font-size:25px}.expertise p{font-size:16px}.section-heading{display:block}.section-heading p{margin-top:20px}.filters{gap:8px;margin-top:30px}.filters button{font-size:12px;padding:10px 14px}.service-grid{grid-template-columns:1fr 1fr;gap:13px}.service-card{padding:22px 18px;min-height:270px}.service-card h3{font-size:20px}.service-card p{font-size:14px}.learn{font-size:12px;gap:14px}.process-grid{grid-template-columns:1fr;gap:30px;margin-top:30px}.process-grid article>span{font-size:42px}.process-grid h3{margin-top:15px}.split{grid-template-columns:1fr;gap:35px}.feature-section,.marketing-section{padding:55px 0}.split>img{height:330px}.split h2{font-size:36px}.split p{font-size:16px}.split li{font-size:15px}.brand-display{height:330px;padding:35px}.brand-display>span{font-size:60px}.brand-display i{font-size:200px;right:0}.growth-display{padding:35px}.bars{height:160px}.growth-display strong{font-size:42px}.reasons{grid-template-columns:1fr;gap:30px}.reasons span{margin-bottom:12px}.reasons h3{font-size:23px}.contact-section h2{font-size:40px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px 20px}.footer-grid>.logo{width:150px}.footer-bottom{flex-direction:column;gap:12px;margin-top:35px}.footer-grid h3{font-size:16px}dialog{padding:40px 25px}dialog h2{font-size:30px}}@media(max-width:390px){h1{font-size:29px}.hero-copy p{font-size:18px}.service-grid{grid-template-columns:1fr}.service-card{min-height:240px}.quick-grid{grid-template-columns:1fr}.quick-grid>div{flex-direction:row;align-items:center}.portrait-wall{height:270px;gap:10px}.footer-grid{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.portrait-track{animation:none}}

/* Photographic service catalogue */
.service-card{padding:0;overflow:hidden;align-items:stretch}.service-photo{display:block;width:100%;height:auto;aspect-ratio:1200/780;object-fit:cover;background:#cce2df;transition:transform .35s ease}.service-card:hover .service-photo{transform:scale(1.025)}.service-content{display:flex;flex-direction:column;align-items:flex-start;padding:28px 30px 30px;flex:1}.service-number{margin-bottom:19px}.service-card h3{margin-bottom:12px}.service-card p{margin-bottom:23px}.dialog-photo{width:calc(100% + 100px);height:240px;object-fit:cover;display:block;margin:-50px -50px 28px}.dialog-close{background:#fff;border-radius:50%;width:36px;height:36px;line-height:28px;box-shadow:0 2px 12px #00232b33;z-index:1}.service-photo:hover{will-change:transform}@media(max-width:1100px){.service-content{padding:24px}}@media(max-width:760px){.service-content{padding:22px 18px}.dialog-photo{width:calc(100% + 50px);height:190px;margin:-40px -25px 25px}.service-photo{aspect-ratio:1.4}}@media(prefers-reduced-motion:reduce){.service-photo{transition:none}.service-card:hover .service-photo{transform:none}}

/* Original five-column layout with wider website frames */
.portrait-wall{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;right:1%}
.portrait-track img{object-fit:contain;height:auto;aspect-ratio:208/368}
@media(min-width:761px) and (max-width:1100px){.portrait-wall{grid-template-columns:repeat(5,minmax(0,1fr));right:1%;gap:10px}.portrait-column:last-child{display:block}}
@media(max-width:760px){.portrait-wall{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;right:auto}}
@media(max-width:480px){.portrait-wall{gap:6px}}

/* Shorter and wider homepage preview frames */
.portrait-wall{left:56.5%;right:.5%;gap:8px}
.portrait-track{gap:20px}
.portrait-track img{width:100%;height:auto;aspect-ratio:4/5;object-fit:contain;object-position:center;background:#f6f5ef;border-radius:16px}
@media(min-width:761px) and (max-width:1100px){.portrait-wall{left:58%;right:.5%;gap:7px}}
@media(max-width:760px){.portrait-wall{left:auto;right:auto;gap:7px}}
@media(max-width:480px){.portrait-wall{gap:5px}.portrait-track img{border-radius:10px}}

/* Industry portfolio screenshots fill every frame edge to edge. */
.portrait-track img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;background:transparent}

/* Unique portfolio entries: gentle movement without cloned images. */
.portrait-column .portrait-track{margin-top:0;animation:portfolio-drift 26s ease-in-out infinite alternate}
.portrait-column:nth-child(even) .portrait-track{animation-direction:alternate-reverse;animation-duration:31s}
@keyframes portfolio-drift{from{transform:translateY(0)}to{transform:translateY(-22%)}}
@media(prefers-reduced-motion:reduce){.portrait-column .portrait-track{animation:none}}
@media(max-width:480px){.portrait-column .portrait-track{animation:none}}

/* Refined homepage portfolio cards */
.portrait-wall{left:56.5%;right:1.5%;top:22px;bottom:22px;gap:14px;padding:10px 5px;mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 92%,transparent 100%)}
.portrait-column{min-width:0}
.portrait-column .portrait-track{gap:18px;animation-duration:34s}
.portrait-column:nth-child(even) .portrait-track{animation-duration:39s}
.portrait-track img{box-sizing:border-box;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:10px;border:1px solid rgba(255,255,255,.24);box-shadow:0 6px 18px rgba(0,12,17,.22);background:#f6f7f4;backface-visibility:hidden}
@media(min-width:761px) and (max-width:1100px){.portrait-wall{left:58%;right:1%;gap:10px;padding:6px 3px}.portrait-track img{border-radius:8px}}
@media(max-width:760px){.portrait-wall{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:380px;gap:10px;margin:0 0 24px;padding:8px 4px}.portrait-column .portrait-track{gap:14px}.portrait-track img{border-radius:8px}}
@media(max-width:480px){.portrait-wall{height:300px;gap:7px;padding:5px 2px}.portrait-track img{border-radius:6px}.portrait-column .portrait-track{gap:10px}}

/* Straight, balanced portfolio rows without stagger or scrolling. */
.portrait-wall{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));align-content:center;align-items:stretch;left:56.5%;right:2%;top:50%;bottom:auto;height:auto;transform:translateY(-50%);gap:16px;padding:8px;overflow:visible;mask-image:none}
.portrait-wall>img{box-sizing:border-box;display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:center;border-radius:10px;border:1px solid rgba(255,255,255,.22);box-shadow:0 7px 20px rgba(0,12,17,.22);background:#f6f7f4}
@media(min-width:761px) and (max-width:1100px){.portrait-wall{left:58%;right:1%;gap:12px}}
@media(max-width:760px){.portrait-wall{position:relative;left:auto;right:auto;top:auto;bottom:auto;transform:none;height:auto;margin:0 0 32px;padding:6px;gap:14px}}
@media(max-width:480px){.portrait-wall{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px}.portrait-wall>img{border-radius:8px}}

/* Fifteen compact portfolio cards in aligned rows. */
.portrait-wall{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:12px;left:56.5%;right:2%;padding:6px}
.portrait-wall>img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:8px;box-shadow:0 4px 12px rgba(0,12,17,.2)}
@media(min-width:761px) and (max-width:1100px){.portrait-wall{left:58%;right:1%;gap:9px}}
@media(max-width:760px){.portrait-wall{left:auto;right:auto;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:10px}}
@media(max-width:480px){.portrait-wall{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(5,minmax(0,1fr));gap:10px}.portrait-wall>img{border-radius:7px}}

/* Continuous alternating portfolio columns, using unique cards. */
.portrait-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:none;left:56.5%;right:1.5%;top:24px;bottom:24px;height:auto;transform:none;gap:16px;padding:0 5px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent)}
.portrait-wall .portrait-column{display:block!important;min-width:0;overflow:visible}
.portrait-wall .portrait-track{display:flex;flex-direction:column;gap:18px;margin:0;animation:none!important;will-change:transform}
.portrait-wall .portrait-track img{display:block;flex-shrink:0;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;border-radius:10px;border:1px solid #ffffff26;box-sizing:border-box;box-shadow:0 5px 15px #0003}
@media(min-width:761px) and (max-width:1100px){.portrait-wall{left:58%;right:1%;gap:12px}.portrait-wall .portrait-track{gap:14px}}
@media(max-width:760px){.portrait-wall{position:relative;left:auto;right:auto;top:auto;bottom:auto;height:350px;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 30px;padding:0 4px}}
@media(max-width:480px){.portrait-wall{height:250px;gap:8px}.portrait-wall .portrait-track{gap:10px}.portrait-wall .portrait-track img{border-radius:7px}}

.floating-whatsapp{position:fixed;right:24px;bottom:24px;z-index:1000;display:flex;align-items:center;gap:11px;padding:12px 18px;background:#087f49;color:#fff!important;border:1px solid #ffffff40;border-radius:50px;box-shadow:0 6px 24px #002b3240;text-decoration:none;transition:background .2s,transform .2s}.floating-whatsapp:hover{background:#066b3d;transform:translateY(-2px)}.floating-whatsapp:focus-visible{outline:3px solid #13d6ae;outline-offset:4px}.floating-whatsapp svg{flex-shrink:0}.floating-whatsapp span{display:flex;flex-direction:column;gap:2px}.floating-whatsapp strong{font-size:14px;line-height:1.2}.floating-whatsapp small{font-size:12px;line-height:1.3;white-space:nowrap}@media(max-width:480px){.floating-whatsapp{right:14px;bottom:14px;padding:10px 14px;gap:9px}}

.floating-whatsapp{width:54px;height:54px;padding:0;border-radius:50%;justify-content:center;gap:0}.floating-whatsapp svg{width:27px;height:27px}@media(max-width:480px){.floating-whatsapp{width:50px;height:50px;padding:0}}

.brand-display.brand-mockup{display:block;position:relative;padding:0;overflow:hidden;min-height:0;background:#eeeae2;aspect-ratio:7/6;border-radius:24px}.brand-mockup img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}@media(max-width:760px){.brand-display.brand-mockup{border-radius:18px}}
