@font-face { font-family: Bebas; src: url('../ggap/font/BebasNeue-Regular.ttf'); }
@font-face { font-family: Poppins; src: url('../ggap/font/Poppins-Regular.ttf'); }
@font-face { font-family: Poppins; src: url('../ggap/font/Poppins-SemiBold.ttf'); font-weight: 600; }

:root { --gold: #e7a72e; --ink: #111; --navy: #0a2348; --paper: #f7f7f7; }
* { box-sizing: border-box; }
html, body { margin: 0; background: #fff; color: var(--ink); font-family: Poppins, Arial, sans-serif; }
body { overflow-x: hidden; }
.section-pad { padding: 54px clamp(22px, 6vw, 60px); }
h1, h2, h3, p { margin-top: 0; }
.intro { text-align: center; }
.intro h1, .bridge h2, .gold-band > h2 { font-family: Bebas, Impact, sans-serif; text-transform: uppercase; line-height: .98; letter-spacing: .01em; }
.intro h1 { font-size: clamp(34px, 7vw, 58px); margin-bottom: 22px; }
.intro h1 span, .bridge h2 span { color: var(--gold); }
.intro p, .bridge p { max-width: 820px; margin: 0 auto; font-size: clamp(15px, 2.4vw, 20px); line-height: 1.45; }
.fixed-info { position: relative; width: 100%; padding: 58px 0 0; overflow: hidden; background: #fff; touch-action: none; user-select: none; cursor: grab; }
.fixed-info.is-dragging { cursor: grabbing; }
.fixed-info__canvas { position: absolute; top: 58px; left: 0; width: 1120px; margin: 0; overflow: hidden; background: #fff; transform-origin: top left; will-change: transform; }
.fixed-info__canvas iframe { position: absolute; left: 0; width: 1920px; height: 4200px; border: 0; pointer-events: none; transform-origin: top left; transform: scale(.5833333); }
.fixed-info__canvas.first { height: 650px; }
.fixed-info__canvas.first iframe { top: -205px; }
.fixed-info__canvas.second { height: 633px; }
.fixed-info__canvas.second iframe { top: -1158px; }
.gold-band { padding: 48px clamp(20px, 5vw, 56px) 56px; background: var(--gold); }
.flow-copy { text-align: center; padding-top: 30px; padding-bottom: 44px; }
.flow-copy h2 { margin-bottom: 14px; font: 400 clamp(36px, 7vw, 56px)/1 Bebas, Impact, sans-serif; text-transform: uppercase; }
.flow-copy h2 span { color: var(--gold); }
.flow-copy p { max-width: 850px; margin: 0 auto; font-size: clamp(15px, 2.5vw, 20px); line-height: 1.42; font-weight: 600; }
.gold-band > h2 { margin-bottom: 40px; text-align: center; font-size: clamp(36px, 7vw, 56px); color: #fff; }
.cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 980px; margin: 0 auto; }
.cut-card { position: relative; min-height: 280px; padding: 50px 28px 32px; text-align: center; background: #fff; clip-path: polygon(12px 0, calc(100% - 12px) 0, 100% 12px, 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 12px); filter: drop-shadow(10px 14px 12px rgba(0,0,0,.2)); }
.cut-card img { width: 70px; height: 70px; object-fit: contain; margin: -32px auto 16px; }
.cut-card h3 { font-size: 18px; line-height: 1.22; margin-bottom: 14px; }
.cut-card p { font-size: 14px; line-height: 1.42; margin-bottom: 0; }
.bridge { text-align: center; }
.bridge h2 { font-size: clamp(38px, 8vw, 62px); margin-bottom: 16px; }
.values .cut-card { min-height: 250px; }
.contact { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 42px; align-items: center; max-width: 1100px; margin: 0 auto; padding-top: 70px; padding-bottom: 80px; }
.contact__intro { text-align: center; }
.contact__intro img { display: block; width: min(480px, 100%); height: auto; margin: 0 auto 28px; }
.contact__intro p { font-size: 17px; line-height: 1.5; }
.contact__form { display: grid; gap: 14px; }
.contact__form label > span { display: block; margin-bottom: 6px; font-size: 13px; }
.contact__form input[type=text], .contact__form input[type=email], .contact__form input[type=tel] { width: 100%; height: 48px; border: 1px solid #cfcfcf; border-radius: 2px; padding: 10px 12px; font: 16px Poppins, Arial, sans-serif; }
.consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; }
.consent input { margin-top: 3px; }
.contact__form button { justify-self: start; border: 0; background: var(--gold); color: #111; padding: 13px 28px; font: 600 15px Poppins, Arial, sans-serif; cursor: pointer; }
.contact__form button:hover { background: #d7951b; }
@media (max-width: 700px) {
  .section-pad { padding: 40px 20px; }
  .cards { grid-template-columns: 1fr; }
  .cut-card { min-height: 0; }
  .contact { grid-template-columns: 1fr; padding-top: 54px; }
  .contact__form button { width: 100%; }
}
@media (max-width: 1120px) { .fixed-info__canvas { margin-left: 0; } }
.zoom-controls { position: absolute; z-index: 4; top: 10px; right: 14px; display: flex; gap: 6px; padding: 5px; border-radius: 12px; background: rgba(255,255,255,.96); box-shadow: 0 5px 18px rgba(10,35,72,.18); cursor: default; }
.zoom-controls button { min-width: 38px; height: 36px; padding: 0 10px; border: 1px solid rgba(10,35,72,.13); border-radius: 8px; background: #fff; color: var(--navy); font: 600 14px Poppins, Arial, sans-serif; cursor: pointer; touch-action: manipulation; }
.zoom-controls button:first-child, .zoom-controls button:last-child { font-size: 22px; }
.zoom-controls button:hover, .zoom-controls button:focus-visible { border-color: var(--gold); background: #fff7e8; }


