/* Shared navigation: only the two existing pages. */
.header,.contact-page .header{width:min(820px,calc(100% - 48px));grid-template-columns:1fr auto;gap:48px;padding:10px 15px 10px 28px}
.header nav{gap:12px;justify-content:flex-end}
.header nav a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 21px;font-size:14px;border-radius:999px;transition:color .25s,background .25s}
.header nav a:after{content:none}
.header nav a:hover{background:#ffffff12}
.header.hero-active nav a:hover{background:#ffffff50}
.header nav a[aria-current]{font-weight:600}
.header nav a.nav-contact,.header.hero-active nav a.nav-contact{background:#192a34;color:#f5f8fa;border:1px solid #ffffff20}
.header nav a.nav-contact:hover,.header.hero-active nav a.nav-contact:hover{background:#365361}
/* A single frosted surface, with a restrained reflection behind the glass. */
.site-footer{position:relative;isolation:isolate;overflow:hidden;padding:36px var(--pad) 32px;background:#080d10;color:#e5eef3}
.site-footer:before{content:'';position:absolute;pointer-events:none;width:72%;height:95%;bottom:-46%;left:14%;z-index:-1;background:radial-gradient(ellipse,#52738765,transparent 65%);filter:blur(35px)}
.footer-glass{position:relative;isolation:isolate;overflow:hidden;max-width:1450px;margin:auto;padding:50px 46px 24px;border:1px solid #b9d9ea30;border-radius:30px;background:linear-gradient(125deg,#d2e8f511,#d2e8f503 50%,#8ebad213),#10191dc9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:inset 0 1px 0 #e1f4ff1c,0 20px 60px #0002}
.footer-glass:before{content:'';position:absolute;inset:-60%;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 43%,#c4e4f208 49%,#ecf8ff0d 50%,transparent 57%);transform:translateX(-8%);animation:footer-reflection 22s ease-in-out infinite alternate;animation-play-state:paused}
.site-footer.is-visible .footer-glass:before{animation-play-state:running}
.footer-main{display:grid;grid-template-columns:1.2fr .65fr 1.1fr;gap:clamp(30px,4vw,70px);padding-bottom:44px}
.footer-logo.logo{width:157px;height:auto;aspect-ratio:1320/567}
.footer-logo.logo img{width:151.515152%;height:auto;aspect-ratio:1;max-width:none;left:-25.227273%;top:-123.985891%;object-fit:contain}
.footer-brand p{font-size:16px;line-height:1.6;color:#afc2cd;margin-top:22px;letter-spacing:-.01em}
.footer-origin{display:block;font-size:13px;color:#8da5b4;margin-top:20px}
.footer-label{display:block;font-size:11px;letter-spacing:.14em;color:#8da7b7;margin-bottom:24px;line-height:1.5}
.footer-nav,.footer-address{padding-top:12px;display:flex;flex-direction:column;align-items:start;font-style:normal;min-width:0}
.footer-nav>a,.footer-address>a{font-size:16px;line-height:1.55;padding-block:5px;color:#e1ecf2;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px;transition:text-decoration-color .25s,color .25s;overflow-wrap:anywhere;max-width:100%}
.footer-nav>a+a,.footer-address>a+a{margin-top:8px}
.footer-nav>a:hover,.footer-address>a:hover{color:white;text-decoration-color:#c5dfed}
.footer-address small{font-size:12px;line-height:1.5;color:#8fa7b5;margin-top:10px}
.footer-socials{display:flex;gap:18px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid #bddcea1d;width:100%}
.footer-socials a{font-size:13px;line-height:1.5;color:#b9ccd7;text-decoration:none;transition:color .25s}
.footer-socials a:hover{color:#fff}
.contact-socials{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px}
.contact-socials a{font-size:13px!important;line-height:1.5!important;padding:0!important;color:inherit;text-decoration:underline;text-decoration-color:#49697a55;text-underline-offset:5px}
.contact-socials a:hover{text-decoration-color:currentColor}
.footer-base{border-top:1px solid #bddcea24;padding-top:24px;display:grid;grid-template-columns:1fr auto 42px;align-items:center;gap:30px}
.footer-copyright{font-size:12px;line-height:1.6;color:#a9bdc9}
.footer-copyright small{font-size:11px;color:#7f9aaa;display:block;margin-top:4px}
.footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:24px}
.footer-legal>a,.footer-legal>button{display:inline-flex;align-items:center;gap:10px;font-size:12px;line-height:1.5;color:#b6c9d4;border:0;background:none;padding:10px 0;cursor:pointer;text-align:left}
.footer-legal>a:hover,.footer-legal>button:hover{color:#fff}
.footer-legal .icon{width:12px;height:12px;transform:scale(.8)}
.footer-top{display:flex;justify-content:center;align-items:center;width:42px;height:42px;border:1px solid #d0e7f32e;border-radius:50%;background:#c7e3f00a;transition:background .25s,transform .25s}
.footer-top:hover{background:#c7e3f022;transform:translateY(-3px)}
@keyframes footer-reflection{from{transform:translateX(-8%) rotate(-3deg)}to{transform:translateX(8%) rotate(3deg)}}
.is-paused .footer-glass:before,.tab-hidden .footer-glass:before{animation-play-state:paused!important}
/* Make testimonials unmistakable without turning the section into a generic card grid. */
.home-page .testimonials{position:relative}
.home-page .testimonials-heading{position:relative;padding-right:min(22vw,280px)}
.home-page .testimonial-cue{position:absolute;right:0;top:0;width:min(18vw,230px);display:flex;align-items:flex-start;gap:14px;color:#b8cad4}
.home-page .testimonial-cue-mark{font-size:clamp(64px,7vw,110px);line-height:.72;font-family:Georgia,serif;color:#d7eef5;opacity:.78}
.home-page .testimonial-cue-copy{padding-top:7px;font-size:11px;line-height:1.55;letter-spacing:.12em;text-transform:uppercase;color:#8299a7;max-width:130px}
.home-page .testimonial-stage{position:relative;background:linear-gradient(120deg,#d9edf407,transparent 34%,#b5d9e707);border-color:#60717c}
.home-page .testimonial-stage:before{content:'“';position:absolute;right:4%;top:18px;font-family:Georgia,serif;font-size:clamp(82px,10vw,170px);line-height:1;color:#d8eef40a;pointer-events:none}
.home-page .testimonial-selectors{display:flex;flex-wrap:wrap;gap:12px 26px}
.home-page .testimonial-selectors button{min-height:42px}
.home-page .testimonial figcaption>span{max-width:560px}
@media(max-width:959px){.header,.contact-page .header{width:calc(100% - 32px);max-width:600px;gap:20px;padding:10px 14px 10px 24px}.header nav{align-items:stretch;gap:6px}.header nav a{justify-content:flex-start;font-size:20px;padding:12px 16px;min-height:48px;border-radius:13px}.header nav a.nav-contact,.header.hero-active nav a.nav-contact{background:#ffffff0c;border:1px solid #ffffff1a}.footer-glass{padding:36px 30px 24px}.footer-main{grid-template-columns:1fr 1fr;gap:35px}.footer-brand{grid-column:1/-1}.footer-brand p{margin-top:15px}.footer-origin{margin-top:14px}.footer-nav,.footer-address{padding-top:0}.footer-base{grid-template-columns:1fr 42px;gap:16px}.footer-copyright{grid-row:2}.footer-legal{grid-column:1;grid-row:1}.footer-top{grid-column:2;grid-row:1/3}.footer-label{margin-bottom:15px}.home-page .testimonials-heading{padding-right:0}.home-page .testimonial-cue{position:static;width:auto;margin-top:28px}.home-page .testimonial-cue-copy{max-width:none;padding-top:4px}}
@media(max-width:540px){.site-footer{padding:24px 16px 20px}.footer-glass{border-radius:24px;padding:30px 24px 20px}.footer-main{grid-template-columns:1fr;gap:27px;padding-bottom:28px}.footer-brand{grid-column:auto}.footer-logo.logo{width:135px}.footer-brand p{font-size:15px}.footer-nav{flex-direction:row;flex-wrap:wrap;column-gap:25px;row-gap:0}.footer-nav .footer-label{width:100%;margin-bottom:8px}.footer-nav>a+a{margin-top:0}.footer-address>a{font-size:15px}.footer-socials{margin-top:16px;padding-top:14px}.footer-legal{gap:5px 20px}.footer-base{padding-top:18px;gap:16px}.footer-legal>a,.footer-legal>button{font-size:12px}.footer-top{align-self:end}.home-page .testimonial-cue{gap:9px}.home-page .testimonial-cue-mark{font-size:58px}.home-page .testimonial-cue-copy{font-size:10px}.home-page .testimonial-selectors{gap:6px 18px}.home-page .testimonial-selectors button{font-size:11px}}
@media(prefers-reduced-motion:reduce){.footer-glass:before{animation:none!important}.footer-top{transition:none}.footer-top:hover{transform:none}}
/* Spacious mobile navigation, independent of each page's hero material. */
.mobile-menu-backdrop{display:none}
@media(max-width:959px){
 .header nav,.header.hero-active nav.is-open{top:80px;left:0;right:0;padding:25px 24px 22px;border:1px solid #ffffff75;border-radius:28px;background:linear-gradient(135deg,#f6faffee,#dfeaf0e8);backdrop-filter:blur(30px) saturate(110%);-webkit-backdrop-filter:blur(30px) saturate(110%);box-shadow:inset 0 1px 0 #fff,0 28px 70px #0a1b3145;gap:0;max-height:calc(100dvh - 116px);overflow-y:auto;overscroll-behavior:contain}
 .header nav.is-open{display:flex;animation:mobile-menu-arrive .3s cubic-bezier(.2,.7,.2,1)}
 .header nav:before{content:'NAVEGAÇÃO';display:block;font-size:10px;letter-spacing:.15em;line-height:1.5;color:#728593;margin:0 12px 12px}
 .header nav:after{content:'Kriativa Marketing · Braga';font-size:12px;line-height:1.5;color:#718793;padding:20px 12px 0}
 .header nav a,.header.hero-active nav.is-open a,.header nav a.nav-contact,.header.hero-active nav a.nav-contact{color:#2f4858;background:transparent;border:0;border-bottom:1px solid #65829325;border-radius:0;display:flex;justify-content:space-between;align-items:center;min-height:63px;padding:14px 12px;font-size:25px;font-weight:400;letter-spacing:-.035em;line-height:1.25;transition:background .2s,color .2s,padding .2s}
 .header nav a:hover,.header.hero-active nav a:hover{background:#ffffff70;color:#102b3c;padding-left:18px}
 .header nav.is-open a[aria-current=page],.header.hero-active nav.is-open a[aria-current=page]{color:#132f42;font-weight:600;background:#ffffff5c;border-radius:10px}
 .header nav a[aria-current=page]:after{content:'';position:static;width:7px;height:7px;border-radius:50%;background:#4c7188;flex:none}
 .header .menu-toggle{width:46px;height:46px;border:1px solid #ffffff35;background:#ffffff15;border-radius:50%;transition:background .25s}
 .header .menu-toggle[aria-expanded=true]{background:#e9f3f9!important;border-color:#ffffffa0}
 .header .menu-toggle[aria-expanded=true] span{background:#234459!important}
 .mobile-menu-backdrop.is-visible{display:block;position:fixed;inset:0;z-index:55;background:#06152266;backdrop-filter:blur(5px);border:0;padding:0}
 body.mobile-navigation-open{overflow:hidden}
 .header:has(nav.is-open){border-color:#ffffff8a}
}
@keyframes mobile-menu-arrive{from{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.header nav.is-open{animation:none}.header nav a{transition:none}}
