/* Gallo upper-page system: responsive commercial hero and navigation. */
:root{--brand-primary:#0b2b3e;--brand-deep:#071e2d;--brand-accent:#d4af37;--text-on-brand:#f7fafc;--text-secondary:#d6e0e5;--radius-control:10px;--radius-surface:16px}
.header{position:relative;background:var(--brand-deep);border-bottom:1px solid #ffffff1c;box-shadow:0 6px 24px #04141f38}
.header .nav{height:78px;gap:24px}.header .brand-link{display:flex;width:112px;height:72px;align-items:center;overflow:hidden;flex:0 0 auto}.header .logo{display:block;width:auto;height:62px;max-width:100%;object-fit:contain}.header .nav-links{display:flex;align-items:center;justify-content:center;gap:2px;margin-left:auto}.header .nav-links a{padding:11px 13px;border-radius:8px;font-size:14px;line-height:1.4}.header .nav-links a.active{background:#ffffff0d;color:var(--brand-accent)}.nav-actions{display:flex;align-items:center;gap:10px}.header .talk,.hero-actions .talk{min-height:46px;padding:11px 18px;border-radius:var(--radius-control);font-size:14px;line-height:1.4;font-weight:800}.header .talk{white-space:nowrap}.talk:hover{background:#e3bf4c}.menu-toggle,.mobile-menu{display:none}
.hero{position:relative;isolation:isolate;min-height:570px;overflow:hidden;background:var(--brand-primary);color:#fff}.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,30,45,.97) 0%,rgba(7,30,45,.91) 30%,rgba(7,30,45,.52) 52%,rgba(7,30,45,.06) 78%),linear-gradient(0deg,rgba(7,30,45,.45),transparent 48%)}.hero>.hero-art{position:absolute;z-index:-2;inset:0;display:block;width:100%;height:100%;min-height:0;margin:0;border:0;border-radius:0;overflow:hidden}.hero>.hero-art:before{display:none}.hero>.hero-art img{display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:cover;object-position:center 28%;border-radius:0}.hero .hero-grid{display:flex;min-height:570px;padding:72px 0 78px;align-items:center}.hero .hero-copy{display:block;width:min(575px,52%);min-height:0;padding:0}.hero .hero-copy:before{display:none}.hero .hero-kicker{margin:0 0 17px;color:var(--brand-accent);font-size:12px;line-height:1.5;font-weight:800;letter-spacing:.13em}.hero h1{max-width:570px;margin:0;color:var(--text-on-brand);font-size:clamp(39px,4.2vw,60px);font-weight:850;line-height:1.04;letter-spacing:-.045em;text-shadow:0 2px 18px #04141f52}.hero h1 span{display:block;margin-top:8px;color:var(--brand-accent)}.hero .hero-description{max-width:480px;margin:21px 0 0;color:var(--text-secondary);font-size:18px;line-height:1.62}.hero .hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:29px}.hero-actions .talk{display:inline-flex;justify-content:center;gap:20px;text-decoration:none}.hero .contact-link{min-height:42px;padding:9px 0;border:0;background:transparent;color:#fff;font-size:14px;font-weight:700;text-decoration:underline;text-underline-offset:6px;cursor:pointer}.hero .hero-assurance{margin:22px 0 0;color:#cbd8df;font-size:13px;line-height:1.5}.hero-credit{position:absolute;right:max(20px,calc((100vw - 1200px)/2));bottom:20px;padding:9px 12px;border:1px solid #ffffff24;border-radius:8px;background:#071e2db8;color:#fff;font-size:13px;line-height:1.35;backdrop-filter:blur(8px)}.hero-credit small{display:block;color:#c4d0d7;font-size:11px}
.search-wrap{padding-top:24px}.search-panel{border-radius:var(--radius-surface);box-shadow:0 8px 28px #0b2b3e0c}.search-head{padding:16px 20px}.search-icon{flex-shrink:0;font-size:20px}.field{min-height:64px;border-radius:var(--radius-control)}.field-text small{color:#667580;font-size:12px;letter-spacing:.025em;text-transform:none}.field input,.field select{font-size:14px;line-height:1.5}.filter-btn{border-radius:var(--radius-control)}
.card-link{display:block;color:inherit;text-decoration:none}.card-link:focus-visible{outline:3px solid var(--brand-accent);outline-offset:3px}.details-btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}
@media(max-width:1000px){.header .nav-links{display:none}.menu-toggle{display:grid;width:44px;height:44px;padding:10px;border:1px solid #ffffff29;border-radius:9px;background:#ffffff0b;place-content:center;gap:5px;cursor:pointer}.menu-toggle span{display:block;width:21px;height:2px;border-radius:2px;background:#fff;transition:.2s}.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:absolute;z-index:30;top:100%;left:0;width:100%;background:var(--brand-deep);border-top:1px solid #ffffff1c;box-shadow:0 20px 30px #04141f52}.mobile-menu.open{display:block}.mobile-menu nav{display:grid;padding-top:12px;padding-bottom:18px}.mobile-menu a{padding:14px 4px;border-bottom:1px solid #ffffff14;color:#fff;font-size:15px;font-weight:700;text-decoration:none}.mobile-menu .talk{justify-content:center;margin-top:14px}.hero .hero-copy{width:min(560px,61%)}}
@media(max-width:700px){.container{width:calc(100% - 32px)}.header .nav{height:68px;gap:12px}.header .brand-link{width:98px;height:62px}.header .logo{width:auto;height:54px;max-width:100%}.header .desktop-contact{display:none}.menu-toggle{width:42px;height:42px}.hero{min-height:600px}.hero:after{background:linear-gradient(180deg,rgba(7,30,45,.02) 0%,rgba(7,30,45,.08) 30%,rgba(7,30,45,.79) 52%,rgba(7,30,45,.98) 75%,var(--brand-deep) 100%)}.hero>.hero-art img{object-position:61% center}.hero .hero-grid{min-height:600px;padding:300px 0 26px;align-items:flex-start}.hero .hero-copy{width:100%}.hero .hero-kicker{margin:0 0 9px;font-size:11px;letter-spacing:.1em}.hero h1{max-width:345px;font-size:clamp(29px,8vw,37px);line-height:1.07;letter-spacing:-.035em}.hero h1 br{display:none}.hero h1 span{margin-top:4px}.hero .hero-description{max-width:360px;margin-top:12px;font-size:16px;line-height:1.48}.hero .hero-actions{display:grid;grid-template-columns:1fr;margin-top:16px;gap:7px}.hero-actions .talk{width:100%;min-height:46px;padding:10px 15px}.hero .contact-link{min-height:35px;padding:5px 0}.hero .hero-assurance{display:none}.hero-credit{top:248px;right:16px;bottom:auto;padding:6px 8px;font-size:11px}.hero-credit small{display:none}.search-wrap{padding-top:16px}.search-meta,.search-title{font-size:12px;line-height:1.4}}
@media(prefers-reduced-motion:reduce){.menu-toggle span{transition:none}}
