/* Képközpontú szolgáltatásgalériák, külső függőség nélkül. */
.references-page main{overflow:clip}
.references-hero{position:relative;isolation:isolate;min-height:640px;display:flex;align-items:center;background:#09131c;color:#edf2f7;overflow:hidden}
.references-hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 58%;z-index:-3;animation:reference-drift 18s ease-in-out infinite alternate}
.references-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#07111bf5,#07111bcb 36%,#07111b12 80%),linear-gradient(0deg,#07111b80,transparent 40%);z-index:-2}
.references-hero::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 130px,#ffffff04 130px 131px);pointer-events:none;z-index:-1}
.references-hero-content{padding-block:35px 28px}
.references-hero .breadcrumbs{margin-bottom:38px}
.references-hero .eyebrow{font-size:14px;color:var(--gold);margin-bottom:20px}
.references-hero h1{font-size:clamp(36px,4.3vw,62px);line-height:1.1;letter-spacing:-.04em;font-weight:400;margin-bottom:25px;color:#edf2f7}
.references-hero h1>span{font-weight:900;color:var(--gold)}
.references-hero-content>p:not(.eyebrow){font-size:20px;line-height:1.75;color:#d1dce6;margin-bottom:30px}
.references-hero .button{font-size:17px}
.references-hero-foot{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding-top:22px;margin-top:56px;color:#cfdae5;font-size:13px;letter-spacing:.12em}
.references-hero-foot>span:last-child{color:var(--gold)}
.reference-categories{background:#101e2b;border-block:1px solid #ffffff14}
.reference-categories>div{display:flex;justify-content:space-between;gap:15px;overflow-x:auto;scrollbar-width:thin;padding-block:24px}
.reference-categories a{font-size:14px;white-space:nowrap;font-weight:700;color:#dce5ee;display:flex;align-items:center;gap:10px;transition:color .2s}
.reference-categories a>span{font-size:12px;color:var(--gold);border-bottom:1px solid #f6bc3560;padding-bottom:3px}
.reference-categories a:hover{color:var(--gold)}
.reference-case.service-detail{padding:85px 0;background:#e1e5e9;scroll-margin-top:110px}
.reference-case:nth-child(even){background:radial-gradient(ellipse at 80% 20%,#1b3b5c50,transparent 65%),#0c1823;color:#edf2f7}
.reference-case-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}
.reference-case:nth-child(even) .reference-visual{order:2}
.reference-visual{min-width:0}
.reference-cover{position:relative;display:block;width:100%;padding:0;border:1px solid #ffffff30;border-radius:12px;background:#172b40;color:#fff;overflow:hidden;box-shadow:0 23px 45px #07111b2b;text-align:left;isolation:isolate}
.reference-cover>img{width:100%;height:500px;object-fit:cover;transition:transform .8s cubic-bezier(.2,.6,.3,1)}
.reference-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0007,transparent 28%,transparent 60%,#07111bba);pointer-events:none}
.reference-cover:hover>img{transform:scale(1.045)}
.reference-cover:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.reference-image-top,.reference-image-bottom{position:absolute;left:26px;right:26px;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700}
.reference-image-top{top:24px;font-size:14px}
.reference-image-top>span:first-child{padding:7px 12px;border:1px solid #ffffff40;background:#07111b70;backdrop-filter:blur(8px);border-radius:5px}
.reference-image-top>span:last-child{font-size:12px;letter-spacing:.08em}
.reference-image-bottom{bottom:25px;font-size:18px;letter-spacing:.04em}
.reference-play{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;background:linear-gradient(140deg,#ffe090,var(--gold));color:#14202b;box-shadow:inset 0 1px 2px #fff,0 4px 0 #a7790b,0 8px 22px #0005;font-size:28px;transition:transform .25s}
.reference-cover:hover .reference-play{transform:translateY(-4px)}
.reference-tags{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.reference-tags>span{font-size:14px;color:#526477;border:1px solid #8194a64d;border-radius:30px;padding:6px 12px}
.reference-copy .eyebrow{font-size:14px;color:#806017;margin-bottom:20px}
.reference-copy h2{font-size:clamp(29px,3vw,43px);line-height:1.1;color:#131c23;margin-bottom:23px;letter-spacing:-.035em}
.reference-copy h2>span{color:#ba7b00}
.reference-description{font-size:18px;line-height:1.8;color:#415466;margin-bottom:25px}
.reference-process{display:grid;gap:20px;margin-bottom:30px}
.reference-process>div{display:flex;gap:17px}
.reference-process>div>span{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid #a7b3c1;border-radius:50%;font-size:12px;font-weight:700;color:#637487}
.reference-process h3{font-size:15px;line-height:1.5;letter-spacing:.08em;margin:3px 0 6px;color:#172b40}
.reference-process p{font-size:17px;line-height:1.75;color:#536477;margin:0}
.reference-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.reference-actions .button{font-size:16px;padding:14px 19px;gap:24px;max-width:100%}
.reference-actions>a{font-size:16px;font-weight:700;color:#28435f}
.reference-actions>a>span{margin-left:8px;color:#a7790b}
.reference-case:nth-child(even) .reference-copy h2{color:#eef2f7}
.reference-case:nth-child(even) .reference-copy h2>span,.reference-case:nth-child(even) .eyebrow{color:var(--gold)}
.reference-case:nth-child(even) .reference-description{color:#d1dce7}
.reference-case:nth-child(even) .reference-process h3{color:#edf2f7}
.reference-case:nth-child(even) .reference-process p,.reference-case:nth-child(even) .reference-tags>span{color:#b2c2d3}
.reference-case:nth-child(even) .reference-actions>a{color:#dce5ee}
.reference-case:nth-child(even) .reference-process>div>span{color:var(--gold);border-color:#ffffff30}
.reference-gallery{width:min(1180px,calc(100vw - 32px));max-width:none;max-height:94vh;max-height:94dvh;padding:0;border:1px solid #ffffff24;border-radius:15px;background:#0b1722;color:#edf2f7;box-shadow:0 35px 110px #000b;overflow:auto;scrollbar-width:thin;scrollbar-color:#526477 #0b1722}
.reference-gallery::backdrop{background:#020b14e8;backdrop-filter:blur(10px)}
.reference-gallery[open]{animation:gallery-enter .25s ease both}
.gallery-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;border-bottom:1px solid #ffffff17}
.gallery-eyebrow{display:block;font-size:12px;letter-spacing:.12em;color:var(--gold);margin-bottom:5px}
.gallery-top h2{font-size:24px;line-height:1.2;color:#edf2f7;margin:0}
.gallery-top .dialog-close{position:static;flex-shrink:0;border-radius:9px}
.gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;background:#060f17;min-height:180px;touch-action:pan-y}
.gallery-stage>img{width:100%;height:min(58vh,680px);height:min(58dvh,680px);object-fit:contain;transition:opacity .18s}
.gallery-stage>img.loading{opacity:.4}
.gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:10px;border:1px solid #ffffff55;background:#07111bc9;backdrop-filter:blur(8px);color:#fff;font-size:25px;box-shadow:0 8px 24px #0005;transition:background .2s,color .2s}
.gallery-arrow:hover{background:var(--gold);color:#09131c}
.gallery-arrow:focus-visible,.gallery-thumbnail:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.gallery-prev{left:18px}.gallery-next{right:18px}
.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px 10px}
.gallery-bottom>p{font-size:17px;line-height:1.6;color:#c3d1df;margin:0}
#gallery-count{color:var(--gold);font-size:16px;white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-thumbnails{display:flex;gap:10px;padding:6px 24px 22px}
.gallery-thumbnail{width:84px;height:56px;border:2px solid transparent;border-radius:6px;padding:0;background:#172b40;opacity:.55;overflow:hidden;transition:opacity .2s,border-color .2s}
.gallery-thumbnail>img{width:100%;height:100%;object-fit:cover}
.gallery-thumbnail[aria-pressed=true]{opacity:1;border-color:var(--gold)}
.gallery-thumbnail:hover{opacity:1}
@keyframes reference-drift{from{transform:scale(1)}to{transform:scale(1.055)}}
@keyframes gallery-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(max-width:1100px){.reference-case-grid{gap:35px}.reference-cover>img{height:460px}.reference-categories a{font-size:13px}.reference-categories>div{gap:24px}.reference-image-top,.reference-image-bottom{left:20px;right:20px}.reference-image-top{align-items:flex-start;flex-direction:column}}
@media(max-width:850px){.references-hero{min-height:590px}.references-hero::before{background:linear-gradient(90deg,#07111bf2,#07111ba8 65%,#07111b50)}.reference-case-grid{grid-template-columns:1fr;gap:35px}.reference-case:nth-child(even) .reference-visual{order:0}.reference-cover>img{height:420px}.reference-case.service-detail{padding:60px 0}.reference-image-top{flex-direction:row}.reference-copy h2{font-size:36px}.reference-copy{max-width:650px}}
@media(max-width:580px){.references-hero{min-height:610px}.references-hero-photo{object-position:65% center}.references-hero-content{padding-block:25px}.references-hero .breadcrumbs{margin-bottom:35px}.references-hero h1{font-size:clamp(31px,8vw,42px)}.references-hero-content>p:not(.eyebrow){font-size:18px}.references-hero .eyebrow{font-size:12px}.references-hero-foot{margin-top:40px;font-size:11px;letter-spacing:.05em}.reference-categories>div{padding-block:20px}.reference-categories a{font-size:14px}.reference-cover>img{height:340px}.reference-image-top,.reference-image-bottom{left:17px;right:17px}.reference-image-top{font-size:13px;top:17px;gap:8px}.reference-image-top>span:last-child{font-size:11px}.reference-image-bottom{font-size:16px;bottom:20px}.reference-copy h2{font-size:32px}.reference-process p{font-size:17px}.reference-tags>span{font-size:13px}.reference-actions{gap:25px}.reference-gallery{width:calc(100vw - 14px);border-radius:12px}.gallery-top{padding:16px}.gallery-top h2{font-size:20px}.gallery-eyebrow{font-size:11px}.gallery-stage>img{height:49vh;height:49dvh}.gallery-arrow{width:40px;height:44px;font-size:22px}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-bottom{padding:16px;align-items:flex-start;gap:12px}.gallery-bottom>p{font-size:16px}.gallery-thumbnails{padding:0 16px 18px}.gallery-thumbnail{width:72px;height:48px}}
@media(prefers-reduced-motion:reduce){.references-hero-photo,.reference-gallery[open]{animation:none}.reference-cover>img,.reference-play,.gallery-stage>img{transition:none}}
