/* Grupo A&G · Dirección visual: azul institucional, plata y blanco. */
:root{--navy:#123953;--deep:#f8fbfd;--blue:#2b709b;--ink:#14344c;--muted:#526b7a;--light:#eef5f9;--line:#d5e1e9;--accent:#2b709b;--accent-dark:#164c72;--serif:Georgia,'Times New Roman',serif}
body{background:#ffffff}.wrap{width:min(1320px,calc(100% - 112px))}.home .topline{display:none}.header{background:#fffffff7;color:#173c58;border-color:#c7d8e3}.home .header{position:fixed;top:0;width:100%;background:#fffffff2;border-color:#c7d8e3;transition:background .3s}.home .header.is-scrolled{background:#fffffff7}.header-inner{min-height:106px}.brand-symbol img{filter:none;mix-blend-mode:multiply}.brand-type strong{font-size:1.43rem;letter-spacing:.08em}.brand-type>span{color:#536d7e;font-family:Arial,sans-serif;font-size:.75rem;letter-spacing:.045em}.header nav{gap:28px}.header nav>a:hover{color:var(--accent)}.header nav .nav-contact{border-color:#a7c2d6;color:var(--accent);padding:13px 22px}.menu-toggle{color:var(--accent)}
.hero{position:relative;isolation:isolate;background:#f5f9fc;color:#143b58;min-height:max(780px,100svh);overflow:hidden}.hero-visual{position:absolute;inset:0;height:100%;width:100%;margin:0!important;z-index:-2;background:#f5f9fc;align-self:auto}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:66% center;filter:grayscale(1) brightness(1.35) contrast(.82);animation:hero-arrive 1.8s ease both}.hero-visual:after{background:linear-gradient(90deg,#f8fbfd 0%,#f6fafdF5 34%,#edf5fbd9 53%,#e9f3fa38 76%,#e9f3fa12 100%),linear-gradient(0deg,#f5f9fcf2 0%,transparent 28%)}.hero-layout{display:block;min-height:0;position:relative}.hero-copy{padding:clamp(178px,22vh,245px) 0 130px;width:65%;max-width:850px}.hero-copy .overline{display:flex;align-items:center;gap:16px;color:var(--accent);font-size:.75rem;letter-spacing:.19em;margin-bottom:30px}.hero-copy .overline>span{height:1px;width:38px;background:var(--accent)}.hero-slides{min-height:365px}.hero-slide h1,.hero-slide h2{font:400 clamp(4.6rem,7.5vw,7.3rem)/.99 var(--serif);letter-spacing:-.055em;margin:0 0 31px}.hero-slide h1 em,.hero-slide h2 em{display:inline;color:var(--accent);font-weight:400}.hero-slide p{color:#425f74;font-size:1.04rem;line-height:1.75;margin-bottom:30px;max-width:475px}.hero-actions{display:flex;align-items:center;gap:32px;flex-wrap:wrap}.button-primary{background:var(--accent);border-color:var(--accent);color:#ffffff;min-height:56px;padding:17px 23px;font-size:.9rem}.button-primary:hover{background:#174e72;border-color:#174e72;color:#fff;box-shadow:0 8px 35px #23678a20}.hero-secondary{display:inline-flex;gap:16px;align-items:center;font-size:.875rem;color:#234e6c;min-height:44px;border-bottom:1px solid #b7cbd9}.hero-secondary:hover{color:var(--accent)}.hero-controls{max-width:540px;margin-top:48px;justify-content:flex-start;gap:35px}.hero-dots{gap:25px}.hero-dots button{color:#425f74;padding:12px 0;font-size:.875rem;display:flex;align-items:center;gap:10px;border-bottom:1px solid #c8d8e4}.hero-dots button span{font-size:.75rem;color:#678294}.hero-dots button[aria-current=true]{color:var(--accent);border-color:var(--accent)}.hero-dots button[aria-current=true] span{color:var(--accent)}.hero .arrow-button{width:43px;height:43px;min-width:43px;min-height:43px;border-radius:50%;border-color:#b7cbd9;color:#245675}.hero-bottom{position:absolute;left:0;right:0;bottom:0;padding:22px 0;border-color:#c7d7e2;color:#234e6c}.hero-bottom>span{font-size:.75rem;letter-spacing:.18em;color:#526d7f}.hero-bottom a{align-items:center;gap:20px;font-size:.8rem}.scroll-circle{display:grid;place-items:center;border:1px solid #a8c3d8;border-radius:50%;width:38px;height:38px;color:var(--accent)}
.intro-screen{background:#f8fbfd}.intro-screen img{filter:none;mix-blend-mode:multiply}.intro-screen p{color:var(--accent)}.intro-screen span,.intro-screen button{color:#536d7e}.intro-screen>div{position:relative}.intro-screen>div:after{content:'';display:block;width:130px;height:1px;background:var(--accent);margin:30px auto 0;transform-origin:left;animation:intro-line 1s ease both}
@keyframes hero-arrive{from{opacity:.4;transform:scale(1.045)}to{opacity:1;transform:scale(1)}}@keyframes intro-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(min-width:1600px){.hero-copy{padding-top:24vh;padding-bottom:150px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.header nav{gap:18px}.brand-type strong{font-size:1.25rem}.hero-copy{width:75%;padding-top:180px}.hero-slide h1,.hero-slide h2{font-size:clamp(4.8rem,8vw,6.5rem)}.hero-visual>img{object-position:63% center}.hero-visual:after{background:linear-gradient(90deg,#f8fbfd 0%,#f4f9fcf2 40%,#ebf4fac9 65%,#e9f3fa33),linear-gradient(0deg,#f5f9fcf2,transparent 35%)}.hero-actions{gap:22px}}
@media(max-width:820px){.wrap{width:calc(100% - 40px)}.header-inner{min-height:88px}.header nav{gap:0;background:#ffffff}.header nav>a,.header nav .nav-contact{border-color:#c8d8e4;padding:15px 0}.header:has(nav.is-open){background:#ffffff}.hero{min-height:850px;min-height:max(800px,100svh)}.hero-copy{width:100%;max-width:650px;padding:172px 0 135px}.hero-visual>img{object-position:70% center;opacity:1}.hero-visual:after{background:linear-gradient(90deg,#f6fafdf5 0%,#edf5fade 55%,#eaf3fab0),linear-gradient(0deg,#f7fbfdf2 0%,transparent 65%)}.hero-copy .overline{font-size:.75rem;letter-spacing:.14em}.hero-slide h1,.hero-slide h2{font-size:clamp(3.75rem,10vw,5.8rem)}.hero-slides{min-height:360px}.hero-slide p{font-size:1rem;max-width:415px}.hero-controls{margin-top:28px;gap:22px}.hero-bottom{flex-wrap:nowrap}.hero-bottom>span{font-size:.75rem;letter-spacing:.09em}.hero-bottom a{font-size:.75rem;gap:12px}.hero-actions{gap:12px 24px}.hero-dots{gap:20px}}
@media(max-width:540px){.hero{min-height:820px}.hero-copy{padding-top:167px;padding-bottom:135px}.hero-copy .overline{font-size:.75rem;gap:9px;letter-spacing:.1em;margin-bottom:32px}.hero-copy .overline>span{width:22px}.hero-slide h1,.hero-slide h2{font-size:clamp(3.3rem,12.3vw,4.8rem);line-height:1.04;letter-spacing:-.055em;margin-bottom:26px}.hero-slides{min-height:340px}.hero-slide p{max-width:330px;line-height:1.8;margin-bottom:26px}.hero-slide p br{display:none}.hero-visual>img{object-position:69% center;opacity:1}.hero-visual:after{background:linear-gradient(90deg,#f6fafdf5 0%,#edf5fade 55%,#eaf3fab3),linear-gradient(0deg,#f7fbfdf5 0%,#f4f9fc22 85%)}.hero-actions{flex-direction:column;align-items:flex-start;gap:16px}.hero-controls{margin-top:32px;gap:20px}.hero-dots{gap:17px}.hero-dots button{font-size:.8rem;gap:7px}.hero .arrow-button{min-width:36px;width:36px;height:36px;min-height:36px}.hero-bottom>span{max-width:165px;line-height:1.8}.hero-bottom a{gap:10px}.brand-type>span{font-size:.75rem}.brand-type strong{font-size:1.2rem}.intro-screen img{width:175px}}
@media(prefers-reduced-motion:reduce){.hero-visual>img{animation:none}.intro-screen{display:none}}
/* The same visual language continues through services, people and contact. */
.section{padding-block:115px}h2{font-size:clamp(2.75rem,4.3vw,4.1rem);line-height:1.1;letter-spacing:-.045em}h2 em{color:#39779f}.overline{color:#3c7499;font-size:.75rem;letter-spacing:.2em}.button,.text-link,.arrow-button{transition:background .25s,color .25s,border-color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button-dark{background:#12212e;border-color:#12212e}.button-dark:hover{background:#293c4a}.button-light{background:var(--accent);border-color:var(--accent);color:#ffffff}.button-light:hover{background:#1d547b}.text-link{font-size:.9rem}.intro-screen>div{background:#f8fbfd}.intro-screen>div:after{height:1px}.about{gap:60px 90px;align-items:start}.about h2{max-width:640px}.about-visual{margin:38px 0 0;position:relative;height:250px;overflow:hidden}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:saturate(.5)}.about-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent,#07121cba)}.about-visual figcaption{position:absolute;bottom:24px;left:24px;z-index:1;color:#fff;letter-spacing:.15em;font-size:.75rem}.about-copy{padding-top:57px}.about-copy .large-copy{font-size:1.75rem;line-height:1.45;color:#15222b}.about-copy>p:not(.large-copy){font-size:1rem;line-height:1.9}.approach{gap:0;padding-top:10px}.approach article{border-top:1px solid #9bbad1;padding:34px 38px 10px;position:relative}.approach article:first-child{padding-left:0}.approach article+article{border-left:1px solid #d8e4ec}.approach span{color:#417caa;font:italic 2rem var(--serif)}.approach h3{font-size:2rem;margin-top:18px}.approach p{font-size:.95rem}
.practice{position:relative;background:#eef5fa;color:#143b58}.practice:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 100% 20%,#bad7eb33,transparent 60%)}.practice>.wrap{position:relative}.practice .overline{color:var(--accent)}.practice h2 em{color:var(--accent)}.section-heading{gap:60px;margin-bottom:60px}.practice-summary{display:flex;align-items:center;gap:25px;flex-shrink:0}.practice-summary>span{font:400 6.3rem/.9 var(--serif);color:var(--accent);letter-spacing:-.07em}.practice-summary p{margin:0;color:#4a667a;font-size:.9rem;line-height:1.7}.featured-service{display:grid;grid-template-columns:1fr 1fr auto;align-items:center;gap:35px;border:1px solid #c3d7e6;border-left:3px solid var(--accent);padding:30px 32px;background:#ffffff;margin-bottom:44px}.featured-service .overline{font-size:.75rem;margin-bottom:12px}.featured-service h3{font-size:2.2rem;line-height:1.05;margin:0}.featured-service h3 em{color:var(--accent)}.featured-service>p{font-size:.95rem;color:#4e677a;margin:0;line-height:1.7}.featured-service .button{font-size:.85rem;white-space:nowrap;padding-inline:19px;gap:20px}.practice-toolbar{border-color:#c8d8e4;padding-block:25px;gap:24px}.practice-toolbar>label{color:#4e677a;font-size:.875rem}.practice-toolbar select{background:#ffffff;border-color:#b5cedf;max-width:555px;color:#1d4765;min-height:52px}.practice .arrow-button{border-color:#a8c3d8;color:var(--accent);border-radius:50%;width:49px;height:49px}.practice .arrow-button:hover{background:var(--accent);color:#ffffff}.carousel-controls output{color:var(--accent);font-size:.875rem}.practice-slide{gap:80px;padding:52px 0 30px;min-height:540px;animation:slide-in .45s ease-out}.practice-lead{position:relative;padding-top:16px}.practice-number{display:block;font:400 5rem/.85 var(--serif);letter-spacing:-.06em;color:#b7cedf;margin:0 0 24px}.practice-lead .overline{font-size:.75rem;margin-bottom:18px}.practice-lead h3{font-size:clamp(2.4rem,3.5vw,3.55rem);line-height:1.12;letter-spacing:-.04em;position:relative;max-width:550px}.practice-tag{color:#4f718a;font:400 1.15rem/1.6 var(--serif)}.practice-detail{border-left:1px solid #c8d8e4;padding:16px 0 0 45px}.practice-detail p,.practice-detail li{color:#415e74;font-size:1rem}.practice-detail h4{font-size:.875rem;font-weight:600;color:var(--accent);letter-spacing:.03em;margin:30px 0 15px}.practice-detail li{border-color:#c7d8e3;padding-block:14px}.practice-detail li:before{color:var(--accent)}.practice-detail li strong{font-weight:600;color:#183e5a}.swipe-hint{color:#557488;font-size:.8rem}.all-areas,.all-areas button{border-color:#c8d8e4}.all-areas summary{color:#204c6b;padding-block:27px}.all-areas button:hover{color:var(--accent);background:#d8eaf5}.all-areas button span{color:var(--accent)}.all-areas>div{column-gap:60px}.complementary{gap:60px}.complementary h2{font-size:2.9rem}.complementary article{border-top:1px solid #adc5d8;padding-top:24px}.complementary .line-number{font:italic 1.5rem var(--serif);color:#4079a2}.complementary h3{font-size:2.4rem}.complementary p{font-size:1rem;line-height:1.9}
.team{background:#f1f6fa;border-color:#d9e6ef}.team-grid{gap:32px}.person{background:#ffffff;color:#163c59;padding:37px 40px 35px;border-top:3px solid #7ea8c7;position:relative;overflow:hidden}.person-heading{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:30px}.person-role{color:var(--accent);font-size:.75rem;letter-spacing:.16em;margin:0}.person-monogram{font:italic 2.6rem var(--serif);color:#5c86a7;border:1px solid #c8dce9;display:grid;place-items:center;width:82px;height:82px;border-radius:50%}.person h3{font-size:clamp(2.2rem,3vw,3rem);letter-spacing:-.025em}.person-position{color:#294f6b;font-size:.95rem}.person-position span{color:#547185;font-size:.875rem;margin-top:7px}.person-contacts{border-color:#c8d8e4}.person-contacts a{font-size:.95rem}.person-contacts a>span{color:#5c7487;font-size:.8rem}.person-contacts a:hover{color:var(--accent)}.person-contacts .person-email{border-color:#c8d8e4;color:var(--accent);font-size:.95rem}.contact{position:relative}.contact-layout{gap:85px;grid-template-columns:1fr 1.05fr}.contact-layout h2{font-size:clamp(2.75rem,4.1vw,4rem)}.contact-info>a,.contact-info>p{border-color:#cadce7;padding-block:24px}.contact-info>a>span{font-size:.75rem;letter-spacing:.08em;color:#446f8e}.contact-info strong{font-size:1.05rem}.contact-form{background:#fff;border:1px solid #d6e3ec;border-top:3px solid #81a7c5;box-shadow:0 20px 70px #0b1e2b0a;padding:40px}.contact-form h3{font-size:2.5rem}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{background:#f7fafc;border-color:#c4d6e3;padding:14px}.contact-form .form-grid{gap:20px}.contact-form label{font-size:.875rem}.contact-form>button{background:#12212e;min-height:58px}.contact-form .consent{font-size:.85rem}.contact-form>button:hover{background:#304352}.form-note,.form-intro{font-size:.8rem}.footer{background:#e9f2f8;padding-top:75px}.footer-main{gap:65px}.footer .footer-brand{font-size:2.75rem;letter-spacing:.035em;color:#193f5e}.footer .footer-label{color:var(--accent);font-size:.75rem}.footer p{color:#47677e}.footer a{color:#244f70}.footer .socials>span,.footer .socials>a{border-color:#a9c1d470;border-radius:50%}.footer .socials img{opacity:.8}.footer-bottom{border-color:#c7d8e3;padding-block:27px 35px;color:#56738a}.footer-bottom button{color:#245e87}.footer-bottom a:hover{color:var(--accent)}
.privacy-banner{background:#ffffff;color:#173c58;border:1px solid #bdd0df80;border-top:3px solid var(--accent);box-shadow:0 14px 60px #0005}.privacy-banner .overline{color:var(--accent)}.privacy-banner p:not(.overline){color:#4e677a}.privacy-banner .button{border-color:#a7c2d6;color:#234f6d}.privacy-banner .button-dark{background:var(--accent);border-color:var(--accent);color:#ffffff}.privacy-banner>a{color:#4f6f85}dialog{background:#ffffff;border-top:3px solid #81a7c5}dialog::backdrop{background:#050c15bb}.policy-main h1{font-size:clamp(2.8rem,5vw,4.8rem)}.policy-content h2{font-size:1.75rem}.policy-main{padding-top:70px}.policy-content th{background:#edf5fa}.policy-main .overline{color:#39779f}.reveal-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal-ready .reveal.is-visible{opacity:1;transform:none}
@media(max-width:1100px){.section{padding-block:85px}.about{gap:55px}.about-visual{height:240px}.practice-summary{gap:16px}.practice-summary>span{font-size:5rem}.featured-service{grid-template-columns:1fr 1.1fr;gap:22px;padding:28px}.featured-service .button{grid-column:2;justify-self:start}.featured-service h3{font-size:2.4rem}.practice-slide{gap:45px}.practice-detail{padding-left:30px}.team-grid{gap:25px}.person{padding:30px}.contact-layout{gap:40px}.contact-form{padding:30px}.contact-form .form-grid{gap:0}.complementary{gap:30px}.complementary h2{font-size:2.5rem}.complementary h3{font-size:2rem}.footer-main{gap:35px}}
@media(max-width:820px){.section{padding-block:70px}h2{font-size:clamp(2.5rem,6vw,3.5rem)}.about{gap:30px}.about-copy{padding-top:0}.about-visual{height:250px}.about-copy .large-copy{font-size:1.5rem}.approach article{padding-inline:20px}.approach h3{font-size:1.6rem}.section-heading{margin-bottom:40px}.practice-summary{margin-top:30px}.practice-summary>span{font-size:4rem}.practice-summary p{font-size:.875rem}.featured-service{grid-template-columns:1fr 1fr;padding:25px;gap:25px}.featured-service .button{grid-column:1/-1}.featured-service h3{font-size:2.1rem}.practice-slide{gap:25px;padding-top:36px}.practice-lead{padding-top:0}.practice-number{font-size:3.4rem;margin-bottom:20px}.practice-lead h3{font-size:2.75rem;max-width:650px}.practice-detail{border-left:0;border-top:1px solid #c8d8e4;padding:30px 0 0}.practice-toolbar select{max-width:none}.practice-tag{max-width:650px}.team-grid{gap:22px}.person{padding:27px}.person h3{font-size:2.1rem}.person-heading{display:block;position:relative;min-height:55px;margin-bottom:25px}.person-monogram{position:absolute;right:0;top:-9px;width:55px;height:55px;font-size:1.8rem}.person-role{font-size:.75rem;max-width:130px;line-height:1.7}.contact-layout{gap:40px;grid-template-columns:1fr}.contact-form .form-grid{gap:20px}.contact-layout h2{max-width:610px}.complementary h2{font-size:2.8rem}.footer-main{gap:35px}.footer .footer-brand{font-size:2.4rem}}
@media(max-width:540px){.section{padding-block:62px}.about-visual{height:220px}.about-copy .large-copy{font-size:1.4rem}.approach{gap:24px}.approach article,.approach article:first-child{padding:24px 0 0}.approach article+article{border-left:0}.approach span{font-size:1.5rem}.approach h3{font-size:1.75rem;margin:0}.approach p{font-size:.95rem}.featured-service{grid-template-columns:1fr;padding:25px 23px;gap:20px;margin-bottom:28px}.featured-service h3{font-size:2.6rem}.featured-service .button{grid-column:auto;justify-self:stretch}.featured-service>p{font-size:.95rem}.practice-toolbar{padding-block:22px}.practice-lead h3{font-size:2.4rem}.practice-number{font-size:3.3rem}.practice-lead .overline{font-size:.75rem}.practice-detail h4{font-size:.9rem}.practice-detail li,.practice-detail p{font-size:1rem}.swipe-hint{line-height:1.7}.person{padding:28px}.person h3{font-size:2.45rem}.person-role{max-width:180px}.person-contacts .person-email{font-size:.9rem}.person-contacts a{font-size:.9rem}.person-heading{margin-bottom:12px}.contact-layout h2{font-size:2.75rem}.contact-form{padding:28px 21px}.contact-form h3{font-size:2.2rem}.contact-form .form-grid{gap:0}.complementary{gap:35px}.complementary h2{font-size:2.75rem}.complementary h3{font-size:2.3rem}.footer{padding-top:55px}.privacy-banner{width:calc(100% - 32px)}.policy-main{padding-top:45px}.policy-main h1{font-size:3rem}}
@media(prefers-reduced-motion:reduce){.reveal-ready .reveal{opacity:1;transform:none;transition:none}}

.brand-symbol{mix-blend-mode:multiply}

.header .brand-symbol{isolation:auto;background:transparent;mix-blend-mode:multiply}

/* Light surfaces use blue text and silver rules throughout. */
.header .brand-symbol img{filter:none;mix-blend-mode:multiply}
.header nav .nav-contact{border-color:#adc7da;background:#f3f8fb;color:#184d73}
.header nav .nav-contact:hover{background:#e2eef6}
.topline{background:#edf4f9;color:#426681}
.intro-screen,.intro-screen>div{background:#fff}
.intro-screen p{color:#173e5c}.intro-screen span,.intro-screen button{color:#58748a}
.button-primary,.button-light{color:#fff;background:#266d9b;border-color:#266d9b}
.button-primary:hover,.button-light:hover{background:#164e76;color:#fff;border-color:#164e76}
.hero .arrow-button:hover{background:#e0edf6}.hero-slide em{color:#286f9c}
.practice .section-heading>p,.practice .practice-detail p,.practice .practice-detail li{color:#415e74}
.practice .all-areas button{color:#244f70}
.practice .arrow-button:hover{background:#246e9d;color:#fff}
.person{box-shadow:0 10px 30px #1c496409;border:1px solid #d3e2ed;border-top:3px solid #87acc8}
.person-position,.person-contacts a{color:#244b68}
.footer{color:#214b6b;border-top:1px solid #c8dce9}
.footer .socials>span,.footer .socials>a{border-color:#a9c1d4}.footer .socials img{filter:none;opacity:.72}
.privacy-banner{border-color:#bdd0df;box-shadow:0 12px 45px #173e5b1c}
.privacy-banner .button{color:#285a7b;border-color:#a9c5d9}.privacy-banner .button-dark{background:#276c99;color:#fff}
.privacy-banner h2,.policy-main h1{color:#173e5c}
@media(max-width:820px){.header nav,.header:has(nav.is-open){background:#fff}.header nav>a,.header nav .nav-contact{border-color:#d7e4ee}.header nav .nav-contact{background:transparent}}

/* Justified body copy; labels, headings and contact data retain natural spacing. */
.hero-slide p,.about-copy p,.approach p,.featured-service>p,
.practice-lead>p:not(.overline),.practice-detail p,.practice-detail li,
.complementary article>p,.team .section-heading>p,
.contact-layout>div>p:not(.overline),.form-note,.contact-result p,
.policy-content p,.policy-content li{
  text-align:justify;text-align-last:start;text-justify:inter-word;
  -webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;
}
.person-position{margin-bottom:0}
/* A distinct visual cue for each practice, keeping the numbered navigation. */
.all-areas button{align-items:center;gap:18px;padding:20px 12px;min-height:94px}
.all-areas button .area-icon{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border:1px solid #c1d7e7;border-radius:12px;background:#e5eff7;color:#285d83}
.area-icon svg{width:28px;height:28px;display:block}
.all-areas button .area-label{display:flex;align-items:baseline;gap:14px;min-width:0}
.all-areas button .area-number{color:#51728b;font-size:.75rem;letter-spacing:.06em;font-variant-numeric:tabular-nums;flex-shrink:0}
.all-areas button .area-name{color:#244f70;font-size:.95rem;line-height:1.55}
.all-areas button:hover .area-icon,.all-areas button:focus-visible .area-icon{background:#d0e4f2;border-color:#81a8c5;color:#16476b}
.all-areas button:focus-visible{outline:2px solid #2b709b;outline-offset:-2px}
@media(max-width:820px){.all-areas>div{column-gap:24px}.all-areas button{gap:13px;padding-inline:4px}.all-areas button .area-label{display:block}.all-areas button .area-number{display:block;margin-bottom:3px}}
@media(max-width:540px){.all-areas button{min-height:88px}.all-areas button .area-icon{flex-basis:44px;width:44px;height:44px}.area-icon svg{width:27px;height:27px}.all-areas button .area-name{font-size:.925rem}}

.footer .socials>a:hover{background:#d4e6f3;border-color:#2b709b}.footer .socials>a:focus-visible{outline:2px solid #2b709b;outline-offset:4px}.contact-info strong{overflow-wrap:anywhere}

/* High-correction vector QR with the supplied A&G logo and a four-module white margin. */
.whatsapp-card{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:28px;padding:24px;border:1px solid #c8dce9;background:#f3f8fb}
.whatsapp-qr{position:relative;display:block;flex:0 0 180px;width:180px;height:180px;overflow:hidden;background:#fff;border-radius:4px}
.whatsapp-qr>img{display:block;width:180px;height:180px}
.whatsapp-qr .qr-brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:44px;height:44px;padding:4px;background:#fff}
.whatsapp-qr .qr-brand img{display:block;width:36px;height:36px;max-width:none}
.whatsapp-qr:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.whatsapp-copy{flex:1 1 200px;min-width:0}
.whatsapp-copy .overline{font-size:.875rem;letter-spacing:.1em;line-height:1.5;margin:0 0 9px}
.whatsapp-copy h3{font-size:2rem;line-height:1.15;margin:0;color:#173e5c}
.whatsapp-copy>p:not(.overline){font-size:.95rem;line-height:1.7;margin:12px 0 20px;color:#4e677a;text-align:justify;text-align-last:start;-webkit-hyphens:auto;hyphens:auto}
.whatsapp-copy .button{min-height:48px;padding:13px 17px;font-size:.875rem;gap:18px}
@media(max-width:540px){.whatsapp-card{padding:22px;gap:18px}.whatsapp-qr{margin-inline:auto}.whatsapp-copy{flex-basis:100%}.whatsapp-copy .button{width:100%;justify-content:space-between}}

/* Concrete client benefits before the team and contact sections. */
.why-us{background:#fff;border-top:1px solid #dce7ee}
.why-us-layout{display:grid;grid-template-columns:.9fr 1.25fr;align-items:start;gap:72px}
.why-us-intro h2{font-size:clamp(2.75rem,3.9vw,3.75rem);margin-bottom:28px}
.why-us-intro>p:not(.overline){font-size:1rem;line-height:1.9;color:#4e677a;max-width:480px;margin-bottom:30px;text-align:justify;text-align-last:start;-webkit-hyphens:auto;hyphens:auto}
.why-us-intro .button{gap:24px;font-size:.9rem}
.why-us-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.why-us-card{background:#f3f8fb;border:1px solid #d2e1ec;border-top:2px solid #83a8c4;padding:28px;min-width:0}
.why-us-number{display:block;font:italic 1.5rem/1 var(--serif);color:#3b779f;margin-bottom:25px}
.why-us-card h3{font-size:1.7rem;line-height:1.2;letter-spacing:-.02em;margin:0 0 17px;color:#173e5c}
.why-us-card p{font-size:1rem;line-height:1.85;margin:0;color:#4e677a;text-align:justify;text-align-last:start;-webkit-hyphens:auto;hyphens:auto}
@media(max-width:1100px){.why-us-layout{grid-template-columns:1fr;gap:38px}.why-us-intro{max-width:760px}.why-us-intro>p:not(.overline){max-width:650px}.why-us-grid{gap:24px}}
@media(max-width:540px){.why-us-grid{grid-template-columns:1fr;gap:18px}.why-us-card{padding:26px}.why-us-number{margin-bottom:20px}.why-us-intro .button{max-width:100%;font-size:.875rem;gap:16px}}

/* Keep the opening message in two lines, including on narrow screens. */
.hero-slide h1.defense-title{font-size:clamp(2.1rem,6.9vw,6.5rem)}
.defense-title .hero-priority{display:inline-block;white-space:nowrap}
@media(max-width:820px){.hero-slide h1.defense-title{font-size:clamp(2rem,10vw,4.7rem)}}

/* A persistent language choice, with compact controls on small screens. */
.header-inner{gap:20px}
.header .brand{order:0}
.header #navigation{order:1;margin-left:auto}
.language-switch{order:2;display:flex;align-items:center;flex-shrink:0;border:1px solid #c7d8e3;border-radius:5px;padding:2px;background:#f4f8fb;gap:2px}
.language-switch a{display:grid;place-items:center;min-width:36px;min-height:40px;font-size:.875rem;line-height:1;color:#37627f;border-radius:3px}
.language-switch a[aria-current=page]{background:#236a97;color:#fff}
.language-switch a:hover{background:#dceaf4;color:#164c72}
.header .menu-toggle{order:3;min-height:44px;min-width:44px;justify-content:center}
@media(max-width:1100px){
 .header-inner{flex-wrap:wrap;gap:0 16px}
 .header .brand{margin-right:auto}
 .language-switch{order:1}
 .header .menu-toggle{display:flex;align-items:center;gap:10px;background:transparent;border:0;padding:10px 0;color:#276c99;font-size:.9rem;order:2}
 .header #navigation{order:3;display:none;width:100%;margin:0;flex-direction:column;align-items:stretch;gap:0;padding:4px 0 18px;background:#fff;max-height:calc(100dvh - 100px);overflow-y:auto}
 .header #navigation.is-open{display:flex}
 .header #navigation>a,.header #navigation .nav-contact{padding:14px 0;border:0;border-top:1px solid #d7e4ee;background:transparent}
 .header:has(nav.is-open){background:#fff}
}
@media(max-width:540px){
 .header-inner{gap:0 7px}
 .header .brand{gap:8px;min-width:0}
 .header .brand-symbol{width:36px;height:43px;flex-shrink:0}
 .header .brand-symbol img{width:48px;top:-3px;left:-6px}
 .header .brand-type strong{font-size:1rem;letter-spacing:.02em;white-space:nowrap}
 .header .brand-type>span,.menu-label{display:none}
 .language-switch a{min-width:31px;min-height:40px}
 .header .menu-toggle{font-size:1.2rem}
 .contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{font-size:1rem}
 html[lang=en] .hero-dots{gap:13px}
}
