/* ==========================================================================
   Geyik — main.css (async) · v0.2 LIGHT
   Components · home sections · footer · menu overlay · cursor
   ========================================================================== */

/* ---------- Links ---------- */
.link-arrow{display:inline-flex;align-items:center;gap:.5em;font-weight:600;white-space:nowrap;background:linear-gradient(currentColor,currentColor) left bottom/0 1.5px no-repeat;padding-bottom:3px;transition:background-size .5s var(--ease-out),color .3s}
.link-arrow:hover{background-size:100% 1.5px;color:var(--accent)}
.link-arrow .icon{width:1.05em;height:1.05em;transition:transform .5s var(--ease-out)}
.link-arrow:hover .icon{transform:translateX(4px)}
.prose a,.entry-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em;text-decoration-color:var(--accent)}

/* ---------- Section header ---------- */
.section-head{display:grid;gap:1.25rem;margin-bottom:clamp(40px,5vw,80px)}
.section-head__title{font-size:var(--fs-h2);max-width:18ch}
@media (min-width:768px){
	.section-head{grid-template-columns:1fr auto;align-items:end;column-gap:3rem}
	.section-head .eyebrow{grid-column:1/-1}
}

/* ---------- Mobile menu overlay ---------- */
.menu-overlay{position:fixed;inset:0;z-index:90;background:var(--background);display:flex;flex-direction:column;justify-content:space-between;padding:calc(var(--header-h) + 24px) var(--gutter) 32px;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .8s var(--ease-io),visibility 0s .8s}
.menu-open .menu-overlay{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .8s var(--ease-io)}
.menu-open{overflow:hidden}
.menu-overlay__list{list-style:none;margin:0;padding:0;counter-reset:m}
.menu-overlay__list li{counter-increment:m;border-bottom:1px solid var(--border);overflow:hidden}
.menu-overlay__list a{display:flex;align-items:baseline;justify-content:space-between;padding:.9rem 0;font-family:var(--font-display);font-size:clamp(2.25rem,10vw,4.25rem);font-weight:700;line-height:1;letter-spacing:-.04em;transform:translateY(100%);transition:transform .8s var(--ease-out),color .3s}
.menu-overlay__list a::after{content:"0" counter(m);font-family:var(--font-mono);font-size:.75rem;font-weight:400;letter-spacing:.12em;color:var(--muted)}
.menu-overlay__list a:hover{color:var(--accent)}
.menu-open .menu-overlay__list a{transform:none}
.menu-open .menu-overlay__list li:nth-child(2) a{transition-delay:.05s}
.menu-open .menu-overlay__list li:nth-child(3) a{transition-delay:.1s}
.menu-open .menu-overlay__list li:nth-child(4) a{transition-delay:.15s}
.menu-open .menu-overlay__list li:nth-child(5) a{transition-delay:.2s}
.menu-overlay__foot{display:grid;gap:1rem;font-size:.95rem;color:var(--muted);justify-items:start}
.menu-overlay__foot a{color:var(--foreground)}

/* ---------- Mobile sticky CTA ---------- */
.mobile-cta{position:fixed;left:12px;right:12px;bottom:12px;z-index:80;display:flex;gap:8px;transform:translateY(140%);transition:transform .6s var(--ease-out)}
.mobile-cta.is-visible{transform:none}
.mobile-cta .btn{flex:1;justify-content:center;height:3.25rem;padding:0 1.25rem;box-shadow:0 10px 30px rgba(224,32,79,.28)}
.mobile-cta .btn--wa{flex:0 0 3.25rem;padding:0;justify-content:center;background:#25D366;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.mobile-cta .btn--wa .icon{width:22px;height:22px;padding:0;background:none;color:#fff}
@media (min-width:1024px){.mobile-cta{display:none}}

/* ---------- Ribbons (crossing marquees) ---------- */
.ribbons{position:relative;height:clamp(150px,16vw,230px);overflow:hidden;margin-block:clamp(8px,2vw,24px)}
.ribbon{position:absolute;left:-5%;right:-5%;top:50%;display:flex;overflow:hidden;padding-block:clamp(14px,1.6vw,22px);font-family:var(--font-display);font-size:clamp(1.25rem,1rem + 1.4vw,2.4rem);font-weight:700;letter-spacing:-.02em;text-transform:uppercase;white-space:nowrap}
.ribbon--accent{background:var(--accent);color:#fff;transform:translateY(-50%) rotate(-3deg);z-index:2}
.ribbon--paper{background:var(--surface);color:var(--foreground);transform:translateY(-50%) rotate(3deg);box-shadow:inset 0 0 0 1px var(--border)}
.ribbon__track{display:flex;flex-shrink:0;align-items:center;gap:clamp(20px,2.4vw,40px);padding-right:clamp(20px,2.4vw,40px);animation:marquee 38s linear infinite}
.ribbon--paper .ribbon__track{animation-direction:reverse;animation-duration:44s}
.ribbon__star{font-size:.7em;opacity:.8}

/* ---------- Logos marquee ---------- */
.logos{padding-block:clamp(56px,7vw,110px)}
.logos__title{margin-bottom:clamp(24px,3vw,40px)}
.marquee{--gap:clamp(12px,1.2vw,20px);display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.marquee__track{display:flex;flex-shrink:0;align-items:center;gap:var(--gap);padding-right:var(--gap);min-width:100%;animation:marquee var(--marquee-dur,55s) linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__item{flex-shrink:0;display:flex;align-items:center;justify-content:center;height:clamp(72px,7vw,104px);padding:0 clamp(24px,2.6vw,44px);border-radius:999px;background:var(--surface)}
.marquee__item img{height:44%;width:auto;max-width:150px;object-fit:contain;filter:grayscale(1);opacity:.7;transition:opacity .4s,filter .4s}
.marquee__item:hover img{opacity:1;filter:none}
.marquee__item--text{font-family:var(--font-display);font-size:clamp(1.05rem,1rem + .5vw,1.4rem);font-weight:700;letter-spacing:-.02em;color:var(--foreground);transition:background .3s,color .3s}
.marquee__item--text:hover{background:var(--accent);color:#fff}
.marquee__sep{display:none}
@keyframes marquee{to{transform:translateX(-100%)}}

/* ---------- Services (sticky head + cards) ---------- */
.svc-layout{display:grid;gap:clamp(32px,5vw,80px)}
@media (min-width:1024px){
	.svc-layout{grid-template-columns:5fr 7fr;align-items:start}
	.svc-layout__head{position:sticky;top:calc(var(--header-h) + 32px)}
}
.svc-layout__head{display:grid;gap:1.4rem;justify-items:start}
.svc-layout__head .section-head__title{font-size:clamp(2.2rem,1rem + 3.2vw,4.6rem)}
.svc-layout__text{color:var(--muted);max-width:40ch}
.svc-cards{display:grid;gap:clamp(12px,1.2vw,18px);counter-reset:s}
.svc-card__link{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(16px,2vw,32px);align-items:start;padding:clamp(22px,2.4vw,36px);border-radius:var(--radius);background:var(--surface);transition:background .45s var(--ease-out),color .45s,transform .45s var(--ease-out)}
.svc-card__num{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.1em;color:var(--accent);padding-top:.55rem}
.svc-card__body{display:grid;gap:.7rem}
.svc-card__title{font-size:clamp(1.5rem,1rem + 1.6vw,2.5rem);font-weight:700;letter-spacing:-.035em;line-height:1.02}
.svc-card__desc{color:var(--muted);max-width:52ch;transition:color .45s}
.svc-card__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.3rem}
.svc-card__tags span{padding:.3rem .75rem;border-radius:999px;background:var(--background);font-size:.8rem;transition:background .45s,color .45s}
.svc-card__arrow{display:grid;place-items:center;width:clamp(46px,4vw,60px);aspect-ratio:1;border-radius:50%;background:var(--background);transition:transform .6s var(--ease-out),background .45s,color .45s}
.svc-card__arrow .icon{width:40%;height:40%}
.svc-card__link:hover{background:var(--accent);color:#fff}
.svc-card__link:hover .svc-card__desc,.svc-card__link:hover .svc-card__num{color:rgba(255,255,255,.85)}
.svc-card__link:hover .svc-card__tags span{background:rgba(255,255,255,.16)}
.svc-card__link:hover .svc-card__arrow{background:#fff;color:var(--accent);transform:rotate(45deg)}

/* Legacy editorial service rows (hub / 404 / location) */
.services-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--border)}
.service-row{position:relative;border-bottom:1px solid var(--border)}
.service-row__link{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,3vw,48px);padding:clamp(20px,2.4vw,34px) 0;transition:padding .6s var(--ease-out),color .3s}
.service-row__num{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.12em;color:var(--accent);min-width:2.5ch}
.service-row__title{font-family:var(--font-display);font-size:clamp(1.9rem,1rem + 3vw,4.25rem);font-weight:700;line-height:1;letter-spacing:-.04em}
.service-row__desc{display:none;max-width:32ch;font-size:.95rem;color:var(--muted);line-height:1.5}
.service-row__arrow{display:grid;place-items:center;width:clamp(44px,4vw,60px);aspect-ratio:1;border-radius:50%;background:var(--surface);transition:background .4s,color .4s,transform .6s var(--ease-out)}
.service-row__arrow .icon{width:40%;height:40%}
.service-row:hover .service-row__link{color:var(--accent);padding-left:clamp(0px,1.5vw,24px)}
.service-row:hover .service-row__arrow{background:var(--accent);color:#fff;transform:rotate(-45deg)}
@media (min-width:1024px){.service-row__link{grid-template-columns:5ch 1fr minmax(0,32ch) auto}.service-row__desc{display:block}}
.services-preview{position:fixed;top:0;left:0;z-index:5;width:clamp(240px,20vw,340px);aspect-ratio:4/5;border-radius:var(--radius);pointer-events:none;overflow:hidden;opacity:0;transition:opacity .4s;will-change:transform}
.services-preview.is-active{opacity:1}
.services-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s}
.services-preview img.is-current{opacity:1}
@media (hover:none),(max-width:1023px){.services-preview{display:none}}

/* ---------- Selected work ---------- */
.work-grid{display:grid;gap:clamp(40px,5vw,80px) var(--gap)}
@media (min-width:768px){
	.work-grid{grid-template-columns:repeat(12,1fr);align-items:start}
	.work-grid>.project-card:nth-child(4n+1){grid-column:1/span 7}
	.work-grid>.project-card:nth-child(4n+2){grid-column:8/span 5;margin-top:clamp(80px,10vw,180px)}
	.work-grid>.project-card:nth-child(4n+3){grid-column:1/span 5;margin-top:clamp(-120px,-6vw,-40px)}
	.work-grid>.project-card:nth-child(4n+4){grid-column:6/span 7;margin-top:clamp(40px,6vw,110px)}
}
.project-card{position:relative;display:block}
.project-card__media{position:relative;overflow:hidden;border-radius:var(--radius);background:var(--surface);aspect-ratio:16/11;container-type:inline-size}
.project-card--portrait .project-card__media{aspect-ratio:4/5}
.project-card__placeholder{position:absolute;inset:0;display:flex;align-items:flex-end;padding:clamp(18px,2vw,30px);background:linear-gradient(135deg,var(--surface),#ECE8E1);color:var(--foreground);font-family:var(--font-display);font-size:clamp(1.5rem,10cqi,4.5rem);font-weight:800;line-height:.92;letter-spacing:-.045em;overflow-wrap:anywhere;transition:transform 1.4s var(--ease-out)}
.project-card__placeholder::before{content:"";position:absolute;top:clamp(18px,2vw,30px);right:clamp(18px,2vw,30px);width:12px;height:12px;border-radius:50%;background:var(--accent)}
.project-card:hover .project-card__placeholder,.post-card:hover .project-card__placeholder{transform:scale(1.03)}
.project-card__placeholder.tone-2{background:var(--accent-soft);color:var(--accent-deep)}
.project-card__placeholder.tone-3{background:var(--graphite);color:#fff}
.project-card__placeholder.tone-4{background:linear-gradient(135deg,#EDE7DD,#E3DBCE);color:var(--foreground)}
.project-card__placeholder.tone-2::before,.project-card__placeholder.tone-3::before{background:#fff}
.post-card__media{position:relative;container-type:inline-size}
.post-card__placeholder{font-size:clamp(1.3rem,9cqi,2.6rem)}
.project-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease-out)}
.project-card:hover .project-card__media img{transform:scale(1.06)}
.project-card__body{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;padding-top:1.1rem}
.project-card__client{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.project-card__year{font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--muted);text-align:right}
.project-card__title{grid-column:1/-1;font-size:clamp(1.35rem,1rem + 1vw,2rem);font-weight:700;letter-spacing:-.03em;transition:color .3s}
.project-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.project-card:hover .project-card__title{color:var(--accent)}
.project-card__tags{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}
.project-card__tags li{padding:.3rem .75rem;border-radius:999px;box-shadow:inset 0 0 0 1px var(--border);font-size:.8rem;color:var(--muted)}
.work__more{display:flex;justify-content:center;margin-top:clamp(56px,7vw,110px)}

/* ---------- Showreel ---------- */
.showreel{padding-block:0 var(--section)}
.showreel .container{max-width:var(--max)}
.showreel__frame{position:relative;display:block;width:calc(100% - 2 * var(--gutter));max-width:calc(var(--max) - 2 * var(--gutter));margin-inline:auto;aspect-ratio:16/9;max-height:88svh;border-radius:var(--radius);overflow:hidden;background:#111;color:#fff}
.showreel__frame img,.showreel__frame video,.showreel__frame iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.showreel__frame img{transition:transform 1.6s var(--ease-out)}
.showreel__frame:hover img{transform:scale(1.03)}
.showreel__overlay{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(20px,4vw,56px);background:linear-gradient(180deg,rgba(0,0,0,.3),transparent 40%,rgba(0,0,0,.4));transition:opacity .5s}
.showreel__title{font-family:var(--font-display);font-size:var(--fs-h1);font-weight:800;line-height:.9;letter-spacing:-.05em;text-transform:uppercase;text-align:left}
.showreel__play{align-self:flex-end;display:inline-flex;align-items:center;gap:1rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.showreel__play-btn{display:grid;place-items:center;width:clamp(72px,8vw,120px);aspect-ratio:1;border-radius:50%;background:var(--accent);color:#fff;transition:transform .6s var(--ease-out)}
.showreel__play-btn .icon{width:30%;height:30%;margin-left:6%}
.showreel__frame:hover .showreel__play-btn{transform:scale(1.08)}
.showreel.is-playing .showreel__overlay{opacity:0;pointer-events:none}

/* ---------- About + stats ---------- */
.about__grid{display:grid;gap:clamp(40px,6vw,96px)}
.about__title{font-size:clamp(2rem,1rem + 3vw,4.4rem);max-width:22ch}
.about__body{display:grid;gap:1.5rem;align-content:start}
.about__heart{width:clamp(120px,11vw,180px);color:var(--accent);margin-bottom:.5rem}
.about__body .lead{color:var(--muted)}
@media (min-width:1024px){.about__grid{grid-template-columns:7fr 5fr;align-items:end}}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.2vw,18px);margin-top:clamp(56px,7vw,110px)}
.stat{display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:.75rem;padding:clamp(22px,2.4vw,36px);border-radius:var(--radius);background:var(--background)}
.section:not(.section--light) .stat{background:var(--surface)}
.stat__value{display:block;margin:0;font-family:var(--font-display);font-size:clamp(3rem,1rem + 5vw,7.5rem);font-weight:800;line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.stat:nth-child(2) .stat__value{color:var(--accent)}
.stat__label{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
@media (min-width:768px){.stats{grid-template-columns:repeat(4,1fr)}}

/* ---------- Capabilities ---------- */
.capabilities__list{display:flex;flex-wrap:wrap;gap:.1em .45em;list-style:none;margin:0;padding:0;font-family:var(--font-display);font-size:clamp(2rem,1rem + 3.6vw,5.5rem);font-weight:800;line-height:1.02;letter-spacing:-.045em}
.capabilities__list li{display:inline-flex;align-items:baseline;gap:.45em}
.capabilities__list li:not(:last-child)::after{content:"/";color:var(--accent);font-weight:400}
.capabilities__list .is-dim{color:#B9B6B1}
.capabilities__list a{background:linear-gradient(var(--accent),var(--accent)) left 92%/0 .08em no-repeat;transition:background-size .6s var(--ease-out),color .3s}
.capabilities__list a:hover{color:var(--accent);background-size:100% .08em}

/* ---------- Testimonials ---------- */
.quotes{position:relative}
.quote{display:grid;gap:clamp(28px,4vw,56px)}
.quote[hidden]{display:none}
.quote__mark{font-family:var(--font-display);font-size:clamp(6rem,14vw,14rem);line-height:.6;color:var(--accent);height:.45em}
.quote__text{font-family:var(--font-display);font-size:clamp(1.6rem,1rem + 2.3vw,3.5rem);font-weight:600;line-height:1.14;letter-spacing:-.03em;max-width:30ch;text-wrap:balance}
.quote__author{display:flex;align-items:center;gap:1rem;font-style:normal}
.quote__logo{width:56px;height:56px;border-radius:50%;background:#fff;display:grid;place-items:center;overflow:hidden;padding:8px;box-shadow:inset 0 0 0 1px var(--border)}
.quote__logo img{max-height:100%;width:auto;object-fit:contain}
.quote__name{display:block;font-weight:600;font-style:normal}
.quote__role{display:block;font-size:.9rem;color:var(--muted)}
.quotes__nav{display:flex;gap:.5rem;margin-top:clamp(32px,4vw,56px)}
.quotes__btn{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--background);transition:background .3s,color .3s}
.quotes__btn:hover{background:var(--accent);color:#fff}
.quotes__btn .icon{width:20px;height:20px}
.quotes__btn--prev .icon{transform:rotate(180deg)}
.quotes__count{margin-left:auto;align-self:center;font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.12em;color:var(--muted)}

/* ---------- FAQ (shared) ---------- */
.faq__list{display:grid;gap:clamp(10px,1vw,14px)}
.faq__item{border-radius:var(--radius);background:var(--surface);transition:background .4s}
.section--light .faq__item{background:var(--background)}
.faq__item[open]{background:var(--foreground);color:var(--background)}
.faq__q{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:clamp(18px,2vw,26px) clamp(20px,2.2vw,32px);cursor:pointer;list-style:none}
.faq__q::-webkit-details-marker{display:none}
.faq__q h3{font-size:clamp(1.05rem,1rem + .5vw,1.35rem);font-weight:650}
.faq__icon{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--background);color:var(--foreground);transition:transform .5s var(--ease-out),background .3s,color .3s}
.faq__icon .icon{width:18px;height:18px}
.faq__item[open] .faq__icon{transform:rotate(45deg);background:var(--accent);color:#fff}
.faq__a{padding:0 clamp(20px,2.2vw,32px) clamp(20px,2.2vw,28px);max-width:64ch;opacity:.78;font-size:1.02rem}

/* ---------- Post cards ---------- */
.posts-grid{display:grid;gap:clamp(40px,4vw,56px) var(--gap)}
@media (min-width:768px){.posts-grid{grid-template-columns:repeat(3,1fr)}}
.post-card{position:relative;display:grid;gap:1rem;align-content:start}
.post-card__media{overflow:hidden;aspect-ratio:4/3;position:relative;border-radius:var(--radius);background:var(--surface)}
.post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-out)}
.post-card:hover .post-card__media img{transform:scale(1.05)}
.post-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;font-size:.82rem;color:var(--muted)}
.post-card__cat{position:relative;z-index:2;padding:.28rem .7rem;border-radius:999px;background:var(--accent-soft);color:var(--accent-deep);font-weight:600}
.post-card__title{font-size:clamp(1.25rem,1rem + .7vw,1.65rem);font-weight:700;line-height:1.15;letter-spacing:-.025em;transition:color .3s}
.post-card__title a::after{content:"";position:absolute;inset:0;z-index:1}
.post-card:hover .post-card__title{color:var(--accent)}

/* ---------- Final CTA ---------- */
.final-cta{position:relative;overflow:hidden;margin-inline:clamp(8px,1.2vw,20px);border-radius:calc(var(--radius) * 1.4);padding-block:clamp(100px,13vw,220px);isolation:isolate}
.final-cta__g{position:absolute;z-index:-1;right:-3vw;top:50%;height:135%;width:auto;transform:translateY(-50%) rotate(-4deg);color:rgba(255,255,255,.3);stroke-width:1.2px}
.final-cta__title{font-family:var(--font-display);font-size:clamp(2.6rem,1rem + 6vw,9rem);font-weight:800;line-height:.9;letter-spacing:-.05em;max-width:14ch}
.final-cta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 2rem;margin-top:clamp(40px,5vw,72px)}
.final-cta .btn{--btn-bg:#fff;--btn-fg:var(--accent-deep);height:4.25rem;font-size:1.05rem}
.final-cta .btn .icon{background:var(--accent-deep);color:#fff}
.final-cta .btn::before{background:var(--ink)}
.final-cta .btn:hover{color:#fff}
.final-cta__mail{font-size:clamp(1.1rem,1rem + .5vw,1.4rem)}

/* ---------- Footer (light) ---------- */
.site-footer{padding-top:clamp(80px,9vw,140px);padding-bottom:clamp(24px,3vw,40px)}
.footer__grid{display:grid;gap:clamp(40px,5vw,64px)}
@media (min-width:768px){.footer__grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1200px){.footer__grid{grid-template-columns:1.4fr .8fr 1fr 1.6fr}}
.footer__brand svg{height:38px;width:auto;margin-bottom:1.25rem;color:var(--accent)}
.footer__desc{color:var(--muted);max-width:36ch;font-size:.95rem}
.footer__heading{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:1.25rem;font-weight:400}
.footer__list{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.footer__list a{transition:color .3s}
.footer__list a:hover{color:var(--accent)}
.offices{display:grid;gap:1.5rem}
@media (min-width:480px){.offices{grid-template-columns:repeat(2,1fr)}}
.office__name{font-weight:600;margin-bottom:.25rem}
.office__name small{font-weight:400;color:var(--muted);margin-left:.4em}
.office address{font-style:normal;font-size:.9rem;color:var(--muted);line-height:1.5}
.footer__statement{margin-block:clamp(64px,9vw,140px) clamp(28px,3.5vw,48px);font-family:var(--font-display);font-size:clamp(2.4rem,1rem + 6.4vw,10rem);font-weight:800;line-height:.88;letter-spacing:-.055em}
.footer__statement .line:last-child{color:var(--accent)}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem 2rem;padding-top:1.5rem;border-top:1px solid var(--border);font-size:.85rem;color:var(--muted)}
.footer__legal{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;list-style:none;margin:0;padding:0}
.socials{display:flex;gap:.5rem;list-style:none;margin:1.5rem 0 0;padding:0}
.socials a{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--surface);transition:background .3s,color .3s}
.socials a:hover{background:var(--accent);color:#fff}
.socials .icon{width:18px;height:18px}

/* ---------- Cursor label ---------- */
.cursor{position:fixed;top:0;left:0;z-index:200;pointer-events:none;display:none}
@media (hover:hover) and (pointer:fine){.cursor{display:block}}
.cursor__label{display:grid;place-items:center;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;background:var(--accent);color:#fff;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;transform:scale(0);transition:transform .45s var(--ease-out)}
.cursor.is-active .cursor__label{transform:scale(1)}

/* ---------- Consent ---------- */
.consent{position:fixed;left:12px;right:12px;bottom:12px;z-index:150;max-width:520px;padding:22px;border-radius:var(--radius);background:#fff;color:var(--foreground);box-shadow:0 20px 60px rgba(0,0,0,.14);display:grid;gap:14px;font-size:.9rem;line-height:1.5}
.consent[hidden]{display:none}
.consent__actions{display:flex;flex-wrap:wrap;gap:8px}
.consent .btn{height:2.75rem;font-size:.9rem;padding:0 1.25rem}
@media (min-width:768px){.consent{left:24px;bottom:24px}}

/* ---------- Page transitions: moved to critical.css (opt-in must exist on first render of both documents) ---------- */

/* ---------- Mobile ergonomics ---------- */
@media (max-width:767px){
	.svc-card__tags{display:none}
	.svc-card__link{grid-template-columns:1fr auto;gap:12px}
	.svc-card__num{grid-column:1/-1;padding-top:0}
	.link-arrow{min-height:44px}
	.brand{min-height:44px}
	.footer__list a,.menu-overlay__foot a{display:inline-flex;align-items:center;min-height:40px}
	.hero__top .eyebrow{max-width:70%}
}

/* ===== Geyik v2 polish · 2026-09 (additive; delete this block to revert) ===== */
/* Footer menu reuses header .nav__link — reset to plain list style */
.footer__list .nav__link{display:inline;padding:0;border-radius:0;font-size:inherit;font-weight:inherit;background:none!important;color:inherit}
.footer__list .nav__link:hover,.footer__list .current-menu-item>.nav__link{color:var(--accent)}
/* About: title starts with the eyebrow (no dead gap on desktop) */
@media (min-width:1024px){.about__grid{align-items:start}.about__title{position:sticky;top:calc(var(--header-h) + 40px)}}
/* Line reveals: headroom for Turkish diacritics (İ Ş Ğ Ç Ö Ü) — no layout shift */
.js [data-reveal="lines"] .line{padding-top:.1em;margin-top:-.1em}
/* Media hover language (hero, projects) */
.hero__media img{transition:transform 1.6s var(--ease-out)}
.hero__media:hover img{transform:scale(1.025)}
.project-card__media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(14,14,16,.22));opacity:0;transition:opacity .6s var(--ease-out);pointer-events:none}
.project-card:hover .project-card__media::after{opacity:1}
/* Logos: outlined wordmark pills, accent on hover */
.marquee__item--text{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}
.marquee__item--text:hover{box-shadow:none}
/* Better focus visibility on dark/accent surfaces */
.section--accent :focus-visible,.project-card__media:focus-visible{outline-color:#fff}
/* Phone: heart badge beside the eyebrow, never on top of it */
@media (max-width:599px){.hero__top .eyebrow{max-width:62%}.hero__heart{width:84px;top:calc(var(--header-h) + 22px)}}
/* Small tablet: 2-up blog cards instead of one oversized card */
@media (min-width:600px) and (max-width:767px){.posts-grid{grid-template-columns:repeat(2,1fr)}}
/* Keep footer legal row clear of the mobile sticky CTA */
@media (max-width:1023px){.site-footer{padding-bottom:calc(clamp(24px,3vw,40px) + 76px)}}

/* ===== GEYİK REVİZE 2026-10 (müşteri revizeleri · bu bloğu silerek geri alın) ===== */
/* Hero video */
.hero__media--video{aspect-ratio:16/9}
.hero__media--video video{object-fit:cover;background:var(--ink,#0e0e10)}
.hero__video-toggle{position:absolute;right:14px;bottom:14px;z-index:3;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.9);color:var(--foreground);display:grid;place-items:center;cursor:pointer}
.hero__video-toggle span{width:12px;height:14px;border-inline:4px solid currentColor}
.hero__video-toggle[aria-pressed="true"] span{width:0;height:0;border-inline:0;border-block:7px solid transparent;border-left:12px solid currentColor;margin-left:3px}
.hero__video-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
/* Referanslar: 2 sütun × 3 satır */
.ref-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,56px) var(--gap,24px)}
@media (min-width:700px){.ref-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ref-grid>.project-card{margin:0!important;grid-column:auto!important}
.ref-grid .project-card__media{aspect-ratio:16/10}
.ref-grid .project-card__media img.is-contain{object-fit:contain;background:var(--surface)}
.ref-grid .project-card:hover .project-card__media img.is-contain{transform:none}
/* Kayan markalar (logo) */
.gk-marquee .marquee__track{list-style:none;margin:0;padding:0 var(--gap) 0 0}
.gk-marquee .marquee__item--logo{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}
.gk-marquee .marquee__item--logo img{height:40px;width:auto;max-width:150px;object-fit:contain}
.logos,.gk-marquee{max-width:100%;overflow:hidden}
@media (prefers-reduced-motion:reduce){.gk-marquee{flex-wrap:wrap;-webkit-mask-image:none;mask-image:none}.gk-marquee .marquee__track{animation:none;flex-wrap:wrap;min-width:0;row-gap:var(--gap)}.gk-marquee .marquee__track[aria-hidden]{display:none}}
/* Ana sayfa kırmızı alanlar: daha kompakt */
body.home .ribbons{height:clamp(120px,12vw,170px);margin-block:0}
body.home .final-cta{padding-block:clamp(64px,7.5vw,120px)}
body.home .final-cta__actions{margin-top:clamp(28px,3.5vw,48px)}
/* Proje detay: büyük görsel kendi oranında */
.case-cover.case-cover--natural{aspect-ratio:auto;max-height:none;background:none;overflow:visible;display:flex;justify-content:center}
.case-cover.case-cover--natural img{width:auto;max-width:min(100%,var(--img-w,100%));height:auto;max-height:88svh;object-fit:contain;border-radius:var(--radius);display:block}
/* Galeri */
.gk-gallery__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:var(--gap,24px)}
@media (min-width:600px){.gk-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.gk-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gk-gallery h2.eyebrow{font-size:var(--fs-mono);font-weight:400}
.gk-gallery__link{display:block;overflow:hidden;border-radius:var(--radius);background:var(--surface);aspect-ratio:16/10}
.gk-gallery__link img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-out,ease)}
.gk-gallery__link:hover img{transform:scale(1.04)}
.gk-gallery__link:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.gk-gallery__cap{margin:.6rem 0 0;font-size:.85rem;color:var(--muted)}
.gk-lightbox{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:clamp(56px,6vw,80px) clamp(12px,6vw,96px) 24px;background:rgba(14,14,16,.94);color:#fff;touch-action:pan-y}
.gk-lightbox[hidden]{display:none}
.gk-lightbox__img{max-width:100%;max-height:calc(100svh - 160px);width:auto;height:auto;object-fit:contain;border-radius:8px;user-select:none}
.gk-lightbox__cap{margin:12px 0 0;font-size:.9rem;opacity:.8;text-align:center;min-height:1.2em}
.gk-lightbox__btn{position:absolute;width:48px;height:48px;border-radius:50%;border:0;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;transition:background .3s}
.gk-lightbox__btn[hidden]{display:none}
.gk-lightbox__btn:hover{background:var(--accent)}
.gk-lightbox__btn:focus-visible{outline:2px solid #fff;outline-offset:3px}
.gk-lightbox__btn .icon{width:20px;height:20px}
.gk-lightbox__close{top:16px;right:16px}
.gk-lightbox__prev{left:clamp(8px,2vw,24px);top:50%;transform:translateY(-50%)}
.gk-lightbox__prev .icon{transform:rotate(180deg)}
.gk-lightbox__next{right:clamp(8px,2vw,24px);top:50%;transform:translateY(-50%)}
.gk-lightbox__count{position:absolute;top:30px;left:24px;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.12em}
html.gk-lock{overflow:hidden}
/* Proje detay: diğer projeler kaydırıcısı (masaüstü 2, mobil 1) */
.gk-carousel{position:relative}
.gk-carousel__track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:var(--gap,24px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;scrollbar-width:none;padding-bottom:4px}
.gk-carousel__track::-webkit-scrollbar{display:none}
.gk-carousel__track:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:var(--radius)}
@media (min-width:768px){.gk-carousel__track{grid-auto-columns:calc((100% - var(--gap,24px)) / 2)}}
.gk-carousel__slide{scroll-snap-align:start;min-width:0}
.gk-carousel__slide .project-card{margin:0}
.gk-carousel__slide .project-card__media{aspect-ratio:16/10}
.gk-carousel__nav{display:flex;gap:.5rem;justify-content:flex-end;margin-top:clamp(20px,2.5vw,32px)}
.gk-carousel__nav[hidden]{display:none}
.gk-carousel__btn{width:52px;height:52px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--foreground);display:grid;place-items:center;cursor:pointer;transition:background .3s,color .3s,opacity .3s}
.gk-carousel__btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}
.gk-carousel__btn:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.gk-carousel__btn:disabled{opacity:.35;cursor:default}
.gk-carousel__btn .icon{width:20px;height:20px}
.gk-carousel__btn[data-gk-prev] .icon{transform:rotate(180deg)}
@media (prefers-reduced-motion:reduce){.gk-carousel__track{scroll-behavior:auto}}
/* Hizmetler: Yetkinlikler daha kompakt */
.capabilities{padding-block:clamp(56px,6vw,96px)}
.capabilities .eyebrow{margin-bottom:1.5rem!important}
.capabilities__list{font-size:clamp(1.5rem,1rem + 1.8vw,3rem);line-height:1.1;gap:.15em .4em}
/* İletişim: ofisler ile footer arası geçiş şeridi */
.visit-strip{overflow:hidden;margin-block:0 clamp(40px,5vw,72px)}
.visit-strip__band{display:flex;overflow:hidden;background:var(--accent);color:#fff;padding-block:clamp(12px,1.3vw,18px);font-family:var(--font-display);font-size:clamp(1.05rem,.9rem + .8vw,1.6rem);font-weight:700;letter-spacing:-.01em;text-transform:uppercase;white-space:nowrap}
.visit-strip .ribbon__track{animation-duration:60s}
.visit-strip .ribbon__track span{flex-shrink:0}
@media (prefers-reduced-motion:reduce){.visit-strip .ribbon__track{animation:none}}
/* Footer: sütun başlıkları aynı hizada, sosyal ikonlar tutarlı */
.footer__grid{align-items:start}
.footer__heading{display:block;margin:0 0 1.25rem;line-height:1.2}
.socials{flex-wrap:wrap;align-items:center;gap:.6rem}
.socials li{display:flex}
.socials a{width:44px;height:44px;flex:0 0 44px;color:var(--foreground)}
.socials a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.socials .icon{width:18px;height:18px;display:block}
/* ===== /GEYİK REVİZE 2026-10 ===== */

/* REVİZE 2026-10 · Elementor uyumlu öncelik (ana sayfa Elementor içinde) */
html body.home :is(.elementor.elementor.elementor.elementor,main) .ribbons{height:clamp(120px,12vw,170px);margin-block:0}
html body.home :is(.elementor.elementor.elementor.elementor,main) .final-cta{padding-block:clamp(64px,7.5vw,120px)}
html body.home :is(.elementor.elementor.elementor.elementor,main) .final-cta__actions{margin-top:clamp(28px,3.5vw,48px)}
html :is(.elementor.elementor.elementor.elementor,body) .ref-grid .project-card__media{aspect-ratio:16/10}
html :is(.elementor.elementor.elementor.elementor,body) .gk-marquee .marquee__track{list-style:none;margin:0}
html :is(.elementor.elementor.elementor.elementor,body) .gk-marquee .marquee__item--logo{background:transparent;box-shadow:inset 0 0 0 1px var(--border)}
html :is(.elementor.elementor.elementor.elementor,body) .gk-marquee .marquee__item--logo img{height:40px;width:auto;max-width:150px;object-fit:contain}
html body .gk-lightbox{z-index:100002}
html :is(.elementor.elementor.elementor.elementor,body) .visit-strip{margin:0}
@media (max-width:767px){html body .site-footer .footer__list{gap:0}html body .site-footer .footer__list a,html body .site-footer .footer__list .nav__link{display:inline-flex;align-items:center;min-height:40px}}
html body .site-footer .footer__grid + .footer__bottom{margin-top:clamp(48px,6vw,96px)}

/* REVİZE 2026-10 · Son CTA (kırmızı alan) daha kompakt — tüm sayfalarda */
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta{padding-block:clamp(52px,5.5vw,88px)}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta .eyebrow{margin-bottom:1.25rem!important}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__title{font-size:clamp(2.1rem,1rem + 3.4vw,4.75rem);line-height:.95;letter-spacing:-.045em;max-width:16ch}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__actions{margin-top:clamp(24px,2.8vw,40px)}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta .btn{height:3.5rem;font-size:.95rem}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__mail{font-size:clamp(1rem,.95rem + .3vw,1.2rem)}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__g{height:120%}

/* REVİZE 2026-10 · Son CTA v2: ince bant, yatay yayılan yazı */
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta{padding-block:clamp(32px,3.6vw,56px)}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta .eyebrow{margin-bottom:.9rem!important}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__title{font-size:clamp(1.6rem,1rem + 1.9vw,3.1rem);line-height:1.02;letter-spacing:-.04em;max-width:none}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__title br{display:none}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__title .line{display:inline}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__title .line + .line::before{content:" "}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__actions{margin-top:1.25rem}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__g{height:150%;right:-1vw}
@media (min-width:1024px){
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta :has(> .final-cta__title){display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:clamp(32px,4vw,72px);align-items:end}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta :has(> .final-cta__title) > .eyebrow{grid-column:1/-1}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__actions{margin-top:0;flex-wrap:nowrap;justify-content:flex-end}
}

/* REVİZE 2026-10 · Son CTA v3: minimum iç boşluk */
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta{padding-block:clamp(18px,1.8vw,28px)}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta .eyebrow{margin-bottom:.5rem!important}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__title{font-size:clamp(1.4rem,1rem + 1.4vw,2.5rem)}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__actions{margin-top:.75rem}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta .btn{height:3rem;font-size:.9rem}
@media (min-width:1024px){html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__actions{margin-top:0}}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta{padding-block:clamp(18px,1.8vw,28px)!important}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__actions{margin-top:.75rem!important}
@media (min-width:1024px){html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__actions{margin-top:0!important}}
/* Son CTA v4: orta boy */
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta{padding-block:clamp(36px,3.4vw,54px)!important}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta .eyebrow{margin-bottom:.85rem!important}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta__title{font-size:clamp(1.65rem,1rem + 1.9vw,3rem)}
html body :is(.elementor.elementor.elementor.elementor,main,body) .final-cta .btn{height:3.4rem;font-size:.95rem}
