/* =========================================================
   GRAVI DIGITAL — ORISA HEADER
   INITIAL: FIXED FULL NAVIGATION
   SCROLL: FLOATING MENU + RIGHT OFFCANVAS
========================================================= */

.gd-orisa-header {
    --gd-black: #0b0b0b;
    --gd-white: #f5f5f3;
    --gd-muted: #9a9a9a;
    --gd-line: rgba(255,255,255,.12);
    --gd-ease: cubic-bezier(.65,0,.35,1);

    position: fixed;
    inset: 0;
    width: 100%;
    height: 0;
    z-index: 99990;
    pointer-events: none;
    font-family: var(--at-ff-body, "DM Sans", Arial, sans-serif);
}

.gd-orisa-header *,
.gd-orisa-header *::before,
.gd-orisa-header *::after { box-sizing: border-box; }

/* =========================================================
   INITIAL FIXED HEADER
========================================================= */
.gd-orisa-fixed-bar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 84px;
    z-index: 99990;
    display: block;
    background: rgba(10,10,10,.97);
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.10);
    transition:
        transform .65s var(--gd-ease),
        opacity .4s ease,
        visibility .65s ease;
    pointer-events: auto;
}

.gd-orisa-fixed-inner {
    height: 100%;
    width: 100%;
    padding: 0 28px;
    display: flex;
    align-items: center;
    gap: 45px;
}

.gd-orisa-fixed-brand {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    min-width: 145px;
    color: #fff;
    text-decoration: none;
}

.gd-orisa-fixed-brand img {
    display: block;
    width: auto;
    max-width: 145px;
    max-height: 46px;
    object-fit: contain;
}

.gd-orisa-fixed-brand-text {
    font-size: 28px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.06em;
}

.gd-orisa-fixed-brand-text span { opacity: .55; }

.gd-orisa-fixed-nav {
    flex: 1 1 auto;
    height: 100%;
    display: flex;
    align-items: center;
    gap: 36px;
}

.gd-orisa-fixed-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    height: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(255,255,255,.94);
    text-decoration: none;
    white-space: nowrap;
    font-size: 16px;
    line-height: 1;
    font-weight: 650;
    letter-spacing: -.025em;
    cursor: pointer;
    transition: color .25s ease;
}

.gd-orisa-fixed-link::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 19px;
    height: 1px;
    background: #fff;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .35s var(--gd-ease);
}

.gd-orisa-fixed-link:hover,
.gd-orisa-fixed-link.is-active { color: #fff; }
.gd-orisa-fixed-link:hover::after,
.gd-orisa-fixed-link.is-active::after { transform: scaleX(1); }

.gd-orisa-fixed-service-wrap { position: relative; height: 100%; }
.gd-orisa-fixed-services-toggle { width: auto; }

.gd-orisa-nav-caret {
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 5px solid currentColor;
    margin-top: 2px;
}

/* =========================================================
   INITIAL SERVICES MEGA MENU
========================================================= */
.gd-orisa-desktop-services {
    position: absolute;
    top: 84px;
    left: -30px;
    width: min(930px, calc(100vw - 80px));
    padding-top: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity .25s ease, transform .35s var(--gd-ease), visibility .25s ease;
}

.gd-orisa-fixed-service-wrap:hover .gd-orisa-desktop-services,
.gd-orisa-fixed-service-wrap.is-open .gd-orisa-desktop-services {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.gd-orisa-desktop-services-inner {
    max-height: calc(100vh - 105px);
    overflow-y: auto;
    padding: 28px;
    background: #111;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 0 0 16px 16px;
    box-shadow: 0 25px 70px rgba(0,0,0,.35);
}

.gd-orisa-desktop-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 25px;
}

.gd-orisa-desktop-category {
    min-width: 0;
    padding: 2px 5px 15px;
}

.gd-orisa-desktop-category-title {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
    color: #fff;
    text-decoration: none;
    font-size: 15px;
    font-weight: 700;
}

.gd-orisa-desktop-category-title:hover { color: #fff; }

.gd-orisa-desktop-subcategory {
    display: block;
    margin-top: 11px;
    color: #bbb;
    text-decoration: none;
    font-size: 12px;
    font-weight: 700;
}

.gd-orisa-desktop-subcategory:hover { color: #fff; }

.gd-orisa-desktop-service-links {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-top: 5px;
}

.gd-orisa-desktop-service-links a {
    color: #777;
    text-decoration: none;
    font-size: 12px;
    transition: color .2s ease, padding-left .2s ease;
}

.gd-orisa-desktop-service-links a:hover {
    color: #fff;
    padding-left: 4px;
}

.gd-orisa-desktop-all-services,
.gd-orisa-all-services {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-top: 18px;
    margin-top: 18px;
    border-top: 1px solid var(--gd-line);
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
}

/* =========================================================
   INITIAL RIGHT ACTIONS
========================================================= */
.gd-orisa-fixed-actions {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 13px;
}

.gd-orisa-fixed-whatsapp {
    color: #fff;
    text-decoration: none;
    font-size: 14px;
    font-weight: 650;
    white-space: nowrap;
}

.gd-orisa-fixed-whatsapp span { opacity: .7; }

.gd-orisa-fixed-talk {
    min-width: 137px;
    height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    padding: 0 18px;
    border: 0;
    border-radius: 28px;
    background: #202020;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: background .25s ease, transform .25s ease;
}

.gd-orisa-fixed-talk:hover {
    background: #2b2b2b;
    transform: translateY(-1px);
}

.gd-orisa-mobile-menu { display: none; }

/* =========================================================
   SCROLL STATE
========================================================= */
.gd-orisa-header.is-scrolled .gd-orisa-fixed-bar {
    opacity: 0;
    visibility: hidden;
    transform: translateY(-105%);
    pointer-events: none;
}

.gd-orisa-menu-trigger {
    position: fixed;
    top: 18px;
    right: 24px;
    z-index: 99993;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    min-width: 137px;
    height: 60px;
    padding: 0 20px 0 23px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 17px;
    background: rgba(11,11,11,.96);
    color: #fff;
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-18px);
    pointer-events: none;
    transition: opacity .35s ease, visibility .35s ease, transform .55s var(--gd-ease);
}

.gd-orisa-header.is-scrolled .gd-orisa-menu-trigger {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.gd-orisa-menu-trigger:hover { background: #171717; }

.gd-orisa-menu-trigger-label {
    font-size: 15px;
    line-height: 1;
    font-weight: 700;
    letter-spacing: -.02em;
}

.gd-orisa-menu-grid {
    display: grid;
    grid-template-columns: repeat(2, 5px);
    grid-auto-rows: 5px;
    gap: 3px;
}

.gd-orisa-menu-grid i {
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 1px;
    background: currentColor;
}

/* =========================================================
   RIGHT OFFCANVAS
========================================================= */
.gd-orisa-menu-panel {
    position: fixed;
    inset: 0 0 0 auto;
    z-index: 99992;
    width: min(640px, 40vw);
    min-width: 520px;
    background: #0b0b0b;
    color: #f5f5f3;
    transform: translateX(105%);
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    overflow-y: auto;
    overscroll-behavior: contain;
    transition: transform .7s var(--gd-ease), opacity .35s ease, visibility 0s linear .7s;
}

.gd-orisa-header.menu-open .gd-orisa-menu-panel {
    transform: translateX(0);
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transition: transform .7s var(--gd-ease), opacity .35s ease, visibility 0s linear 0s;
}

.gd-orisa-menu-panel-inner {
    min-height: 100%;
    padding: 46px 64px 42px;
    display: flex;
    flex-direction: column;
}

.gd-orisa-panel-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: clamp(55px, 8vh, 100px);
}

.gd-orisa-panel-brand { display: inline-flex; align-items: center; color: #fff; text-decoration: none; }
.gd-orisa-panel-brand img { max-width: 180px; max-height: 48px; object-fit: contain; }
.gd-orisa-brand-fallback { font-size: 26px; font-weight: 700; letter-spacing: -.055em; }
.gd-orisa-brand-fallback span { opacity: .58; }

.gd-orisa-close,
.gd-orisa-lead-close {
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #fff;
    cursor: pointer;
}

.gd-orisa-close span,
.gd-orisa-lead-close span {
    position: absolute;
    left: 7px;
    top: 20px;
    width: 29px;
    height: 1.5px;
    background: currentColor;
    transition: transform .45s var(--gd-ease);
}

.gd-orisa-close span:first-child,
.gd-orisa-lead-close span:first-child { transform: rotate(45deg); }
.gd-orisa-close span:last-child,
.gd-orisa-lead-close span:last-child { transform: rotate(-45deg); }
.gd-orisa-close:hover span:first-child,
.gd-orisa-lead-close:hover span:first-child { transform: rotate(135deg); }
.gd-orisa-close:hover span:last-child,
.gd-orisa-lead-close:hover span:last-child { transform: rotate(45deg); }

.gd-orisa-panel-nav { display: flex; flex-direction: column; }

.gd-orisa-main-link {
    width: 100%;
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    border: 0;
    border-top: 1px solid var(--gd-line);
    background: transparent;
    color: #f3f3f1;
    text-decoration: none;
    text-align: left;
    font-size: clamp(34px, 3.25vw, 54px);
    line-height: .98;
    font-weight: 600;
    letter-spacing: -.065em;
    cursor: pointer;
    transition: color .25s ease, padding-left .45s var(--gd-ease);
}

.gd-orisa-main-link:hover,
.gd-orisa-main-link.is-active { color: #fff; padding-left: 10px; }
.gd-orisa-plus { font-size: 42px; font-weight: 300; }
.gd-orisa-services-toggle[aria-expanded="true"] .gd-orisa-plus { transform: rotate(45deg); }
.gd-orisa-service-block { border-top: 1px solid var(--gd-line); }
.gd-orisa-service-block .gd-orisa-services-toggle { border-top: 0; }

.gd-orisa-services { padding: 6px 0 30px; }
.gd-orisa-services-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 28px; padding: 8px 0 26px; }
.gd-orisa-service-category { min-width: 0; }
.gd-orisa-category-title { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 13px; border:1px solid var(--gd-line); border-radius:8px; color:#fff; text-decoration:none; font-size:16px; font-weight:700; }
.gd-orisa-category-title:hover { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.25); }
.gd-orisa-subcategory { padding-top:14px; }
.gd-orisa-subcategory-title { display:block; margin-bottom:6px; color:#bbb; text-decoration:none; font-size:13px; font-weight:700; }
.gd-orisa-subcategory-title:hover { color:#fff; }
.gd-orisa-service-links { display:flex; flex-direction:column; gap:4px; }
.gd-orisa-service-links a { color:#858585; text-decoration:none; font-size:13px; transition:color .2s ease, padding-left .2s ease; }
.gd-orisa-service-links a:hover { color:#fff; padding-left:5px; }
.gd-orisa-all-services { display:flex; align-items:center; justify-content:space-between; padding:15px 0; border-top:1px solid var(--gd-line); color:#fff; text-decoration:none; font-size:15px; font-weight:700; }

.gd-orisa-panel-footer { margin-top:auto; padding-top:55px; }
.gd-orisa-panel-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.gd-orisa-whatsapp,
.gd-orisa-talk { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:0 18px; border-radius:8px; text-decoration:none; font-size:14px; font-weight:700; }
.gd-orisa-whatsapp { border:1px solid var(--gd-line); color:#fff; }
.gd-orisa-talk { border:1px solid #fff; background:#fff; color:#111; cursor:pointer; }
.gd-orisa-socials { display:flex; flex-wrap:wrap; gap:20px; padding-top:24px; }
.gd-orisa-socials a { color:#777; text-decoration:none; font-size:12px; }
.gd-orisa-socials a:hover { color:#fff; }

.gd-orisa-overlay { position:fixed; inset:0; z-index:99991; background:rgba(0,0,0,.42); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .5s ease, visibility .5s ease; }
.gd-orisa-header.menu-open .gd-orisa-overlay { opacity:1; visibility:visible; pointer-events:auto; }
html.gd-orisa-menu-lock, body.gd-orisa-menu-lock { overflow:hidden !important; }

/* =========================================================
   LEAD POPUP
========================================================= */
.gd-orisa-lead { position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:30px; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .35s ease, visibility .35s ease; }
.gd-orisa-lead.is-open { opacity:1; visibility:visible; pointer-events:auto; }
.gd-orisa-lead-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.72); backdrop-filter:blur(7px); }
.gd-orisa-lead-dialog { position:relative; z-index:2; width:min(650px,100%); max-height:90vh; overflow-y:auto; padding:48px; background:#111; color:#fff; border:1px solid rgba(255,255,255,.12); border-radius:18px; box-shadow:0 30px 100px rgba(0,0,0,.4); }
.gd-orisa-kicker { display:block; margin-bottom:14px; color:#aaa; font-size:11px; font-weight:700; letter-spacing:.22em; }
.gd-orisa-lead-dialog h2 { margin:0 0 32px; font-size:clamp(34px,4vw,58px); line-height:.95; letter-spacing:-.06em; }
.gd-orisa-lead-dialog h2 em { font-weight:400; }
.gd-orisa-lead-close { position:absolute; top:18px; right:18px; }
.gd-orisa-lead-form { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.gd-orisa-field { display:flex; flex-direction:column; gap:7px; }
.gd-orisa-field-full { grid-column:1 / -1; }
.gd-orisa-field label { color:#aaa; font-size:12px; }
.gd-orisa-field input,
.gd-orisa-field select,
.gd-orisa-field textarea { width:100%; padding:13px 14px; border:1px solid rgba(255,255,255,.14); border-radius:7px; background:#181818; color:#fff; outline:none; }
.gd-orisa-field input:focus,
.gd-orisa-field select:focus,
.gd-orisa-field textarea:focus { border-color:rgba(255,255,255,.4); }
.gd-orisa-submit { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:52px; padding:0 18px; border:0; border-radius:7px; background:#fff; color:#111; font-weight:700; cursor:pointer; }
.gd-orisa-form-message { grid-column:1 / -1; min-height:20px; font-size:13px; }
.gd-orisa-form-message.is-success { color:#8fe09a; }
.gd-orisa-form-message.is-error { color:#ff9b9b; }

/* =========================================================
   RESPONSIVE
========================================================= */
@media (max-width: 1100px) {
    .gd-orisa-fixed-inner { gap:25px; padding:0 20px; }
    .gd-orisa-fixed-nav { gap:22px; }
    .gd-orisa-fixed-brand { min-width:125px; }
    .gd-orisa-fixed-whatsapp { display:none; }
}

@media (max-width: 900px) {
    .gd-orisa-fixed-nav { display:none; }
    .gd-orisa-fixed-inner { justify-content:space-between; }
    .gd-orisa-mobile-menu { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-width:112px; height:48px; padding:0 15px; border:0; border-radius:14px; background:#202020; color:#fff; font-size:13px; font-weight:700; cursor:pointer; }
    .gd-orisa-fixed-talk { min-width:120px; height:48px; }
    .gd-orisa-menu-trigger { display:none; }
    .gd-orisa-menu-panel { width:100%; min-width:0; }
    .gd-orisa-menu-panel-inner { padding:30px 24px 30px; }
}

@media (max-width: 767px) {
    .gd-orisa-fixed-bar { height:70px; }
    .gd-orisa-fixed-inner { padding:0 15px; gap:10px; }
    .gd-orisa-fixed-brand { min-width:0; }
    .gd-orisa-fixed-brand img { max-width:120px; max-height:38px; }
    .gd-orisa-fixed-brand-text { font-size:23px; }
    .gd-orisa-fixed-talk { min-width:0; width:48px; padding:0; justify-content:center; font-size:0; }
    .gd-orisa-fixed-talk span:last-child { font-size:18px; }
    .gd-orisa-mobile-menu { min-width:92px; height:44px; }
    .gd-orisa-main-link { min-height:70px; font-size:32px; }
    .gd-orisa-services-grid { grid-template-columns:1fr; gap:20px; }
    .gd-orisa-panel-actions { grid-template-columns:1fr; }
    .gd-orisa-lead { padding:15px; }
    .gd-orisa-lead-dialog { padding:35px 22px 25px; }
    .gd-orisa-lead-form { grid-template-columns:1fr; }
    .gd-orisa-field-full,
    .gd-orisa-form-message { grid-column:auto; }
}

@media (prefers-reduced-motion: reduce) {
    .gd-orisa-fixed-bar,
    .gd-orisa-menu-trigger,
    .gd-orisa-menu-panel,
    .gd-orisa-overlay,
    .gd-orisa-lead { transition:none !important; }
}
