/* Service navigation and WhatsApp share the existing YVM palette and typography. */
.services-menu { align-self: center; }
.services-menu > summary { display:flex; align-items:center; gap:7px; list-style:none; cursor:pointer; font-size:14px; font-weight:500; }
.services-menu > summary::-webkit-details-marker { display:none; }
.services-menu > summary svg { width:12px; height:12px; transition:transform .25s ease; }
.services-menu[open] > summary { color:var(--orange); }
.services-menu[open] > summary svg { transform:rotate(180deg); }
/* One floating surface; service icons provide a clear visual anchor. */
.services-menu > summary { border-radius:5px; }
.services-menu > summary:focus-visible { outline-offset:7px; }
.services-dropdown { position:absolute; top:calc(100% + 12px); right:24px; width:min(730px,calc(100vw - 48px)); background:#fffdfa; color:var(--ink); border:1px solid #ded9d1; border-radius:16px; padding:14px; box-shadow:0 24px 60px #20201d18,0 4px 12px #20201d08; max-height:calc(100dvh - 140px); overflow:auto; overscroll-behavior:contain; }
.services-dropdown::before { content:''; position:absolute; top:0; height:2px; left:25px; right:25px; background:linear-gradient(90deg,transparent,#f7a055 25%,#e96930 60%,transparent); opacity:.85; }
.services-menu-links { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.services-dropdown a.services-menu-link { position:relative; isolation:isolate; display:grid; grid-template-columns:44px minmax(0,1fr); align-content:start; column-gap:15px; row-gap:7px; min-width:0; padding:23px 16px; border-radius:10px; color:var(--ink); transition:background .25s ease; }
.services-menu-link::before { content:''; position:absolute; z-index:-1; inset:0; border-radius:inherit; background:radial-gradient(ellipse at 12% 12%,#fbc99b75,transparent 75%); opacity:0; transition:opacity .3s ease; }
.menu-service-icon { grid-row:1 / 3; display:grid; place-items:center; align-self:start; width:44px; height:44px; border-radius:12px; color:#be4b1b; background:linear-gradient(140deg,#f9e5d1,#f2e9df); box-shadow:inset 0 1px 0 #fff; transition:color .25s ease,background .25s ease,box-shadow .25s ease; }
.menu-service-icon svg { width:25px; height:25px; transition:transform .35s cubic-bezier(.22,1,.36,1); }
.menu-service-name { font-size:19px; font-weight:600; line-height:1.3; letter-spacing:-.04em; }
.menu-service-description { grid-column:2; color:var(--muted); font-size:14px; font-weight:400; line-height:1.6; max-width:27ch; }
.services-dropdown a.services-menu-link:is(:hover,:focus-visible) { background:#f7f2eb; color:var(--ink); }
.services-menu-link:is(:hover,:focus-visible)::before { opacity:1; }
.services-menu-link:is(:hover,:focus-visible) .menu-service-icon { background:var(--gradient); color:#fff; box-shadow:0 5px 14px #e9693038,inset 0 1px 0 #ffffff45; }
.services-menu-link:is(:hover,:focus-visible) .menu-service-icon svg { transform:translateY(-1px) scale(1.06); }
.services-menu-link[aria-current=page] .menu-service-name { color:#b34317; }
.services-menu-link[aria-current=page] .menu-service-icon { color:#fff; background:var(--gradient); }
.services-menu-link:focus-visible { outline-color:var(--orange); outline-offset:-2px; }
/* Original warm gradient, with white action labels. */
:root { --button-gradient:var(--gradient); }
.button { background:var(--button-gradient); color:#fff; text-shadow:0 1px 2px #79260e50; }
.whatsapp-float { position:fixed; z-index:30; right:max(24px,env(safe-area-inset-right)); bottom:max(24px,env(safe-area-inset-bottom)); display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 19px; min-height:50px; border-radius:8px; background:linear-gradient(110deg,#25d366,#1bae53 58%,#128c4a); color:#fff; box-shadow:0 6px 24px #075e5424; font-size:14px; font-weight:650; line-height:1.4; transition:transform .25s ease,box-shadow .25s ease; }
.whatsapp-float { text-shadow:0 1px 2px #064e2e60; }
.whatsapp-float svg { width:23px; height:23px; flex-shrink:0; }
.whatsapp-float:hover { transform:translateY(-2px); box-shadow:0 9px 28px #075e5430; }
.site-footer { padding-bottom:94px; }
.not-found { padding-bottom:110px; }
.service-hero .service-lead { margin-bottom:30px; }
.services-list .service-row { grid-template-columns:42px minmax(0,1fr) 24px; }
.services-list .service-arrow { grid-column:3; grid-row:1; }
.portals-solution { padding-top:105px; }
.portal-visual { margin:0; min-width:0; }
/* Portal details use an open list. */
.portal-overview { display:grid; grid-template-columns:.85fr 1.15fr; gap:10%; padding-top:24px; padding-bottom:80px; align-items:start; }
.portal-overview-copy h2 { max-width:12ch; }
.portal-overview-copy p { margin-top:22px; font-size:16px; color:var(--muted); max-width:31ch; }
.portal-features { margin:0; border-top:1px solid var(--line); }
.portal-features > div { padding:23px 0; border-bottom:1px solid var(--line); }
.portal-features dt { font-size:22px; font-weight:500; letter-spacing:-.035em; line-height:1.3; }
.portal-features dd { margin:7px 0 0; color:var(--muted); font-size:16px; line-height:1.65; }
@media (prefers-reduced-motion:no-preference) {
 .whatsapp-float {
  background-image:linear-gradient(90deg,#1bae53 0%,#25d366 25%,#1bae53 50%,#128c4a 75%,#1bae53 100%);
  background-size:200% 100%; background-repeat:repeat;
  animation:whatsapp-gradient 7s linear infinite;
 }
 @keyframes whatsapp-gradient {
  from { background-position:0% 50%; }
  to { background-position:200% 50%; }
 }
 .services-menu[open] .services-dropdown { transform-origin:75% 0; animation:services-enter .38s cubic-bezier(.22,1,.36,1); }
 @keyframes services-enter { from { opacity:0; transform:translateY(-8px) scale(.985); } to { opacity:1; transform:none; } }
}
@media (max-width:850px) {
 .mobile-nav { max-height:calc(100dvh - 80px); overflow:auto; overscroll-behavior:contain; padding-bottom:100px; }
 .mobile-nav .services-menu > summary { font-size:25px; padding:10px 0; justify-content:space-between; }
 .mobile-nav .services-menu > summary svg { width:16px; height:16px; }
 .services-dropdown { position:static; width:100%; max-height:none; padding:0; margin:8px 0 16px; border:0; border-radius:0; box-shadow:none; overflow:visible; background:transparent; }
 .services-dropdown::before { display:none; }
 .services-menu-links { grid-template-columns:1fr; gap:4px; }
 .services-dropdown a.services-menu-link { padding:17px 8px; grid-template-columns:40px minmax(0,1fr); column-gap:13px; row-gap:5px; }
 .menu-service-icon { width:40px; height:40px; border-radius:10px; }
 .menu-service-name { font-size:18px; }
 .menu-service-description { max-width:none; }
}
@media (max-width:760px) {
 .portals-solution { padding-top:65px; }
 .portal-overview { grid-template-columns:1fr; gap:30px; padding-top:0; padding-bottom:45px; }
 .portal-overview-copy h2,.portal-overview-copy p { max-width:32ch; }
 .whatsapp-float { right:max(16px,env(safe-area-inset-right)); bottom:max(16px,env(safe-area-inset-bottom)); padding:13px 16px; }
 .services-list .service-row { grid-template-columns:25px minmax(0,1fr) 22px; }
}
@media (prefers-reduced-motion:reduce) { .whatsapp-float:hover,.services-menu-link:is(:hover,:focus-visible) .menu-service-icon svg { transform:none; } }

/* The fifth service stays aligned with the existing menu on both screen sizes. */
.services-menu-link:last-child:nth-child(odd) { grid-column:1 / -1; }
.services-dropdown a.services-menu-website { min-height:178px; padding-right:258px; align-content:center; border:1px solid #ffffffd9; border-radius:16px; background:linear-gradient(125deg,#ffffffc9,#f2e8dc70); box-shadow:inset 0 1px 0 #fff,0 5px 20px #5141310c,0 0 0 1px #cfc3b838; -webkit-backdrop-filter:blur(12px) saturate(125%); backdrop-filter:blur(12px) saturate(125%); }
.services-dropdown a.services-menu-website:is(:hover,:focus-visible) { background:linear-gradient(125deg,#ffffffed,#f4e1cead); }
.menu-website-visual { position:absolute; right:15px; top:50%; transform:translateY(-50%); width:220px; aspect-ratio:3 / 2; overflow:hidden; border-radius:11px; background:#e8d3b9; }
.menu-website-image { display:block; width:100%; height:100%; object-fit:contain; }
.menu-website-arrow { position:absolute; right:9px; bottom:9px; display:grid; place-items:center; width:34px; height:34px; border-radius:50%; border:1px solid #ffffffc9; background:linear-gradient(135deg,#ffffffa8,#ffffff52); color:#3b3027; box-shadow:inset 0 1px 0 #fff,0 3px 10px #34221524; -webkit-backdrop-filter:blur(9px) saturate(130%); backdrop-filter:blur(9px) saturate(130%); }
.menu-website-arrow .arrow-icon { width:17px; height:17px; }
@media(prefers-reduced-motion:no-preference) {
 .menu-website-arrow .arrow-icon { transition:transform .3s ease; }
 .services-menu-website:is(:hover,:focus-visible) .menu-website-arrow .arrow-icon { transform:translate(1px,-1px); }
}
@media (max-width:850px) {
 .services-dropdown a.services-menu-website { grid-template-columns:minmax(0,1fr); padding-left:12px; padding-right:132px; min-height:155px; }
 .services-menu-website .menu-service-icon { display:none; }
 .services-menu-website .menu-service-description { grid-column:1; }
 .menu-website-visual { right:8px; width:112px; border-radius:9px; }
 .menu-website-arrow { width:26px; height:26px; right:5px; bottom:5px; }
 .menu-website-arrow .arrow-icon { width:14px; height:14px; }
}
