@font-face{font-family:"IBM Plex Sans Condensed";src:url("../fonts/IBMPlexSansCondensed-Regular.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:"IBM Plex Sans Condensed";src:url("../fonts/IBMPlexSansCondensed-SemiBold.ttf") format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Lato;src:url("../fonts/Lato-Regular.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Lato;src:url("../fonts/Lato-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
:root{--blue:#0071b9;--ink:#333;--soft:#cacaca;--paper:#f6f6f3;--white:#fff;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:Lato,Arial,sans-serif}body.lightbox-open{overflow:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin-top:0}h1,.display{font-family:"IBM Plex Sans Condensed",Arial,sans-serif;font-weight:600;line-height:.96;letter-spacing:-.025em}h1{font-size:clamp(3.2rem,8vw,7rem);max-width:1000px}.display{font-size:clamp(2.6rem,6vw,5.5rem);max-width:1000px}.eyebrow{color:var(--blue);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}:focus-visible{outline:3px solid #005a94;outline-offset:4px}.dark :focus-visible,.lightbox :focus-visible{outline-color:#6cc4ff}.skip-link{position:fixed;left:20px;top:12px;z-index:100;transform:translateY(-150%);background:#fff;color:#111;padding:12px 16px;font-weight:700}.skip-link:focus{transform:none}
.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);background:#fff;position:sticky;top:0;z-index:10;transition:height .25s ease,box-shadow .25s ease,background-color .25s ease}.site-header.is-scrolled{height:72px;box-shadow:0 8px 30px rgba(0,0,0,.08);background:rgba(255,255,255,.96);backdrop-filter:blur(14px)}.brand img{width:150px;height:56px;object-fit:contain}.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px;font-size:.9rem}.primary-nav a{position:relative;padding:10px 0}.primary-nav a:after{content:"";position:absolute;left:0;right:0;bottom:4px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .25s}.primary-nav a:hover:after,.current-menu-item>a:after,.current_page_item>a:after{transform:scaleX(1)}.menu-toggle{display:none;border:0;background:transparent;color:var(--ink);font-weight:700;padding:10px}
.hero{min-height:calc(100svh - 88px);position:relative;overflow:hidden;background:#111;color:#fff;display:grid;align-items:end}.hero,.hero h1,.hero p{color:#fff}.hero .eyebrow{color:#6cc4ff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%;opacity:.68;animation:hero-image 1.2s cubic-bezier(.22,1,.36,1) both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.08) 75%)}.hero-copy{position:relative;z-index:1;padding:clamp(44px,8vw,110px) clamp(20px,6vw,90px);max-width:1050px;animation:hero-in .8s cubic-bezier(.22,1,.36,1) both}.hero-copy h1{font-size:clamp(3.4rem,7vw,7rem)}.hero-copy>p:not(.eyebrow){font-size:1.2rem}.button{display:inline-block;border:0;background:var(--blue);color:#fff;padding:15px 22px;margin-top:18px;font-weight:700;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#005d99;transform:translateY(-2px)}
.section,.page{padding:clamp(72px,10vw,145px) clamp(20px,6vw,90px);max-width:var(--max);margin:auto}.section.dark{max-width:none;background:#111;color:#fff}.dark .eyebrow{color:#6cc4ff}.split{display:grid;grid-template-columns:1fr 1fr;gap:12vw}.split>div:last-child{padding-top:60px;font-size:1.15rem;line-height:1.75}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--soft);margin-top:48px}.service-card a{display:flex;flex-direction:column;background:#fff;padding:32px;min-height:250px;transition:transform .25s}.service-card a:hover{transform:translateY(-4px)}.service-card h2{font-family:"IBM Plex Sans Condensed";font-size:2rem}.service-card span{margin-top:auto;color:var(--blue);font-size:.85rem}.project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px 24px;margin-top:42px}.project-card img{aspect-ratio:4/3;width:100%;object-fit:cover;margin-bottom:18px;transition:transform .6s,filter .4s}.project-card a:hover img{transform:scale(1.018);filter:saturate(1.06)}.project-card span{color:var(--blue);font-size:.75rem;text-transform:uppercase}.project-card h2{font-family:"IBM Plex Sans Condensed";font-size:2.4rem;margin:5px 0}.page>.lead,.project>.lead{font-size:1.35rem;line-height:1.6;max-width:760px}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0}.filters a{border:1px solid var(--soft);padding:9px 14px}.filters a:hover{background:var(--blue);color:#fff}.rich-text{max-width:760px;font-size:1.08rem;line-height:1.75}.about{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:center}.about>img{aspect-ratio:4/3;object-fit:cover}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;min-height:70vh}.contact-data{font-size:1.15rem;line-height:1.9}.quote-form{background:#fff;padding:clamp(24px,4vw,48px)}.quote-form label{display:grid;gap:8px;margin-bottom:22px;font-weight:700}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #777;background:#fff;padding:12px}.form-notice{min-height:24px}.quote-panel{max-width:760px;margin-top:52px;padding:28px;background:#fff;border-top:4px solid var(--blue)}.faq{margin-top:100px;max-width:860px}.faq h2{font-family:"IBM Plex Sans Condensed";font-size:clamp(2.3rem,4vw,4rem)}.faq details{border-top:1px solid var(--soft);padding:20px 0}.faq summary{font-family:"IBM Plex Sans Condensed";font-size:1.45rem;cursor:pointer}.trustindex-slot{min-height:300px;margin-top:42px}.final-cta{text-align:center}.final-cta .display{margin-inline:auto}.site-footer{padding:42px clamp(20px,6vw,90px);background:#222;color:#fff;display:flex;justify-content:space-between}.site-footer p{margin:0}.not-found{min-height:72svh;display:flex;flex-direction:column;justify-content:center}.not-found .button{align-self:flex-start}
.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:64px}.gallery button{padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.gallery img{width:100%;height:100%;max-height:680px;object-fit:cover}.lightbox{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:60px 70px}.lightbox[hidden]{display:none}.lightbox figure{margin:0}.lightbox figure img{max-width:90vw;max-height:85vh;width:auto;height:auto}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;z-index:2;border:1px solid rgba(255,255,255,.75);background:rgba(0,0,0,.5);color:#fff;min-width:46px;min-height:46px;cursor:pointer}.lightbox-close{top:18px;right:24px}.lightbox-prev,.lightbox-next{top:50%;transform:translateY(-50%);font-size:1.5rem}.lightbox-prev{left:24px}.lightbox-next{right:24px}.reveal-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s,transform .7s cubic-bezier(.22,1,.36,1)}.reveal-ready .reveal.is-visible{opacity:1;transform:none}@keyframes hero-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}@keyframes hero-image{from{opacity:.25;transform:scale(1.045)}to{opacity:.68;transform:scale(1.015)}}
@media(max-width:760px){html{scroll-padding-top:80px}.site-header,.site-header.is-scrolled{height:80px;padding:14px 20px}.menu-toggle{display:block}.primary-nav{position:absolute;top:100%;left:0;right:0;background:#fff;padding:8px 20px 22px;box-shadow:0 16px 24px rgba(0,0,0,.12)}.primary-nav[data-open=false]{opacity:0;pointer-events:none;visibility:hidden}.primary-nav ul{display:grid;gap:4px}.primary-nav a{display:block;padding:12px 0}.brand img{width:110px;height:42px}.hero{min-height:calc(100svh - 80px)}.hero-image{object-position:58% 50%}.hero-copy h1{font-size:clamp(3rem,14vw,4rem)}.service-list,.project-grid,.split,.about,.contact,.gallery{grid-template-columns:1fr}.service-card a{min-height:auto}.split>div:last-child{padding-top:0}.page,.section{padding-left:24px;padding-right:24px}.site-footer{display:block}.site-footer p+p{margin-top:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal-ready .reveal{opacity:1;transform:none}}

/* Portfolio + entity SEO implementation */
.service-detail{max-width:1240px}.service-hero{max-width:900px}.service-hero .lead{font-size:1.35rem;line-height:1.6;max-width:760px}.service-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px;margin:52px 0 76px}.service-gallery figure{grid-column:span 4;margin:0;overflow:hidden;background:#e5e5e2}.service-gallery figure:nth-child(5n+1),.service-gallery figure:nth-child(5n+2){grid-column:span 6}.service-gallery img{width:100%;height:100%;aspect-ratio:4/5;object-fit:cover;transition:transform .5s ease}.service-gallery figure:nth-child(5n+1) img,.service-gallery figure:nth-child(5n+2) img{aspect-ratio:4/3}.service-gallery figure:hover img{transform:scale(1.015)}.service-content{max-width:960px}.service-content h2,.about-content h2,.quote-panel h2{font-family:"IBM Plex Sans Condensed",Arial,sans-serif;font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.05;margin-top:72px}.service-content h3{font-family:"IBM Plex Sans Condensed",Arial,sans-serif;font-size:1.75rem;margin-top:0}.service-content .plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:34px 0 64px}.service-content .plan{background:#fff;border-top:4px solid var(--blue);padding:clamp(24px,4vw,40px)}.service-content .plan-price{font-family:"IBM Plex Sans Condensed",Arial,sans-serif;font-size:2.7rem;font-weight:600;color:#111}.service-content .plan ul{padding-left:20px}.service-content .benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 32px;padding:0;list-style:none}.service-content .benefits li{border-top:1px solid var(--soft);padding:16px 0}.service-content details{border-top:1px solid var(--soft);padding:18px 0}.service-content summary{cursor:pointer;font-weight:700}.service-links{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0}.service-links a{border-bottom:2px solid var(--blue);padding-bottom:4px}.about-page{display:block}.about-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:8vw;align-items:center}.about-intro .lead{font-size:1.35rem;line-height:1.6;max-width:720px}.about-portrait{width:100%;aspect-ratio:4/3;object-fit:cover}.about-content{margin-top:72px;max-width:900px}.about-content .project-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:32px}.about-content .project-history article{background:#fff;padding:28px}.about-content .project-history h3{font-family:"IBM Plex Sans Condensed",Arial,sans-serif;font-size:1.65rem}.about-content a{color:#005f9e;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.site-header__inner,.site-footer__inner{width:100%;display:flex;align-items:center;justify-content:space-between}.site-footer__links{display:flex;gap:18px}.site-footer__brand img{object-fit:contain}
@media(max-width:900px){.service-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.service-gallery figure,.service-gallery figure:nth-child(5n+1),.service-gallery figure:nth-child(5n+2){grid-column:span 1}.service-gallery img,.service-gallery figure:nth-child(5n+1) img,.service-gallery figure:nth-child(5n+2) img{aspect-ratio:4/5}.service-content .plans,.about-content .project-history{grid-template-columns:1fr}.about-intro{grid-template-columns:1fr}.about-portrait{max-width:720px}.service-content .benefits{grid-template-columns:1fr}}
@media(max-width:760px){.service-gallery{grid-template-columns:1fr;gap:12px;margin:36px 0 52px}.service-gallery img,.service-gallery figure:nth-child(5n+1) img,.service-gallery figure:nth-child(5n+2) img{aspect-ratio:4/5}.service-content .plan{padding:24px}.about-content{margin-top:48px}.site-footer__inner{display:block}.site-footer__links{margin-top:22px}}

/* Commerce UX: natural galleries, focal crops, breadcrumbs and plan actions */
.hero-image{object-position:var(--jg-focus,50% 35%)}
.breadcrumbs{margin:0 0 32px;font-size:.82rem;color:#5b6570}.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;list-style:none;margin:0;padding:0}.breadcrumbs a{color:#005f9e;text-decoration:underline;text-underline-offset:3px}.breadcrumbs__separator{margin-left:.65rem;color:#8d969d}.breadcrumbs [aria-current=page]{font-weight:700;color:var(--ink)}
.service-card__media{margin:-32px -32px 24px;overflow:hidden;aspect-ratio:4/3;background:#e5e5e2}.service-card__image{width:100%;height:100%;object-fit:cover}
.service-gallery,.gallery{display:block;columns:2;column-gap:16px;margin:52px 0 76px}.service-gallery figure,.gallery button{display:inline-block;width:100%;break-inside:avoid;margin:0 0 16px;overflow:hidden;background:#e5e5e2}.service-gallery img,.service-gallery figure:nth-child(n) img,.gallery img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;transition:transform .35s ease}.service-gallery figure:hover img{transform:scale(1.008)}
.plan-actions{display:grid;gap:12px;margin-top:26px}.plan-actions .button{margin-top:0;text-align:center}.plan-whatsapp{display:inline-block;color:#005f9e;font-weight:700;text-decoration:underline;text-underline-offset:4px;padding:8px 0}.related-services{margin-top:80px;border-top:1px solid var(--soft);padding-top:42px}.related-services h2{font-family:"IBM Plex Sans Condensed",Arial,sans-serif;font-size:clamp(2rem,4vw,3.4rem)}.related-services ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}.related-services a{display:flex;justify-content:space-between;gap:12px;background:#fff;padding:20px;color:#005f9e;font-weight:700}.paid-session-message{margin:32px 0;padding:28px;border-top:4px solid var(--blue);background:#fff}
@media(max-width:760px){.hero-image{object-position:var(--jg-focus-mobile,58% 50%)}.service-gallery,.gallery{columns:1;margin:36px 0 52px}.related-services ul{grid-template-columns:1fr}.breadcrumbs{margin-bottom:24px}.service-card__media{margin:-32px -32px 20px}}

/* Natural-ratio correction: avoid multicolumn height stretching. */
.service-gallery,.gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));columns:auto;align-items:start;gap:16px}.service-gallery figure,.service-gallery figure:nth-child(n),.gallery button{display:block;grid-column:auto;width:100%;height:auto;margin:0;background:transparent}.service-gallery img,.service-gallery figure:nth-child(n) img,.gallery img{display:block;width:100%;height:auto!important;max-height:none;aspect-ratio:auto!important;object-fit:contain}
@media(max-width:760px){.service-gallery,.gallery{grid-template-columns:1fr}}

/* Flex avoids intrinsic grid-row stretching when portrait and landscape assets share a row. */
.service-gallery,.gallery{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}.service-gallery figure,.service-gallery figure:nth-child(n),.gallery button{flex:0 0 calc(50% - 8px);align-self:flex-start}.service-gallery img,.service-gallery figure:nth-child(n) img,.gallery img{height:auto!important;min-height:0!important}
@media(max-width:760px){.service-gallery figure,.service-gallery figure:nth-child(n),.gallery button{flex-basis:100%}}

.service-gallery figure,.gallery button{position:relative;height:auto!important}.service-gallery figure img,.gallery button img{position:static;width:100%;height:auto!important;aspect-ratio:var(--jg-aspect)!important;object-fit:contain}

/* Compact masonry-like flow after explicit intrinsic ratios are established. */
.service-gallery,.gallery{display:block;columns:2;column-gap:16px}.service-gallery figure,.service-gallery figure:nth-child(n),.gallery button{display:inline-block;width:100%;break-inside:avoid;margin:0 0 16px}
@media(max-width:760px){.service-gallery,.gallery{columns:1}}
