/* ================= GüvenPatent · base system ================= */
@font-face{font-family:Archivo;font-style:normal;font-weight:300 900;font-stretch:62% 125%;font-display:swap;src:url(../assets/fonts/archivo-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Archivo;font-style:normal;font-weight:300 900;font-stretch:62% 125%;font-display:swap;src:url(../assets/fonts/archivo-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Archivo;font-style:italic;font-weight:300 900;font-stretch:62% 125%;font-display:swap;src:url(../assets/fonts/archivo-italic-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:Archivo;font-style:italic;font-weight:300 900;font-stretch:62% 125%;font-display:swap;src:url(../assets/fonts/archivo-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- tokens ---------- */
:root{
  --kagit:#EFECE4; --kagit2:#E5E1D6; --sayfa:#F8F6F1; --murekkep:#0E1A15; --gece:#0F211B; --gece2:#162C24;
  --mavi:#2B3FD6; --mavi2:#E3E6FB; --muhur:#D2452A;
  --m80:rgba(14,26,21,.8); --m60:rgba(14,26,21,.6); --m45:rgba(14,26,21,.45); --m15:rgba(14,26,21,.15); --m08:rgba(14,26,21,.08);
  --k80:rgba(239,236,228,.82); --k60:rgba(239,236,228,.6); --k40:rgba(239,236,228,.4); --k15:rgba(239,236,228,.15); --k08:rgba(239,236,228,.08);
  --e-out:cubic-bezier(.16,1,.3,1); --e-std:cubic-bezier(.4,0,.2,1);
  --pad:clamp(20px,4vw,64px); --hd:68px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--kagit);color:var(--murekkep);-webkit-text-size-adjust:100%;overflow-x:clip}
body{font-family:Archivo,system-ui,sans-serif;font-size:17px;line-height:1.55;font-stretch:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;background:var(--kagit)}
::selection{background:var(--mavi);color:var(--sayfa)}
img,video,canvas,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--mavi);outline-offset:3px;border-radius:4px}
.skip{position:fixed;left:16px;top:-60px;z-index:300;background:var(--murekkep);color:var(--kagit);padding:10px 16px;border-radius:999px}
.skip:focus{top:16px}

/* ---------- type ---------- */
.etiket{font-size:12px;font-weight:600;font-stretch:80%;letter-spacing:.16em;text-transform:uppercase;color:var(--m60);display:flex;align-items:center;gap:10px}
.etiket::before{content:"";width:14px;height:14px;flex:none;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 26'%3E%3Cpath d='M3,25 V12 a9,9 0 0 1 18,0 V25' fill='none' stroke='%232B3FD6' stroke-width='4.2'/%3E%3C/svg%3E")}
.etiket.sade::before{display:none}
.dev{font-size:clamp(58px,9.6vw,168px);font-weight:700;font-stretch:88%;letter-spacing:-.045em;line-height:.88}
.baslik{font-size:clamp(40px,5.8vw,96px);font-weight:650;font-stretch:90%;letter-spacing:-.04em;line-height:.94}
.alt-baslik{font-size:clamp(25px,2.6vw,42px);font-weight:560;font-stretch:96%;letter-spacing:-.025em;line-height:1.1}
.genis{font-stretch:125%;font-weight:800;text-transform:uppercase;letter-spacing:-.01em}
.dar{font-stretch:68%}
.giris-metni{font-size:clamp(18px,1.45vw,22px);line-height:1.5;letter-spacing:-.008em;color:var(--m80);max-width:38rem}
.soluk{color:var(--m60)}
.mavi{color:var(--mavi)}
em.vurgu{font-style:normal;color:var(--mavi)}
.ln{display:block;overflow:hidden;padding:.12em 0 .06em;margin:-.12em 0 -.06em}
.ln>span{display:block}

/* ---------- layout primitives ---------- */
.kap{width:min(1440px,100%);margin:0 auto;padding:0 var(--pad)}
.bolum{position:relative;padding:clamp(96px,14vh,170px) 0}
.koyu{background:var(--gece);color:var(--kagit)}
.koyu .etiket{color:var(--k60)}
.koyu .giris-metni,.koyu .soluk{color:var(--k80)}
.koyu em.vurgu{color:#AEB8FF}
.beyaz{background:var(--sayfa)}
.izgara{display:grid;grid-template-columns:repeat(12,1fr);column-gap:24px;row-gap:24px}
.cizgi{height:1px;background:var(--m15);border:0}
.koyu .cizgi{background:var(--k15)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:14px;font-size:15px;font-weight:600;padding:8px 8px 8px 24px;border-radius:999px;background:var(--murekkep);color:var(--kagit);transition:transform .3s var(--e-out),background .3s}
.btn i{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--mavi);color:#fff;font-style:normal;transition:transform .4s var(--e-out)}
.btn:hover i{transform:translateX(3px) rotate(-12deg)}
.btn:active{transform:scale(.97)}
.btn-mavi{background:var(--mavi);color:#fff}
.btn-mavi i{background:var(--sayfa);color:var(--mavi)}
.btn-acik{background:var(--kagit);color:var(--murekkep)}
.btn-acik i{background:var(--mavi);color:#fff}
.bag{font-size:15px;font-weight:600;position:relative;padding:6px 0;display:inline-flex;gap:8px;align-items:center}
.bag::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:0 50%;transition:transform .4s var(--e-out)}
.bag:hover::after{transform:scaleX(1)}
.cip{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;font-stretch:80%;letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:999px;border:1px solid var(--m15);color:var(--m80);white-space:nowrap}
.cip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--mavi)}
.koyu .cip{border-color:var(--k15);color:var(--k80)}

/* ---------- header ---------- */
.hd{position:fixed;inset:0 0 auto 0;height:var(--hd);z-index:100;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:28px;padding:0 var(--pad);color:var(--murekkep);transition:transform .55s var(--e-out),background .4s var(--e-std),color .3s}
.hd.gizli{transform:translateY(-110%)}
.hd.dolu{background:linear-gradient(rgba(239,236,228,.92),rgba(239,236,228,.7));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hd.koyu-ustu{color:var(--kagit)}
.hd.koyu-ustu.dolu{background:linear-gradient(rgba(15,33,27,.92),rgba(15,33,27,.7))}
.hd-mark{display:flex;align-items:center;gap:10px;font-size:19px;font-weight:700;font-stretch:84%;letter-spacing:-.02em}
.hd-mark svg{width:20px;height:22px;color:var(--mavi)}
.hd-mark b{font-weight:700;color:var(--mavi)}
.hd.koyu-ustu .hd-mark b,.hd.koyu-ustu .hd-mark svg{color:#AEB8FF}
.hd-dosya{display:flex;align-items:center;gap:16px;font-size:12px;font-weight:600;font-stretch:80%;letter-spacing:.12em;text-transform:uppercase;padding-left:22px;border-left:1px solid currentColor;border-color:var(--m15);height:22px;overflow:hidden}
.hd.koyu-ustu .hd-dosya{border-color:var(--k15)}
.hd-seri{opacity:.55;white-space:nowrap}
.hd-seri b{font-weight:600;font-variant-numeric:tabular-nums}
.hd-bolum{display:flex;gap:8px;white-space:nowrap}
.hd-idx{font-style:normal;color:var(--mavi);font-variant-numeric:tabular-nums}
.hd.koyu-ustu .hd-idx{color:#AEB8FF}
.hd-nav{display:flex;gap:24px}
.hd-nav a{font-size:14px;font-weight:550;position:relative;padding:4px 0;opacity:.72;transition:opacity .2s}
.hd-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--mavi);transform:scaleX(0);transform-origin:0 50%;transition:transform .4s var(--e-out)}
.hd-nav a:hover,.hd-nav a.acik{opacity:1}
.hd-nav a.acik::after,.hd-nav a:hover::after{transform:scaleX(1)}
.hd-sag{display:flex;align-items:center;gap:12px}
.hd-cta{display:inline-flex;gap:10px;align-items:center;font-size:14px;font-weight:600;padding:10px 18px;border-radius:999px;background:var(--mavi);color:#fff;transition:transform .25s var(--e-out)}
.hd-cta i{font-style:normal;transition:transform .35s var(--e-out)}
.hd-cta:hover i{transform:translateX(3px)}
.hd-menu{display:none;width:42px;height:42px;border-radius:50%;border:1px solid currentColor;border-color:var(--m15);position:relative}
.hd-menu i{position:absolute;left:12px;right:12px;height:1.5px;background:currentColor;transition:transform .4s var(--e-out)}
.hd-menu i:first-child{top:16px}.hd-menu i:last-child{top:24px}
.hd-menu[aria-expanded="true"] i:first-child{transform:translateY(4px) rotate(45deg)}
.hd-menu[aria-expanded="true"] i:last-child{transform:translateY(-4px) rotate(-45deg)}
.hd-cizgi{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--m08)}
.hd.koyu-ustu .hd-cizgi{background:var(--k08)}
.hd-cizgi i{position:absolute;inset:0;background:var(--mavi);transform-origin:0 50%;transform:scaleX(0)}

.perde-menu{position:fixed;inset:0;z-index:90;background:var(--kagit);padding:calc(var(--hd) + 32px) var(--pad) 32px;display:flex;flex-direction:column;justify-content:space-between;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--e-out);visibility:hidden}
.perde-menu.acik{clip-path:inset(0);visibility:visible}
.perde-menu nav{display:flex;flex-direction:column}
.perde-menu nav a{display:flex;gap:16px;align-items:baseline;font-size:clamp(32px,8vw,56px);font-weight:650;font-stretch:88%;letter-spacing:-.04em;line-height:1.15;padding:6px 0;border-bottom:1px solid var(--m08)}
.perde-menu nav a em{font-style:normal;font-size:13px;color:var(--mavi);font-weight:600;letter-spacing:.06em}
.perde-alt{display:flex;flex-direction:column;gap:8px;font-size:16px;color:var(--m80)}

/* ---------- footer ---------- */
.ft{position:relative;z-index:2;background:var(--gece);color:var(--kagit);overflow:hidden}
.ft-ust{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:32px;padding:clamp(96px,14vh,150px) var(--pad) 64px}
.ft .etiket{color:var(--k60);margin-bottom:14px}
.ft-soz{font-size:clamp(34px,4.2vw,68px);font-weight:650;font-stretch:90%;letter-spacing:-.04em;line-height:.98;margin-bottom:32px}
.ft-sutun{display:flex;flex-direction:column;gap:9px;font-size:15px;color:var(--k80)}
.ft-sutun a{transition:color .2s}
.ft-sutun a:hover{color:#AEB8FF}
.ft-saat{color:var(--k60);font-size:13px;margin-top:10px}
.ft-oyma{display:flex;align-items:baseline;padding:.12em var(--pad) 0;font-size:min(12.6vw,228px);line-height:.92;font-weight:800;font-stretch:125%;text-transform:uppercase;letter-spacing:-.035em;white-space:nowrap;overflow:hidden}
.ft-oyma span{background:repeating-linear-gradient(0deg,var(--kagit) 0 1.6px,transparent 1.6px 4.6px);-webkit-background-clip:text;background-clip:text;color:transparent}
.ft-oyma i{font-style:normal;color:var(--mavi)}
.ft-alt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 28px;padding:22px var(--pad) 30px;border-top:1px solid var(--k15);margin-top:28px;font-size:13px;color:var(--k60)}
.ft-yukari:hover{color:var(--kagit)}

/* ---------- reveal guards (hidden only when JS motion runs) ---------- */
html.js:not(.rm) [data-reveal]:not(.goster){opacity:0}

/* ---------- responsive ---------- */
@media (max-width:1180px){
  .hd-nav{display:none}
  .hd{grid-template-columns:auto 1fr auto}
  .hd-menu{display:block}
}
@media (max-width:760px){
  :root{--hd:60px}
  .hd-dosya{display:none}
  .hd-cta{padding:9px 14px;font-size:13px}
  .hd-cta i{display:none}
  .ft-ust{grid-template-columns:1fr 1fr}
  .ft-davet{grid-column:1/-1}
  .izgara{grid-template-columns:1fr}
  .izgara>*{grid-column:1/-1!important}
}
@media (max-width:460px){
  .ft-ust{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

.hd-cta{white-space:nowrap}
.hd-kisa{display:none}
@media (max-width:640px){.hd-uzun{display:none}.hd-kisa{display:inline}}

/* ---------- page sheet between pages ---------- */
.gecis{position:fixed;inset:0;z-index:400;background:var(--murekkep);color:var(--kagit);transform:translateY(100%);pointer-events:none;overflow:hidden;will-change:transform}
html.gecis-gir .gecis{transform:none}
html.gecis-cik .gecis,html.gecis-gir .gecis{pointer-events:auto}
.gecis-ic{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--pad);padding-bottom:clamp(40px,8vh,90px)}
.gecis-no{font-size:12px;font-weight:600;font-stretch:80%;letter-spacing:.16em;text-transform:uppercase;color:var(--k60)}
.gecis-maske{display:block;overflow:hidden;padding:.08em 0 .04em}
.gecis-ad{display:block;font-size:clamp(64px,13vw,230px);font-weight:750;font-stretch:84%;letter-spacing:-.05em;line-height:.9}
.gecis-alt{margin-top:22px;font-size:13px;color:var(--k60)}
.gecis-muhur{position:absolute;right:var(--pad);top:calc(var(--hd) + 20px);width:clamp(96px,11vw,150px);color:var(--muhur);opacity:0}
html.gecis-gir .gecis-muhur{opacity:1;transform:rotate(-8deg)}

/* ---------- cursor ---------- */
.imlec{position:fixed;left:0;top:0;z-index:500;pointer-events:none;opacity:0;transition:opacity .3s}
html.imlec-var .imlec{opacity:1}
.imlec i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border-radius:50%;background:var(--mavi);transition:width .45s var(--e-out),height .45s var(--e-out),left .45s var(--e-out),top .45s var(--e-out),background .3s,border-color .3s;border:1.5px solid transparent}
.imlec.ust i{width:46px;height:46px;left:-23px;top:-23px;background:transparent;border-color:var(--mavi)}
.imlec.yazili i{width:96px;height:96px;left:-48px;top:-48px;background:var(--mavi);border-color:var(--mavi)}
.imlec.metin i{width:3px;height:30px;left:-1.5px;top:-15px;border-radius:2px}
.imlec span{position:absolute;left:0;top:0;transform:translate(-50%,-50%) scale(.6);opacity:0;color:#fff;font-size:13px;font-weight:650;white-space:nowrap;transition:opacity .25s,transform .45s var(--e-out)}
.imlec.yazili span{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media (hover:none),(pointer:coarse){.imlec{display:none}}

/* ---------- split letters ---------- */
.kel{display:inline-block;white-space:nowrap}
.harf{display:inline-block;transform-origin:0 100%}
