/* orhansemiz.com · Turkish and English editions
   No framework, remote resources, cookies or trackers.
   Sora (OFL) woff2 files can be placed in assets/fonts/ by the site owner. */
@font-face {
  font-family: "Sora";
  src: url("/assets/fonts/Sora-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Sora";
  src: url("/assets/fonts/Sora-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}
:root {
  color-scheme: light dark;
  --canvas: #F4F5F6;
  --surface: #FFFFFF;
  --ink: #1C1F24;
  --subtle: #5B616B;
  --rule: #E3E6EA;
  --accent: #23324A;
  --accent-contrast: #FFFFFF;
  --photo-edge: #C9CFD6;
  --shell: 1120px;
  --font: "Sora", "Avenir Next", "Segoe UI", Arial, sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root {
    --canvas: #0F1115;
    --surface: #171A20;
    --ink: #E8EAED;
    --subtle: #9AA1AC;
    --rule: #262A31;
    --accent: #A9B8D6;
    --accent-contrast: #0F1115;
  }
}
*,*::before,*::after { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-width: 0;
  min-height: 100vh;
  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font);
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body { display:flex; flex-direction:column; }
main { flex:1 0 auto; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 2px solid var(--accent); outline-offset: 5px; border-radius: 2px; }
::selection { background: var(--accent); color: var(--accent-contrast); }
h1,h2,h3,p,dl,dd,dt { margin-top: 0; }
h1,h2,h3 { font-weight: 600; }
.shell, .header-shell { width: min(var(--shell), calc(100% - 64px)); margin-inline: auto; }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 15px; background: var(--accent); color: var(--accent-contrast); transform: translateY(-175%); }
.skip-link:focus { transform: translateY(0); }

/* Navigation: finely drawn, not a boxed template header. */
.site-header {
  position: sticky; top: 0; z-index: 20;
  border-bottom: 1px solid var(--rule);
  background: color-mix(in srgb, var(--canvas) 87%, transparent);
  -webkit-backdrop-filter: blur(17px);
  backdrop-filter: blur(17px);
}
.header-shell { height: 86px; display:flex; align-items:center; gap: 32px; }
.brand { display:inline-flex; gap: 12px; align-items:center; flex: 0 0 auto; font-weight:600; font-size:15px; letter-spacing:-0.035em; line-height:1; }
.brand-mark { width:34px; height:34px; border-radius: 5px; display:grid; place-items:center; background:#23324A; color:white; font-size: 12px; letter-spacing:-0.055em; }
.brand-name { white-space:nowrap; }
.primary-nav { display:flex; align-items:center; gap: 29px; margin-inline: auto 0; white-space: nowrap; }
.primary-nav a { color:var(--subtle); font-size:13px; font-weight:600; position:relative; padding: 11px 0; transition:color 200ms ease; }
.primary-nav a[aria-current="page"], .primary-nav a:hover { color: var(--ink); }
.primary-nav a::after, .text-link::after, .footer-mail::after {
  content:""; position:absolute; left:0; right:0; bottom:4px; height:1px;
  background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform 200ms ease;
}
.primary-nav a:hover::after, .primary-nav a:focus-visible::after,
.text-link:hover::after, .text-link:focus-visible::after, .footer-mail:hover::after, .footer-mail:focus-visible::after { transform:scaleX(1); }
.locale { display:flex; gap:7px; align-items:center; flex:0 0 auto; margin-left:12px; padding-left:22px; border-left:1px solid var(--rule); line-height:1; font-size:12px; font-weight:600; }
.locale a { color:var(--subtle); padding:10px 1px; transition:color 200ms ease; }
.locale a:hover, .locale a:focus-visible { color:var(--ink); }
.locale .selected { color:var(--ink); }
.locale-sep { color:var(--subtle); }

/* Type, links and actions. */
.eyebrow { color:var(--accent); font-size:12px; font-weight:600; line-height:1.5; letter-spacing:.14em; text-transform:uppercase; }
.hero h1, .notfound h1 {
  font-size:clamp(44px,7vw,76px); font-weight:600; line-height:1.02;
  letter-spacing:-.025em; margin:29px 0 0;
}
.page-title {
  max-width: 15ch; font-size:clamp(44px,6.3vw,76px);
  line-height:1.055; font-weight:600; letter-spacing:-.025em; margin:28px 0 0;
  overflow-wrap:break-word;
}
.section-heading h2 { font-size:clamp(32px,3.15vw,40px); letter-spacing:-.015em; line-height:1.2; margin: 0; }
.inline-link, .text-link { color:var(--accent); font-weight:600; }
.inline-link { display:inline-flex; align-items:center; gap:18px; position:relative; width:fit-content; padding: 8px 0 12px; font-size:14px; line-height:1.5; }
.inline-link::after { content:""; position:absolute; inset:auto 0 7px 0; height:1px; background:var(--accent); transform:scaleX(0); transform-origin:left; transition:transform 200ms ease; }
.inline-link:hover::after, .inline-link:focus-visible::after { transform:scaleX(1); }
.inline-link .arrow, .contact-address .arrow { font-size: 19px; font-weight:400; line-height:1; transition:transform 200ms ease; }
.inline-link:hover .arrow, .contact-address:hover .arrow { transform:translate(2px,-2px); }
.text-link, .footer-mail { position:relative; }
.text-link::after { bottom: -3px; }
.button {
  display:inline-flex; align-items:center; justify-content:space-between; gap:25px;
  min-height:52px; padding:15px 20px; border-radius:3px; font-size:13px;
  font-weight:600; line-height:1.2; transition:background-color 150ms ease, transform 150ms ease, color 150ms ease;
}
.button-primary { background:var(--accent); color:var(--accent-contrast); }
.button-primary:hover { background:var(--ink); color:var(--canvas); transform:translateY(-1px); }
.button .arrow { font-size:17px; font-weight:400; }

/* Home: 7/5 asymmetry, generous breathing room. */
.hero { padding-top:100px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:24px; align-items:center; }
.hero-text { grid-column:span 7; padding-right: 13px; }
.hero h1 { max-width:none; }
.hero-lead { max-width:30ch; color:var(--subtle); font-size:clamp(19px,2.1vw,24px); letter-spacing:-.015em; line-height:1.56; margin:35px 0 0; }
.hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:26px; margin-top:40px; }
.portrait { overflow:hidden; background:var(--photo-edge); border-radius:6px; aspect-ratio:4/5; }
.portrait picture, .portrait img { width:100%; height:100%; }
.portrait img { object-fit:cover; object-position:50% 45%; }
.portrait-hero { grid-column:span 5; width:100%; }
.featured { padding-top:148px; padding-bottom:155px; }
.section-heading { display:grid; grid-template-columns: 1fr 2fr; gap:32px; border-top:1px solid var(--rule); padding-top:26px; }
.section-heading .eyebrow { padding-top:9px; }
.product-row { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:center; margin-top:50px; }
.app-image { grid-column:span 6; overflow:hidden; border-radius:6px; background:var(--surface); }
.app-image picture, .app-image img { display:block; width:100%; }
.app-image img { aspect-ratio:1200/1078; object-fit:cover; }
.product-copy { grid-column:span 6; display:flex; flex-direction:column; align-items:flex-start; padding-left:56px; }
.product-topline { display:flex; justify-content:space-between; align-items:center; gap:24px; width:100%; max-width:360px; margin-bottom:26px; }
.product-number { color:var(--subtle); font-size:11px; letter-spacing:.15em; font-weight:600; font-variant-numeric:tabular-nums; }
.status { color:var(--subtle); border:1px solid var(--rule); border-radius:100px; padding:5px 12px 6px; font-size:11px; font-weight:600; line-height:1.4; }
.product-name { font-size:clamp(39px,4vw,54px); letter-spacing:-.025em; line-height:1.1; margin:0 0 8px; }
.product-tagline { font-size:19px; line-height:1.5; color:var(--subtle); margin:0 0 30px; }

/* Inner pages. */
.page-intro { padding-top:110px; }
.about-layout { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; padding-top:54px; padding-bottom:158px; align-items:start; }
.prose { grid-column:span 7; max-width: 64ch; padding-right:36px; }
.prose p { line-height:1.8; margin-bottom:28px; }
.prose p:last-child { margin-top:44px; margin-bottom:0; }
.portrait-about { grid-column:9 / 13; max-width:336px; justify-self:end; }
.apps-list { padding-bottom:150px; }
.apps-list .product-row { border-top:1px solid var(--rule); padding-top:50px; margin-top:55px; }

/* Single product page. */
.nefse-layout { padding-top:116px; padding-bottom:130px; display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:24px; align-items:center; }
.nefse-words { grid-column:span 7; padding-right:35px; }
.nefse-title { max-width: 12.2ch; }
.lead-copy { color:var(--subtle); max-width:56ch; margin:36px 0 0; line-height:1.8; }
.launch-status { display:inline-flex; align-items:center; gap:11px; font-size:13px; font-weight:600; color:var(--ink); margin:32px 0 0; }
.status-dot { flex:none; width:8px; height:8px; border-radius:50%; background:var(--accent); }
.link-pair { display:flex; flex-wrap:wrap; align-items:center; gap:35px; margin-top:37px; }
.nefse-visual { grid-column:span 5; overflow:hidden; border-radius:6px; align-self:start; }
.nefse-visual img { width:100%; height:auto; }
.disclaimer { border-top:1px solid var(--rule); padding-top:30px; padding-bottom:145px; display:grid; grid-template-columns:1fr 2fr; gap:32px; }
.disclaimer .eyebrow { padding-top:6px; }
.disclaimer p { max-width:63ch; color:var(--subtle); font-size:16px; line-height:1.75; margin:0; }

/* Readable policy, no awkward cards. */
.legal-layout { padding-top:65px; padding-bottom:150px; }
.policy-list { margin:0; border-top:1px solid var(--rule); }
.policy-row { display:grid; grid-template-columns: 270px minmax(0,1fr); gap:32px; padding:25px 0 26px; border-bottom:1px solid var(--rule); }
.policy-row dt { font-weight:600; font-size:15px; line-height:1.65; margin:0; }
.policy-row dd { color:var(--subtle); font-size:16px; line-height:1.8; margin:0; max-width:64ch; min-width:0; overflow-wrap:anywhere; }
.policy-row .text-link { color:var(--accent); }
.legal-next { margin-top:35px; }

/* Support and contact. */
.support-body { padding-top:62px; padding-bottom:154px; }
.support-call { display:grid; grid-template-columns:1fr 2fr; gap:32px; padding-bottom:78px; }
.support-call h2 { font-size:clamp(26px,3vw,38px); letter-spacing:-.015em; line-height:1.2; }
.support-call p { max-width:47ch; color:var(--subtle); line-height:1.7; margin:0; }
.faq-section { border-top:1px solid var(--rule); padding-top:30px; display:grid; grid-template-columns:1fr 2fr; gap:32px; }
.faq-section .eyebrow { padding-top:7px; }
.faq-item { border-bottom:1px solid var(--rule); padding:0 0 22px; margin-bottom:24px; }
.faq-item h3 { font-size:17px; letter-spacing:-.015em; line-height:1.55; margin:0 0 9px; }
.faq-item p { font-size:16px; color:var(--subtle); line-height:1.7; margin:0; }
.emergency-note { border-left:2px solid var(--accent); max-width:675px; margin:35px 0 0 auto; padding:15px 0 15px 23px; font-size:15px; line-height:1.7; color:var(--ink); }
.contact-body { min-height:435px; padding-top:70px; padding-bottom:130px; }
.contact-body p { font-size:17px; color:var(--subtle); margin:0 0 8px; }
.contact-address { display:inline-flex; flex-wrap:nowrap; align-items:baseline; gap:20px; max-width:100%; overflow-wrap:anywhere; color:var(--ink); font-size:clamp(22px,4.5vw,52px); font-weight:600; letter-spacing:-.025em; line-height:1.45; border-bottom:1px solid var(--ink); padding-bottom:7px; }
.contact-location { margin-top:35px; color:var(--subtle); font-size:14px; }
.notfound { padding-top:150px; padding-bottom:210px; }
.notfound h1 { max-width:13ch; }
.notfound p { font-size:18px; color:var(--subtle); margin-top:27px; margin-bottom:33px; }

/* Quiet site-wide ending. */
.footer { border-top:1px solid var(--rule); margin-top:auto; }
.footer-inner { min-height:126px; display:flex; align-items:center; justify-content:space-between; gap:22px; }
.footer-owner { color:var(--ink); font-size:12px; line-height:1.6; font-weight:600; }
.footer-mail { color:var(--ink); font-size:12px; font-weight:600; white-space:nowrap; }
.footer-mail::after { bottom:-4px; }
.footer-meta { color:var(--subtle); font-size:12px; white-space:nowrap; }
.dot { display:inline-block; padding:0 8px; color:var(--subtle); }

/* Only one restrained page-entry animation. */
.page-entrance { animation: enter 300ms ease-out both; }
@keyframes enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }

@media (max-width:1020px) {
  .header-shell { gap:19px; }
  .primary-nav { gap:18px; }
  .locale { margin-left:3px; padding-left:13px; }
  .product-copy { padding-left:28px; }
  .hero { column-gap:16px; }
  .nefse-words { padding-right:8px; }
}
@media (max-width:760px) {
  body { font-size:17px; }
  .shell,.header-shell { width:calc(100% - 40px); }
  .header-shell { min-height:107px; height:auto; padding:14px 0 0; display:grid; grid-template-columns:1fr auto; grid-template-rows:43px 50px; gap:0; }
  .brand { grid-row:1; grid-column:1; }
  .brand-name { font-size:14px; }
  .locale { grid-row:1; grid-column:2; margin-left:0; padding-left:15px; }
  .primary-nav { grid-row:2; grid-column:1 / -1; gap:0; margin:0; display:flex; width:100%; justify-content:space-between; align-self:stretch; }
  .primary-nav a { display:inline-flex; align-items:center; padding:0 1px; font-size:12px; line-height:1; }
  .primary-nav a::after { bottom: 8px; }
  .eyebrow { font-size:11px; }
  .hero { padding-top:38px; display:flex; flex-direction:column; align-items:stretch; gap:45px; }
  .hero-text { padding-right:0; order:2; }
  .hero h1 { font-size:clamp(44px,10.8vw,62px); margin-top:19px; max-width:none; }
  .hero-lead { max-width:33ch; font-size:18px; margin-top:23px; }
  .hero-actions { margin-top:31px; gap:22px; }
  .portrait-hero { order:1; width:min(100%,294px); align-self:flex-end; }
  .featured { padding-top:92px; padding-bottom:94px; }
  .section-heading { display:block; padding-top:19px; }
  .section-heading h2 { margin-top:16px; }
  .product-row { display:flex; flex-direction:column; align-items:stretch; gap:28px; margin-top:33px; }
  .product-copy { padding-left:0; }
  .product-topline { max-width:none; margin-bottom:19px; }
  .product-name { font-size:41px; }
  .product-tagline { font-size:17px; margin-bottom:21px; }
  .page-intro { padding-top:75px; }
  .page-title { font-size:clamp(44px,9vw,63px); margin-top:18px; }
  .about-layout { display:flex; flex-direction:column-reverse; gap:35px; padding-top:39px; padding-bottom:91px; }
  .prose { padding-right:0; max-width:64ch; }
  .prose p { margin-bottom:21px; line-height:1.75; }
  .prose p:last-child { margin-top:31px; }
  .portrait-about { align-self:flex-end; width:min(63%,270px); }
  .apps-list { padding-bottom:97px; }
  .apps-list .product-row { margin-top:42px; padding-top:31px; }
  .nefse-layout { padding-top:74px; padding-bottom:86px; display:flex; flex-direction:column; align-items:stretch; gap:37px; }
  .nefse-words { padding-right:0; }
  .nefse-title { max-width:13ch; }
  .lead-copy { margin-top:27px; line-height:1.7; }
  .launch-status { margin-top:25px; }
  .link-pair { margin-top:29px; gap:23px; }
  .nefse-visual { width:100%; max-width:510px; }
  .disclaimer { display:block; padding-top:22px; padding-bottom:89px; }
  .disclaimer p { font-size:15px; margin-top:13px; }
  .legal-layout { padding-top:42px; padding-bottom:91px; }
  .policy-row { display:block; padding:20px 0 23px; }
  .policy-row dt { font-size:15px; margin-bottom:5px; }
  .policy-row dd { font-size:15px; line-height:1.75; }
  .support-body { padding-top:44px; padding-bottom:90px; }
  .support-call { display:block; padding-bottom:55px; }
  .support-call h2 { font-size:30px; margin-bottom:16px; }
  .faq-section { display:block; padding-top:23px; }
  .faq-section .eyebrow { margin-bottom:27px; }
  .faq-item h3 { font-size:16px; }
  .faq-item p { font-size:15px; }
  .emergency-note { margin-top:25px; padding-left:18px; font-size:14px; }
  .contact-body { padding-top:47px; padding-bottom:95px; min-height:350px; }
  .contact-address { font-size:clamp(21px,5.1vw,36px); gap:8px; }
  .contact-address .arrow { font-size:16px; }
  .notfound { padding-top:100px; padding-bottom:120px; }
  .footer-inner { min-height:auto; padding:27px 0 30px; flex-direction:column; align-items:flex-start; gap:9px; }
  .footer-mail,.footer-owner,.footer-meta { font-size:11px; }
}
@media (max-width:370px) {
  .shell,.header-shell { width:calc(100% - 32px); }
  .header-shell { grid-template-rows:42px 47px; min-height:103px; }
  .primary-nav a { font-size:11px; }
  .brand-name { font-size:13px; }
  .brand-mark { width:31px; height:31px; }
  .hero h1 { font-size:44px; }
  .hero-actions { gap:16px; }
  .button { padding-inline:16px; }
  .contact-address { font-size:19px; }
}
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
  .page-entrance { animation:none !important; }
}
