/*
Theme Name: MDS Dark
Theme URI: https://www.mdsdefense.com
Author: MDS Modern Defense Solutions
Author URI: https://www.mdsdefense.com
Description: Custom theme for the MDS Modern Defense Solutions website. Front page plus page templates (Standard Page, Chairman's Message, Vision & Mission, Projects, Press Room, Contact) managed with ACF (free) fields; English, Turkish and Arabic (right-to-left) with Polylang.
Version: 1.16.5
Requires at least: 6.8
Requires PHP: 7.4
Text Domain: mds-dark
*/

:root{
  --bg:#0b1420; --panel:#101b28; --panel2:#14212f; --border:#25384b;
  --text:#f4f2ec; --muted:#93a4b6; --accent:#e2a13c; --accent2:#b97f27;
}
/* Self-hosted Oswald + IBM Plex Sans (latin + latin-ext subsets only --
   covers EN/TR; Arabic content falls back to the stack's next font,
   these families were never intended to cover Arabic script anyway).
   font-display:swap (1.15.14; was optional) -- text paints at once in
   the fallback font and switches to Oswald/Plex as soon as the file
   arrives. "optional" never switched: on a first visit (empty cache)
   every weight not preloaded stayed in the system font until a reload.
   The most-used files are still preloaded (see mds_font_preload()), so
   the switch is rare and short. */
@font-face{
  font-family:'Oswald'; font-style:normal; font-weight:300; font-display:swap;
  src:url('assets/fonts/oswald-latin-300-normal.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:'Oswald'; font-style:normal; font-weight:300; font-display:swap;
  src:url('assets/fonts/oswald-latin-ext-300-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Oswald'; font-style:normal; font-weight:400; font-display:swap;
  src:url('assets/fonts/oswald-latin-400-normal.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:'Oswald'; font-style:normal; font-weight:400; font-display:swap;
  src:url('assets/fonts/oswald-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Oswald'; font-style:normal; font-weight:500; font-display:swap;
  src:url('assets/fonts/oswald-latin-500-normal.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:'Oswald'; font-style:normal; font-weight:500; font-display:swap;
  src:url('assets/fonts/oswald-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Oswald'; font-style:normal; font-weight:600; font-display:swap;
  src:url('assets/fonts/oswald-latin-600-normal.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:'Oswald'; font-style:normal; font-weight:600; font-display:swap;
  src:url('assets/fonts/oswald-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Oswald'; font-style:normal; font-weight:700; font-display:swap;
  src:url('assets/fonts/oswald-latin-700-normal.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:'Oswald'; font-style:normal; font-weight:700; font-display:swap;
  src:url('assets/fonts/oswald-latin-ext-700-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Sans'; font-style:normal; font-weight:400; font-display:swap;
  src:url('assets/fonts/ibm-plex-sans-latin-400-normal.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:'IBM Plex Sans'; font-style:normal; font-weight:400; font-display:swap;
  src:url('assets/fonts/ibm-plex-sans-latin-ext-400-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Sans'; font-style:normal; font-weight:500; font-display:swap;
  src:url('assets/fonts/ibm-plex-sans-latin-500-normal.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:'IBM Plex Sans'; font-style:normal; font-weight:500; font-display:swap;
  src:url('assets/fonts/ibm-plex-sans-latin-ext-500-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'IBM Plex Sans'; font-style:normal; font-weight:600; font-display:swap;
  src:url('assets/fonts/ibm-plex-sans-latin-600-normal.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:'IBM Plex Sans'; font-style:normal; font-weight:600; font-display:swap;
  src:url('assets/fonts/ibm-plex-sans-latin-ext-600-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0; background:var(--bg); color:var(--text); font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased;}
h1,h2,h3,.disp{font-family:'Oswald',system-ui,sans-serif; margin:0; letter-spacing:.01em;}
a{color:var(--accent); text-decoration:none;}
a:hover{color:#f0b657;}
p{margin:0; line-height:1.65;}
img{max-width:100%; display:block;}
.kicker{font-family:'Oswald',system-ui,sans-serif; font-size:12px; font-weight:600; letter-spacing:.22em; text-transform:uppercase; color:var(--accent);}
.wrap{max-width:1180px; margin:0 auto; padding:0 40px;}
/* 1.16.5: blocks that share the .wrap element (intro, pgrid, empty-note,
   module-in, page-body, cta-in) set only padding-top/bottom. A "padding:
   64px 0" shorthand on them wiped .wrap's 40px sides on desktop, so their
   text started 40px left of the logo and hero title (flush with the window
   edge between 901 and 1180px). */
.btn{display:inline-flex; align-items:center; gap:8px; padding:14px 26px; font-family:'Oswald',system-ui,sans-serif; font-size:14px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; border-radius:2px; cursor:pointer; border:none;}
.btn-primary{background:var(--accent); color:#161005;}
.btn-primary:hover{background:#f0b657; color:#161005;}
.btn-outline{border:1.5px solid rgba(244,242,236,.35); color:var(--text);}
.btn-outline:hover{border-color:var(--accent); color:var(--accent);}
.card-link{font-family:'Oswald',system-ui,sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;}
/* 1.15.9: e-posta adresleri asla buyuk harfe cevrilmez -- .card-link gibi
   uppercase siniflar tasisa bile. (TR sayfada uppercase "info" -> "İNFO"
   yapiyordu.) */
a[href^="mailto:"]{text-transform:none; letter-spacing:.02em;}

/* header */
.site-header{position:sticky; top:0; z-index:20; background:rgba(11,20,32,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--border);}
.hdr-row{display:flex; align-items:center; justify-content:space-between; height:84px;}
.hdr-row img{height:30px;}
.hdr-row .site-logo{display:flex; align-items:center;}
.primary-nav ul{display:flex; align-items:center; gap:34px; list-style:none; margin:0; padding:0;}
.primary-nav a{font-family:'Oswald',system-ui,sans-serif; font-size:13px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}
.primary-nav a:hover{color:var(--text);}
.primary-nav .current-menu-item > a, .primary-nav .current_page_item > a{color:var(--text); position:relative;}
.primary-nav .current-menu-item > a::after, .primary-nav .current_page_item > a::after{content:""; position:absolute; left:0; right:0; bottom:-28px; height:2px; background:var(--accent);}
/* header: acilir alt menu (1.15.1) -- gercek menude bir ogenin altina
   suruklenen sayfalar. Fare ile ustune gelince ya da klavyeyle odaklaninca
   acilir (focus-within). */
.primary-nav li{position:relative;}
.primary-nav .menu-item-has-children > a{position:relative; padding-right:15px;}
.primary-nav .menu-item-has-children > a::before{content:""; position:absolute; right:0; top:50%; width:5px; height:5px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-70%) rotate(45deg);}
.primary-nav .sub-menu{display:block; position:absolute; top:calc(100% + 30px); left:-20px; min-width:250px; padding:10px 0; background:var(--panel); border:1px solid var(--border); border-top:2px solid var(--accent); box-shadow:0 18px 40px rgba(0,0,0,.45); opacity:0; visibility:hidden; transform:translateY(6px); transition:opacity .15s ease, transform .15s ease, visibility .15s;}
.primary-nav .sub-menu::before{content:""; position:absolute; left:0; right:0; top:-32px; height:32px;}
/* 1.15.2: fare menunun ustundeyken SADECE fare altindaki ogenin alt menusu
   acik kalsin -- tiklanarak (odakla) acilmis baska bir alt menu kapanir. */
.primary-nav .sub-menu li{display:block;}
.primary-nav .sub-menu a{display:block; padding:11px 20px; font-size:12.5px; white-space:nowrap;}
.primary-nav .sub-menu a:hover{background:var(--panel2); color:var(--text);}
.primary-nav .sub-menu .current-menu-item > a{color:var(--accent);}
.primary-nav .sub-menu .current-menu-item > a::after{display:none;}
.primary-nav .current-menu-ancestor > a, .primary-nav .current-menu-parent > a{color:var(--text);}
/* 1.15.14: dropdown header of the active section gets the same underline;
   while its dropdown is open the box's orange top edge takes its place. */
.primary-nav > ul > .current-menu-ancestor > a::after, .primary-nav > ul > .current-menu-parent > a::after{content:""; position:absolute; left:0; right:0; bottom:-28px; height:2px; background:var(--accent); transition:opacity .15s ease;}
/* 1.16.0: hover/focus dropdown behaviour is desktop-only (on phones the
   same menu is an accordion inside the slide-down panel, see below). */
@media (min-width: 901px){
  .primary-nav li:hover > .sub-menu, .primary-nav li:focus-within > .sub-menu{opacity:1; visibility:visible; transform:none;}
  /* 1.15.2: while the mouse is over the menu only the hovered item's dropdown stays open */
  .primary-nav ul:hover > li:not(:hover) > .sub-menu{opacity:0; visibility:hidden; transform:translateY(6px);}
  .primary-nav > ul > li.menu-item-has-children:hover > a::after, .primary-nav > ul > li.menu-item-has-children:focus-within > a::after{opacity:0;}
}
.nav-toggle{display:none;}
.langs{display:flex; align-items:center; gap:2px; border:1px solid var(--border); border-radius:3px; padding:3px; margin-left:36px;}
.langs a, .langs span{font-family:'Oswald',system-ui,sans-serif; font-size:11px; font-weight:600; letter-spacing:.08em; padding:6px 10px; border-radius:2px; color:var(--muted); text-decoration:none;}
.langs .on{background:var(--accent); color:#161005;}
.langs a:hover:not(.on){color:var(--text);}
.langs a, .langs span{line-height:16px;}
/* 1.16.4: Arabic label is the letter "ع" (not Latin "AR"). Oswald has no
   Arabic glyphs, so the system font draws it; larger size + no tracking
   so it reads at the same visual weight as EN/TR. Same 16px line box,
   so the pill keeps its height. */
.langs [lang="ar"]{font-family:system-ui,'Segoe UI',Tahoma,sans-serif; font-size:14px; letter-spacing:0; min-width:14px; text-align:center;}

/* hero (front page) */
.hero{position:relative; min-height:640px; display:flex; align-items:flex-end;}
.hero-img{position:absolute; inset:0; background-size:cover; background-position:center 38%; background-repeat:no-repeat;}
.hero-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,20,32,.55) 0%, rgba(11,20,32,.55) 30%, rgba(11,20,32,.97) 96%), linear-gradient(90deg, rgba(11,20,32,.94) 0%, rgba(11,20,32,.55) 46%, rgba(11,20,32,.2) 78%);}
.hero-body{position:relative; padding:0 40px 76px; width:100%;} /* 1.16.0: was max-width:680px -- as a flex item the block was centred, not aligned with the logo/content edge */
.hero-body h1{max-width:680px;}
.hero-body h1{font-size:60px; font-weight:600; line-height:1.06; color:var(--text); margin:18px 0 22px;}
.hero-body p{font-size:18px; color:var(--muted); max-width:560px; margin-bottom:34px;}
.hero-cta{display:flex; gap:16px;}

/* capability strip */
.strip{background:var(--panel); border-bottom:1px solid var(--border);}
.strip .wrap{display:grid; grid-template-columns:repeat(4,1fr); padding:34px 40px;}
.cap{display:flex; align-items:center; gap:14px; padding:0 26px; border-left:1px solid var(--border);}
.cap:first-child{border-left:none; padding-left:0;}
.cap svg{flex:none; color:var(--accent);}
.cap-label{font-family:'Oswald',system-ui,sans-serif; font-size:13.5px; font-weight:500; letter-spacing:.03em; color:var(--text); line-height:1.3;}

/* about (front page) */
.about{padding:120px 0; display:grid; grid-template-columns:1.05fr .85fr; gap:80px; align-items:center;}
.about h2{font-size:38px; font-weight:600; color:var(--text); margin:14px 0 24px;}
.about p{color:var(--muted); font-size:16px; margin-bottom:30px; max-width:460px;}
.about-media{position:relative; border-radius:2px; overflow:hidden;}
.about-media img{width:100%; height:440px; object-fit:cover;}
.about-media::before{content:""; position:absolute; top:-16px; right:-16px; width:120px; height:120px; border-top:3px solid var(--accent); border-right:3px solid var(--accent); z-index:2;}

/* solutions cards */
.solutions{padding:0 0 130px;}
.sec-head{display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:52px; gap:24px;}
.sec-head h2{font-size:34px; font-weight:600; margin-top:14px;}
.sec-head .desc{max-width:380px; color:var(--muted); font-size:15px; text-align:right;}
.cards{display:grid; grid-template-columns:repeat(3,1fr); gap:30px;}
.card{background:var(--panel2); border:1px solid var(--border); border-radius:2px; overflow:hidden; transition:border-color .2s;}
.card:hover{border-color:var(--accent);}
.card img{width:100%; height:210px; object-fit:cover;}
.card-body{padding:26px 26px 30px;}
.card-body h3{font-size:19px; font-weight:500; color:var(--text); line-height:1.3; margin-bottom:16px; min-height:50px;}

/* press */
.press{background:var(--panel); border-top:1px solid var(--border); border-bottom:1px solid var(--border); padding:88px 0;}
.press-row{display:grid; grid-template-columns:.9fr 1.4fr; gap:60px; align-items:center;}
.press h2{font-size:30px; font-weight:600; color:var(--text); margin:16px 0 18px; line-height:1.25;}
.press p{color:var(--muted); font-size:15px; margin-bottom:20px; max-width:440px;}
.press-quote{border-left:2px solid var(--accent); padding-left:28px;}
.press-quote .src{font-family:'Oswald',system-ui,sans-serif; font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:14px; display:block;}
.press-quote p{font-size:20px; color:var(--text); font-style:italic; line-height:1.5;}

/* footer */
.site-footer{padding:80px 0 0;}
.foot-grid{display:grid; grid-template-columns:1.3fr .8fr .8fr .9fr; gap:40px; padding-bottom:64px; border-bottom:1px solid var(--border);}
.foot-grid.has-legal{grid-template-columns:1.2fr .8fr .8fr .9fr .8fr; gap:36px;} /* 1.15.12: Legal sutunu */
.site-footer img{height:26px; margin-bottom:18px;}
.foot-col h4{font-family:'Oswald',system-ui,sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:18px;}
.foot-col p, .foot-col a, .foot-col span{display:block; font-size:14px; color:var(--muted); margin-bottom:11px;}
.foot-col a:hover{color:var(--accent);}
.foot-tagline{font-size:14px; color:var(--muted); max-width:280px; margin-bottom:22px;}
.bottom-bar{display:flex; align-items:center; justify-content:space-between; padding:26px 0 34px; font-size:13px; color:var(--muted); flex-wrap:wrap; gap:10px;}
.bottom-bar .langs{margin-left:0;}

/* page template ("Sayfa Sablonu") */
.crumb{font-family:'Oswald',system-ui,sans-serif; font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:rgba(244,242,236,.75);}
.crumb a{color:rgba(244,242,236,.75);}
.crumb a:hover{color:var(--accent);}
.crumb .sep{margin:0 8px; color:var(--muted);}
.crumb .now{color:var(--accent);}
.m-hero{position:relative; min-height:400px; display:flex; align-items:flex-end;}
.m-hero-img{position:absolute; inset:0; background-size:cover; background-position:center 42%; background-repeat:no-repeat;}
.m-hero-scrim{position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,20,32,.35) 0%, rgba(11,20,32,.97) 92%);}
.m-hero-body{position:relative; padding-bottom:44px; width:100%;} /* 1.16.0: full width so the title lines up with the content below */
.m-hero-body h1{font-size:52px; font-weight:600; margin-top:16px;}
.module{border-top:1px solid var(--border);}
.module-in{display:grid; grid-template-columns:96px 1fr; gap:0 44px; padding-top:76px; padding-bottom:76px;}
.module-in.no-num{grid-template-columns:1fr;}
.num{font-family:'Oswald',system-ui,sans-serif; font-size:64px; font-weight:600; color:var(--accent); opacity:.32; line-height:1;}
.module h2{font-size:28px; font-weight:600; margin:14px 0 22px;}
.module p{color:var(--muted); font-size:15.5px;}
.checklist{display:grid; grid-template-columns:1fr 1fr; gap:14px 32px; margin-top:30px;}
.chk{display:flex; align-items:flex-start; gap:12px; font-size:14.5px; color:var(--text);}
.chk svg{flex:none; margin-top:2px; color:var(--accent);}
.facts{display:flex; gap:24px; margin-top:6px; flex-wrap:wrap;}
.fact{flex:1; min-width:200px; background:var(--panel2); border:1px solid var(--border); padding:30px 28px;}
.fact .flabel{font-family:'Oswald',system-ui,sans-serif; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-bottom:10px;}
.fact .fval{font-family:'Oswald',system-ui,sans-serif; font-size:24px; font-weight:500; color:var(--text);}
.imgtext{display:grid; grid-template-columns:.85fr 1.15fr; gap:44px; align-items:center;}
.imgtext img{width:100%; height:280px; object-fit:cover;}
.imgtext-body h2{margin-top:0;}
.imgtext-body p{margin-top:16px;}
.cta-module{background:var(--panel); border-top:1px solid var(--border);}
.cta-in{display:flex; align-items:center; justify-content:space-between; padding-top:64px; padding-bottom:64px; flex-wrap:wrap; gap:24px;}
.cta-in h2{font-size:30px; font-weight:600;}
.cta-phone{font-family:'Oswald',system-ui,sans-serif; color:var(--muted); font-size:14px; margin-top:8px;}
.page-body{padding-top:76px; padding-bottom:76px;}

/* the_content() ciktisi -- WYSIWYG editorden gelen serbest metin */
.page-content{color:var(--muted); font-size:16px;}
.page-content > *{margin-bottom:20px;}
.page-content > *:last-child{margin-bottom:0;}
.page-content h2{color:var(--text); font-size:26px; font-weight:600;}
.page-content h3{color:var(--text); font-size:20px; font-weight:600;}
.page-content ul, .page-content ol{padding-left:22px; margin-bottom:20px;}
.page-content li{margin-bottom:8px;}
.page-content a{text-decoration:underline;}
.page-content img{border-radius:2px; margin:8px 0;}
/* 1.15.12: sayfa icerigindeki tablolar (orn. gizlilik politikasi). text-align:start RTL'de saga hizalar. */
.page-content .wp-block-table{overflow-x:auto; margin:0 0 20px;}
.page-content table{width:100%; border-collapse:collapse; font-size:15px;}
.page-content th, .page-content td{border:1px solid var(--border); padding:11px 14px; text-align:start; vertical-align:top;}
.page-content th, .page-content thead td{color:var(--text); background:var(--panel2); font-weight:600;}
.page-content .wp-block-table thead{border-bottom:2px solid var(--accent);}

/* projeler sablonu (page-projeler.php) */
.intro{padding-top:64px; padding-bottom:8px;}
.intro p{max-width:620px; color:var(--muted); font-size:16px;}
.note{display:inline-flex; align-items:center; gap:10px; margin-top:22px; padding:10px 16px; background:var(--panel2); border:1px solid var(--border); border-left:2px solid var(--accent); font-size:13px; color:var(--muted);}
.note b{color:var(--text); font-weight:500;}
.pgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:30px; padding-top:48px; padding-bottom:120px;}
.pcard{background:var(--panel2); border:1px solid var(--border); overflow:hidden;}
.pcard img{display:block; width:100%; height:230px; object-fit:cover;}
.pcard-body{padding:26px;}
.pcard-body .tag{font-family:'Oswald',system-ui,sans-serif; font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; display:block;}
.pcard-body h3{font-size:18px; font-weight:500; line-height:1.35; margin-bottom:18px; min-height:48px;}
.empty-note{padding-top:48px; padding-bottom:120px; color:var(--muted); font-size:15px;}

/* iletisim sablonu (page-iletisim.php) */
.ogrid{display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:48px 0 0;}
.ocard{background:var(--panel2); border:1px solid var(--border); padding:32px;}
/* 1.15.6: footer'daki ofis linki (#ofis-<ID>) ile gelindiginde kart sabit
   header'in altinda kalmasin ve kisa sure vurgulansin. */
.ocard{scroll-margin-top:110px; transition:border-color .6s ease;}
.ocard:target{border-color:var(--accent); animation:mds-ocard-flash 2.4s ease;}
@keyframes mds-ocard-flash{0%,40%{box-shadow:0 0 0 2px var(--accent);}100%{box-shadow:0 0 0 0 transparent;}}
.ocard h3{font-size:19px; font-weight:500; color:var(--text); margin-bottom:18px;}
.ocard .oline{display:flex; align-items:flex-start; gap:12px; font-size:14.5px; color:var(--muted); margin-bottom:12px;}
.ocard .oline:last-child{margin-bottom:0;}
.ocard .oline svg{flex:none; margin-top:2px; color:var(--accent);}
.ocard .oline a{color:var(--muted);}
.ocard .oline a:hover{color:var(--accent);}
.ogeneral{grid-column:1 / -1; margin-top:30px; background:var(--panel); border:1px solid var(--border); border-left:2px solid var(--accent); padding:32px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:18px;}
.ogeneral h3{font-size:17px; font-weight:500; color:var(--text);}
.ogeneral a.card-link{font-size:15px;}
.iletisim-body{padding-bottom:120px;}

/* iletisim formu (Ad Soyad / E-posta / Telefon / Mesaj) */
.contact-form{grid-column:1 / -1; margin-top:60px; background:var(--panel); border:1px solid var(--border); padding:44px;}
/* 1.15.10: form basligi icin kural yoktu -> tarayicinin kalin (700) varsayilan h3'u. Ofis kartlariyla ayni. */
.contact-form h3{font-size:19px; font-weight:500; color:var(--text);}
.form-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px 24px; margin-top:8px;}
.form-row{display:flex; flex-direction:column; gap:8px;}
.form-row-full{grid-column:1 / -1;}
.form-row-hp{position:absolute; left:-9999px; top:-9999px; opacity:0; height:0; overflow:hidden;}
.form-row label{font-family:'Oswald',system-ui,sans-serif; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);}
.form-row input, .form-row textarea{background:var(--panel2); border:1px solid var(--border); color:var(--text); font-family:'IBM Plex Sans',system-ui,sans-serif; font-size:15px; padding:12px 14px; border-radius:2px; outline:none;}
.form-row input:focus, .form-row textarea:focus{border-color:var(--accent);}
.form-row textarea{resize:vertical;}
.form-actions{margin-top:4px;}
.form-actions .btn{border:none; cursor:pointer; font-family:'Oswald',system-ui,sans-serif; font-size:13px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; padding:14px 30px; border-radius:2px;}
.form-notice{grid-column:1 / -1; padding:14px 18px; margin-bottom:22px; font-size:14.5px; border-left:2px solid var(--accent);}
.form-notice-ok{background:rgba(226,161,60,.12); color:var(--text); border-left-color:var(--accent);}
.form-notice-err{background:rgba(226,80,60,.1); color:var(--text); border-left-color:#c0503c;}

/* ---------------------------------------------------------------
 * 1.16.0 visual layer. Every movement is switched off for visitors
 * who ask for reduced motion (block at the end of this section).
 * ------------------------------------------------------------- */
/* hero: slow zoom-out of the background, staggered text entrance */
.hero, .m-hero{overflow:hidden;}
.hero-img, .m-hero-img{animation:mds-hero-zoom 14s cubic-bezier(.2,.6,.3,1) both;}
@keyframes mds-hero-zoom{from{transform:scale(1.08);}to{transform:scale(1);}}
.hero-body > *, .m-hero-body > *{animation:mds-rise .8s cubic-bezier(.2,.7,.3,1) both;}
.hero-body > :nth-child(2), .m-hero-body > :nth-child(2){animation-delay:.12s;}
.hero-body > :nth-child(3){animation-delay:.24s;}
.hero-body > :nth-child(4){animation-delay:.36s;}
@keyframes mds-rise{from{opacity:0; transform:translateY(16px);}to{opacity:1; transform:none;}}

/* cards: lift, orange edge, slow image zoom */
.card, .pcard{transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;}
.card img, .pcard img{transition:transform .6s cubic-bezier(.2,.6,.3,1);}
.card:hover, .pcard:hover{border-color:var(--accent); transform:translateY(-4px); box-shadow:0 18px 36px rgba(0,0,0,.35);}
.card:hover img, .pcard:hover img{transform:scale(1.05);}
.ocard{transition:border-color .25s ease;}
.ocard:hover{border-color:rgba(226,161,60,.55);}

/* Info Strip icons */
.fact{position:relative; transition:border-color .25s ease;}
.fact:hover{border-color:rgba(226,161,60,.55);}
.fact .ficon{display:block; color:var(--accent); margin-bottom:16px;}

/* reveal on scroll (classes set by mds_nav_script(); only below-the-fold
   elements, only when JS runs) */
.mds-js .reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.7,.3,1);}
.mds-js .reveal.is-in{opacity:1; transform:none;}

@media (prefers-reduced-motion: reduce){
  .hero-img, .m-hero-img, .hero-body > *, .m-hero-body > *{animation:none;}
  .card, .pcard, .card img, .pcard img, .fact, .ocard{transition:none;}
  .card:hover, .pcard:hover{transform:none;}
  .card:hover img, .pcard:hover img{transform:none;}
  .mds-js .reveal{opacity:1; transform:none; transition:none;}
}

/* responsive: phones */
@media (max-width: 900px){
  /* 1.16.0: only the side padding -- "padding:0 22px" also wiped the
     vertical padding of every ".wrap xxx" block (module, CTA, hero text,
     project grid...), so sections touched each other on phones. */
  .wrap{padding-left:22px; padding-right:22px;}
  .hdr-row{height:68px;}
  .primary-nav{display:none;}
  .hero{min-height:520px;}
  .hero-body h1{font-size:38px;}
  .strip .wrap{grid-template-columns:1fr 1fr; row-gap:24px;}
  .about, .press-row, .imgtext{grid-template-columns:1fr; gap:32px;}
  .about-media img{height:280px;}
  .cards{grid-template-columns:1fr;}
  .sec-head{flex-direction:column; align-items:flex-start;}
  .sec-head .desc{text-align:left;}
  .foot-grid, .foot-grid.has-legal{grid-template-columns:1fr 1fr; gap:32px;}
  .module-in{grid-template-columns:1fr; gap:14px;}
  .num{font-size:40px;}
  .checklist{grid-template-columns:1fr;}
  .m-hero-body h1{font-size:36px;}
  .pgrid{grid-template-columns:1fr;}
  .ogrid{grid-template-columns:1fr;}
  .ogeneral{flex-direction:column; align-items:flex-start;}
  .contact-form{padding:28px;}
  .form-grid{grid-template-columns:1fr;}
}

/* ---------------------------------------------------------------
 * 1.16.0 mobile navigation (900px and below). The same .primary-nav
 * becomes a panel under the header, opened by .nav-toggle
 * (html.mds-nav-open). Dropdowns become accordions (li.is-open).
 * ------------------------------------------------------------- */
@media (max-width: 900px){
  html.mds-nav-open{overflow:hidden;}
  .hdr-row{gap:12px;}
  .site-logo{margin-inline-end:auto;}
  .hdr-row .langs{margin-left:0;}
  .langs a, .langs span{padding:6px 8px;}

  .nav-toggle{display:inline-flex; flex-direction:column; justify-content:center; gap:5px; width:42px; height:42px; padding:0 10px; background:transparent; border:1px solid var(--border); border-radius:3px; cursor:pointer; flex:none;}
  .nav-toggle-bar{display:block; height:1.5px; background:var(--text); border-radius:1px; transition:transform .25s ease, opacity .2s ease;}
  .nav-toggle:focus-visible{outline:2px solid var(--accent); outline-offset:2px;}
  .mds-nav-open .nav-toggle{border-color:var(--accent);}
  .mds-nav-open .nav-toggle-bar:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
  .mds-nav-open .nav-toggle-bar:nth-child(2){opacity:0;}
  .mds-nav-open .nav-toggle-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

  .primary-nav{display:block; position:absolute; top:100%; left:0; right:0; height:calc(100vh - 68px); height:calc(100dvh - 68px); overflow-y:auto; overscroll-behavior:contain; background:var(--bg); border-top:1px solid var(--border); padding:8px 22px 48px; opacity:0; visibility:hidden; transform:translateY(-8px); transition:opacity .2s ease, transform .2s ease, visibility .2s;}
  .mds-nav-open .primary-nav{opacity:1; visibility:visible; transform:none;}
  .primary-nav ul{display:block;}
  .primary-nav > ul > li{border-bottom:1px solid var(--border);}
  .primary-nav a{display:block; padding:17px 0; font-size:15px; letter-spacing:.1em; color:var(--text);}
  .primary-nav .current-menu-item > a, .primary-nav .current_page_item > a{color:var(--accent);}
  .primary-nav .current-menu-item > a::after, .primary-nav .current_page_item > a::after,
  .primary-nav > ul > .current-menu-ancestor > a::after, .primary-nav > ul > .current-menu-parent > a::after{display:none;}
  .primary-nav .current-menu-ancestor > a{color:var(--accent);}

  .primary-nav .menu-item-has-children > a{padding-right:28px;}
  .primary-nav .menu-item-has-children > a::before{right:4px; width:7px; height:7px; transition:transform .2s ease;}
  .primary-nav .menu-item-has-children.is-open > a::before{transform:translateY(-30%) rotate(-135deg);}

  .primary-nav .sub-menu{display:none; position:static; min-width:0; padding:0 0 10px; background:transparent; border:none; border-left:2px solid var(--accent); box-shadow:none; opacity:1; visibility:visible; transform:none; transition:none;}
  .primary-nav .sub-menu::before{display:none;}
  .primary-nav li.is-open > .sub-menu{display:block;}
  .primary-nav .sub-menu a{padding:12px 18px; font-size:14px; white-space:normal; color:var(--muted);}
  .primary-nav .sub-menu a:hover{background:transparent;}
  .primary-nav .sub-menu .current-menu-item > a{color:var(--accent);}

  .hero-cta{flex-wrap:wrap;}
  .hero-body h1{font-size:34px;}
  .m-hero{min-height:300px;}
  .m-hero-body h1{font-size:32px;}
  .page-content h2{font-size:22px;}
  .fact .fval{font-size:21px;}
  .wrap.module-in{padding-top:52px; padding-bottom:52px;}
  .cta-in{padding-top:48px; padding-bottom:48px;}
  .hero-body{padding-bottom:56px;}
  .m-hero-body{padding-bottom:32px;}
  .pgrid{padding-top:32px; padding-bottom:72px;}
  .empty-note{padding-top:32px; padding-bottom:72px;}
  .page-body{padding-top:48px; padding-bottom:48px;}
  .iletisim-body{padding-bottom:72px;}
  .cta-in h2{font-size:24px;}
}
@media (max-width: 420px){
  .wrap{padding-left:16px; padding-right:16px;}
  .primary-nav{padding:8px 16px 48px;}
  .hdr-row img{height:26px;}
  .hero-body h1{font-size:30px;}
  .hero-cta .btn{flex:1 1 100%; justify-content:center;}
  .foot-grid, .foot-grid.has-legal{grid-template-columns:1fr;}
}

/*
 * RTL (Arapca / sagdan sola diller).
 * WordPress, aktif dil RTL ise <html> etiketine otomatik dir="rtl"
 * basar (bkz. header.php -> language_attributes()); Polylang bunu
 * Arapca icin otomatik saglar. Grid/flex tabanli iki kolonlu duzenler
 * (about, imgtext, module-in, foot-grid, checklist...) dir="rtl"
 * altinda tarayici tarafindan zaten otomatik aynalanir -- burada sadece
 * FIZIKSEL (left/right'a sabitlenmis) degerleri gerektiginde tersine
 * ceviren kurallar var. Yeni bir "left"/"right" kullanan kural
 * eklerken buraya da bakmayi unutma.
 */
[dir="rtl"] .hdr-row .langs{margin-left:0; margin-right:36px;}
/* 1.16.4: the switcher keeps the order set in Polylang (Languages > Order)
   on Arabic pages too -- a mirrored list made the items jump around
   when switching language. */
[dir="rtl"] .langs{direction:ltr;}
[dir="rtl"] .primary-nav .menu-item-has-children > a{padding-right:0; padding-left:15px;}
[dir="rtl"] .primary-nav .menu-item-has-children > a::before{right:auto; left:0;}
[dir="rtl"] .primary-nav .sub-menu{left:auto; right:-20px;}
[dir="rtl"] .cap{border-left:none; border-right:1px solid var(--border);}
[dir="rtl"] .cap:first-child{border-right:none; padding-right:0; padding-left:26px;}
[dir="rtl"] .hero-scrim{background:linear-gradient(180deg, rgba(11,20,32,.55) 0%, rgba(11,20,32,.55) 30%, rgba(11,20,32,.97) 96%), linear-gradient(270deg, rgba(11,20,32,.94) 0%, rgba(11,20,32,.55) 46%, rgba(11,20,32,.2) 78%);}
[dir="rtl"] .about-media::before{right:auto; left:-16px; border-right:none; border-left:3px solid var(--accent);}
[dir="rtl"] .sec-head .desc{text-align:left;}
[dir="rtl"] .press-quote{border-left:none; border-right:2px solid var(--accent); padding-left:0; padding-right:28px;}
[dir="rtl"] .page-content ul, [dir="rtl"] .page-content ol{padding-left:0; padding-right:22px;}
[dir="rtl"] .note{border-left:none; border-right:2px solid var(--accent);}
[dir="rtl"] .ogeneral{border-left:none; border-right:2px solid var(--accent);}
[dir="rtl"] .form-notice{border-left:none; border-right:2px solid var(--accent);}
[dir="rtl"] .form-notice-ok{border-left-color:transparent; border-right-color:var(--accent);}
[dir="rtl"] .form-notice-err{border-left-color:transparent; border-right-color:#c0503c;}
/* 1.16.0 mobile menu */
@media (max-width: 900px){
  [dir="rtl"] .hdr-row .langs{margin-right:0;}
  [dir="rtl"] .primary-nav .menu-item-has-children > a{padding-left:28px; padding-right:0;}
  [dir="rtl"] .primary-nav .menu-item-has-children > a::before{left:4px; right:auto;}
  [dir="rtl"] .primary-nav .sub-menu{border-left:none; border-right:2px solid var(--accent);}
}
/* Arabic script is cursive: letter-spacing would pull the joined letters apart */
[dir="rtl"] .primary-nav a, [dir="rtl"] .kicker:not([lang="en"]), [dir="rtl"] .btn, [dir="rtl"] .card-link, [dir="rtl"] .fact .flabel, [dir="rtl"] .foot-col h4, [dir="rtl"] .crumb{letter-spacing:0;}
