:root{color-scheme:light;--navy:#10263f;--ink:#172f48;--muted:#526579;--blue:#1764b6;--cyan:#087e94;--line:#d8e2eb;--pale:#f3f6f9}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.7 ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
body:has(dialog[open]){overflow:hidden}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
button,a{-webkit-tap-highlight-color:transparent}
button{font:inherit;cursor:pointer}
:focus-visible{outline:3px solid #08819a;outline-offset:5px}
img{display:block;max-width:100%;height:auto}
h1,h2,h3{color:var(--navy);line-height:1.2;letter-spacing:-.025em}
h1{font-size:clamp(2.2rem,4vw,3.7rem);margin:20px 0 24px;max-width:820px}
h2{font-size:clamp(1.8rem,3vw,2.65rem);max-width:850px;margin:12px 0 24px}
h3{font-size:1.3rem;margin:16px 0 12px}
p{margin:0 0 20px}
[hidden],.portfolio-hidden{display:none!important}
.container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.skip{position:fixed;top:8px;left:16px;transform:translateY(-160%);z-index:100;background:white;padding:12px 20px;border-radius:5px}
.skip:focus{transform:none}
.site-header{position:sticky;top:0;z-index:30;background:var(--navy);color:#fff;box-shadow:0 2px 12px #10263f15}
.header-row{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:92px}
.brand{display:flex;align-items:center;gap:12px;color:inherit;font-size:.95rem;font-weight:800;letter-spacing:.02em}
.brand img{width:48px;height:48px;border-radius:10px}
.brand small{display:block;color:#becedd;font-size:.68rem;letter-spacing:0;font-weight:500;margin-top:2px}
.desktop-nav,.header-actions{display:flex;align-items:center;gap:22px}
.desktop-nav a,.mobile-menu a{color:#e3edf6;font-size:.9rem}
.header-actions{gap:14px}
.lang-switch{display:flex;gap:2px;border:1px solid #72869c;border-radius:6px;padding:3px}
.lang-btn{color:#dfebf6;background:transparent;border:0;border-radius:3px;padding:5px 8px;font-size:.78rem;font-weight:700}
.lang-btn.active{background:white;color:var(--navy)}
.button,.portfolio-actions a,.price-card>a:last-child{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--blue);border-radius:6px;padding:12px 20px;background:var(--blue);color:#fff;font-weight:700;line-height:1.5;text-align:center;transition:background .15s ease}
.button:hover,.portfolio-actions a:hover,.price-card>a:last-child:hover{background:#104e8f;color:#fff;text-decoration:none}
.button.secondary{color:var(--navy);border-color:#8296aa;background:transparent}
.button.secondary:hover{background:#e6edf5}
.header-quote{font-size:.83rem;padding:10px 14px;background:#fff;color:var(--navy);border-color:#fff}
.menu-button{display:none;border:1px solid #72869c;border-radius:5px;background:transparent;color:#fff;padding:6px 9px}
.mobile-menu{padding-bottom:20px;display:grid;gap:14px}
.wa-float{position:fixed;right:20px;bottom:20px;z-index:35;background:var(--navy);color:#fff;padding:10px 18px;border-radius:6px;box-shadow:0 3px 15px #10263f25;font-size:.9rem;font-weight:700;border:1px solid #7ca0b9}
.wa-float:hover{background:#1b405d;text-decoration:none}
.hero{background:linear-gradient(120deg,#edf4f8,#f8fafc);border-bottom:1px solid var(--line);padding:88px 0 80px}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:56px}
.eyebrow{color:var(--cyan);font-size:.8rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}
.lead{font-size:1.15rem;color:var(--muted);max-width:680px}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-note{font-size:.78rem;color:var(--muted);margin-top:28px}
.hero-project{margin:0;border:1px solid var(--line);border-radius:9px;background:#fff;overflow:hidden;box-shadow:0 12px 30px #10263f0c}
.hero-project>img{width:100%;aspect-ratio:3/2;object-fit:cover;background:#e5ebf2}
.hero-project figcaption{display:grid;padding:20px 24px;gap:4px;font-size:.8rem;color:var(--muted)}
.hero-project strong{font-size:1rem;color:var(--navy)}
.section{padding:80px 0}
.section-intro{max-width:760px;color:var(--muted)}
.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px}
.service-card{display:block;border:1px solid var(--line);border-radius:8px;padding:30px;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}
.service-card:hover{border-color:#7bacc9;box-shadow:0 7px 20px #10263f08;text-decoration:none}
.service-card p{color:var(--muted)}
.service-number{font-size:.85rem;color:var(--cyan);font-weight:800}
.text-link{color:var(--blue);font-weight:700;font-size:.9rem}
.related-services{display:flex;gap:12px 24px;flex-wrap:wrap;margin-top:30px;font-size:.92rem}
#portfolio,#process,#faq{background:var(--pale);border-block:1px solid var(--line)}
.portfolio-filter{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0}
.portfolio-filter button{padding:8px 16px;background:#fff;color:var(--ink);border:1px solid #acbdcc;border-radius:5px;font-size:.85rem;font-weight:600}
.portfolio-filter button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.portfolio-more{margin:30px 0 0;text-align:center}
.portfolio-item{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.portfolio-thumb{background:#e6edf5}
.preview-button{display:block;width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:zoom-in}
.preview-button:focus-visible{outline-offset:-5px;outline-width:4px}
.portfolio-thumb img{width:100%;aspect-ratio:3/2;object-fit:cover}
.portfolio-body{display:flex;flex-direction:column;flex:1;padding:24px}
.portfolio-body p{color:var(--muted);font-size:.92rem}
.tag{display:inline-block;background:#eef4f9;border:1px solid #d6e3ed;color:#254d68;border-radius:4px;padding:3px 8px;font-size:.7rem;font-weight:600;margin:0 3px 5px 0}
.portfolio-body>.tag{align-self:flex-start}
.portfolio-actions{margin-top:auto;padding-top:22px;display:grid;gap:10px}
.portfolio-actions a{font-size:.85rem;padding:10px 14px}
.portfolio-actions a:first-child{background:white;color:var(--blue)}
.portfolio-actions a:first-child:hover{background:#edf4f9}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.business-details{display:grid;gap:8px;border-left:3px solid var(--cyan);padding-left:22px;margin-top:26px;font-size:.9rem;overflow-wrap:anywhere}
.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:36px}
.process-grid>div{border-top:2px solid #b6cbdc;padding:20px 0}
.process-grid>div>div{font-weight:800;color:var(--cyan)}
.process-grid p{font-size:.9rem;color:var(--muted)}
.package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:36px}
.price-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:8px;padding:24px;min-width:0}
.price-card>div:first-of-type{font-size:1.9rem;font-weight:800;color:var(--navy);margin:4px 0 18px}
.price-card>div:first-of-type span{font-size:.85rem}
.price-card p{font-size:.85rem;color:var(--muted);margin-bottom:10px}
.price-card>div:nth-of-type(2){margin:12px 0 22px}
.price-card>a:last-child{margin-top:auto;font-size:.85rem;padding-inline:10px}
.price-card .tag{align-self:flex-start}
.price-card>a:not(:last-child){font-size:.85rem;margin-bottom:16px}
.secondary-offer{margin:26px 0 0;font-size:.9rem}
.accordion-item{border:1px solid var(--line);border-radius:6px;background:white;padding:0 24px;margin-bottom:14px}
.accordion-btn{display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;background:none;width:100%;padding:22px 0;text-align:left;font-weight:700;color:var(--navy)}
.accordion-icon{font-size:1.4rem;font-weight:400}
.accordion-item.active .accordion-icon{transform:rotate(45deg)}
.accordion-content p{color:var(--muted);padding:0 0 24px;margin:0}
.contact-section .container{max-width:900px}
.contact-section p:not(.eyebrow){max-width:750px;color:var(--muted)}
.site-footer{background:var(--navy);color:#c3d1df;padding:60px 0 90px;font-size:.85rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px}
.site-footer h3{color:#fff;font-size:1rem;margin-top:0}
.site-footer a{color:#d9eaf9}
.site-footer .brand{color:#fff;margin-bottom:22px}
.site-footer nav>a,.footer-grid>div:last-child>a{display:block;margin-bottom:10px;overflow-wrap:anywhere}
.copyright{margin-top:38px;padding-top:24px;border-top:1px solid #41566c;color:#b5c7d9}
dialog{border:1px solid var(--line);border-radius:8px;padding:50px 22px 22px;max-width:min(1100px,94vw);width:94vw;background:white;color:var(--ink)}
dialog::backdrop{background:#07182dde}
dialog img{max-height:72vh;object-fit:contain;margin:auto}
dialog h2{font-size:1.1rem;margin:18px 0 0}
#closeLightbox{position:absolute;right:12px;top:4px;border:0;background:transparent;color:var(--navy);font-size:2rem;padding:0 10px}
@media(min-width:1101px){.mobile-menu{display:none}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-button{display:block}.header-row{min-height:84px}.hero-grid{gap:30px}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.container{width:calc(100% - 32px)}.header-row{gap:10px;min-height:78px}.brand{font-size:.78rem;gap:8px}.brand small{display:none}.brand img{width:38px;height:38px}.header-actions{gap:7px}.header-quote{display:none}.lang-btn{padding:4px 6px}.menu-button{font-size:.75rem}.hero{padding:52px 0}.hero-grid,.about-grid{grid-template-columns:1fr;gap:34px}.section{padding:54px 0}.service-grid,.portfolio-grid,.package-grid{grid-template-columns:1fr}.process-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.footer-grid{grid-template-columns:1fr;gap:30px}.hero-note{font-size:.74rem}.actions{gap:12px}.actions>a{overflow-wrap:anywhere;max-width:100%}.wa-float{right:12px;bottom:12px}.business-details{font-size:.85rem}.accordion-item{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
