@font-face { font-family: Outfit; font-style: normal; font-weight: 300 700; font-display: swap; src: url("../assets/Outfit-latin-v2.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: Outfit; font-style: normal; font-weight: 300 700; font-display: swap; src: url("../assets/Outfit-latin-ext-v2.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; }
:root { --font-main: Outfit, sans-serif; }
#home .hero-bg { background: linear-gradient(rgba(11,17,32,.62),rgba(11,17,32,.82)),image-set(url("../assets/hero-bg-desktop-960-v3.webp") 1x,url("../assets/hero-bg-desktop-1024-v3.webp") 2x) center/cover no-repeat; }
:root[data-theme="light"] #home .hero-bg { background-image: linear-gradient(rgba(248,250,252,.82),rgba(248,250,252,.82)),image-set(url("../assets/hero-bg-desktop-960-v3.webp") 1x,url("../assets/hero-bg-desktop-1024-v3.webp") 2x); }
@media (max-width: 768px) {
  #home .hero-bg { background-image: linear-gradient(rgba(11,17,32,.62),rgba(11,17,32,.82)),image-set(url("../assets/hero-bg-mobile-480-v3.webp") 1x,url("../assets/hero-bg-mobile-800-v3.webp") 2x); }
  :root[data-theme="light"] #home .hero-bg { background-image: linear-gradient(rgba(248,250,252,.82),rgba(248,250,252,.82)),image-set(url("../assets/hero-bg-mobile-480-v3.webp") 1x,url("../assets/hero-bg-mobile-800-v3.webp") 2x); }
}
body[data-page-slug="taskinanalizi"] .service-hero .hero-bg { background: linear-gradient(rgba(10,20,40,.72),rgba(10,20,40,.82)),url("../assets/flood-risk-analysis-v2-960.webp") center/cover no-repeat !important; }
body[data-page-slug="hidroloji"] .service-hero .hero-bg { background: linear-gradient(rgba(10,20,40,.72),rgba(10,20,40,.82)),url("../assets/hydrology-catchment-v2-960.webp") center/cover no-repeat !important; }

a.skip-link { position:fixed; z-index:1100; top:8px; left:8px; padding:12px 16px; transform:translateY(-160%); border-radius:6px; background:var(--bg-card); color:var(--text-main); box-shadow:0 4px 20px var(--shadow); }
a.skip-link:focus { transform:translateY(0); }
main#main-content:focus { outline:none; }
[id] { scroll-margin-top:calc(var(--nav-height) + 16px); }

.header-container { gap:14px; }
.header-container > .nav { display:flex; align-items:center; width:auto; margin-left:auto; }
.header-container > .nav .nav-list { flex-direction:row; width:auto; gap:clamp(12px,1.5vw,22px); text-align:left; }
.header-container > .nav .nav-list li { width:auto; }
.header-container > .nav .nav-list a { display:inline-flex; align-items:center; padding:9px 4px; white-space:nowrap; font-size:.94rem; }
.header-container > .nav .nav-list .btn-primary-small { padding:10px 15px; }
.header-container > .nav .lang-switch { margin:0 0 0 10px; gap:6px; }
.header-container > .nav .lang-btn { padding:7px 9px; }
.header-actions { gap:8px; }
.mobile-toggle { padding:0; align-items:center; justify-content:center; border-radius:8px; }
.mobile-toggle svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.header-container > .nav .nav-list a:focus-visible,.header-container > .nav .lang-btn:focus-visible { outline:3px solid var(--primary); outline-offset:3px; }

.section { padding:clamp(52px,7vw,84px) 0; }
.section-header h2,.home-about h2,.home-tools h2 { font-size:clamp(1.8rem,3.5vw,2.35rem); line-height:1.2; text-wrap:balance; }
.section-header > p,.home-about .section-header > p,.home-tools > .container > p { max-width:66ch; }
.services-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); gap:20px; margin-top:32px; }
.service-card { padding:clamp(20px,3vw,30px); height:auto; }
.service-card h3 { font-size:1.24rem; line-height:1.3; text-wrap:balance; }
.service-card .service-details > p:first-child { line-height:1.6; font-size:1rem; }
.service-card .service-details > p:last-child { margin-bottom:0; }
.service-img-box { height:auto; aspect-ratio:16/7; background:var(--bg-soft); }
.service-img { height:100%; }
.home-about { padding-top:32px; }
.home-about .section-header { text-align:left; margin-bottom:24px; }
.home-about .section-header > p { color:var(--text-body); }
.process-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; list-style:none; }
.process-grid li { padding:20px; border:1px solid var(--content-border); border-radius:10px; background:var(--bg-card); }
.process-grid h3 { font-size:1.12rem; margin-bottom:8px; }
.process-grid p { margin:0; color:var(--text-body); font-size:1rem; line-height:1.55; }
.home-tools { padding-top:0; }
.home-tools h2 { margin-bottom:12px; }
.tool-links { display:flex; flex-wrap:wrap; gap:12px; }
.tool-links a { display:inline-flex; min-height:44px; align-items:center; padding:10px 14px; border:1px solid var(--content-border); border-radius:8px; color:var(--primary); font-weight:600; }
.tool-links a:hover { background:var(--accent-soft); }

.footer { margin-top:0; padding:48px 0 28px; background:var(--bg-soft); }
.footer-content { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr); align-items:start; gap:28px; }
.footer-content > * { min-width:0; }
.footer-brand p { max-width:38ch; margin:12px 0 0; color:var(--text-body); font-size:1rem; }
.footer-links { display:grid; grid-template-columns:1fr; align-content:start; gap:10px; }
.footer-links h2,.footer-contact h2 { margin:0 0 8px; font-size:1.05rem; }
.footer-links a { margin:0; color:var(--text-body); font-size:1rem; }
.footer-contact p { margin:8px 0; color:var(--text-body); font-size:.98rem; overflow-wrap:anywhere; }
.footer-contact a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
.footer-bottom { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:14px 28px; margin-top:28px; padding-top:20px; border-top:1px solid var(--content-border); }
.footer-bottom > p { margin:0; font-size:.95rem; }
.footer-legal { display:flex; flex-wrap:wrap; align-items:center; gap:12px 20px; }
.footer-legal a { color:var(--text-body); text-decoration:underline; text-underline-offset:3px; }
.cookie-settings-btn { color:var(--primary); }
.knowledge-page .footer { margin-top:48px; padding:48px 0 28px; }
.knowledge-page .footer-content { grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr) minmax(0,1fr); }
.knowledge-page .footer-links { display:grid; }
.knowledge-page .footer-links h2 { margin:0 0 8px; }
.knowledge-page .footer-links a { margin:0; }
.knowledge-page .footer-contact p { margin:8px 0; }

.field-hint { display:block; margin-top:5px; color:var(--text-muted); font-size:.88rem; }
.field-error { display:block; margin-top:5px; color:var(--error); font-size:.9rem; }
.field-error[hidden] { display:none; }
.contact-form [aria-invalid="true"] { border-color:var(--error); }
.form-privacy { margin:0 0 14px; font-size:.9rem; }
.form-privacy a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; }
body:has(#contactForm:focus-within) .phone-float,body:has(#contactForm:focus-within) .scroll-to-top { opacity:0; visibility:hidden; pointer-events:none; }
.method-source { margin:16px 0; padding:14px 16px; border-left:3px solid var(--primary); background:var(--bg-soft); font-size:.95rem; }
.method-source a { color:var(--primary); text-decoration:underline; }
.tool-study-bridge { margin-top:32px; margin-bottom:32px; padding:24px; border:1px solid var(--content-border); border-radius:12px; background:var(--bg-card); }
.tool-study-bridge h2 { margin:0 0 16px; font-size:clamp(1.35rem,2vw,1.75rem); }
.tool-study-bridge p { margin:12px 0; }
.tool-study-links { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; margin-top:20px; }
.tool-study-links a:not(.btn-primary-small),.tool-method-source a { color:var(--primary); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.tool-study-links .btn-primary-small { white-space:normal; text-align:center; }
.tool-method-source { font-size:.92rem; }

i.fa-arrow-down,i.fa-calendar-alt,i.fa-chevron-down,i.fa-chevron-up,i.fa-cloud-rain,i.fa-envelope,i.fa-leaf,i.fa-map-marker-alt,i.fa-mountain,i.fa-phone,i.fa-sliders-h,i.fa-table,i.fa-tag,i.fa-water { display:inline-block; width:1em; height:1em; background-color:currentColor; vertical-align:-.12em; -webkit-mask:center/contain no-repeat; mask:center/contain no-repeat; }
i.fa-arrow-down { -webkit-mask-image:url("../assets/icons/arrow-down.svg"); mask-image:url("../assets/icons/arrow-down.svg"); }
i.fa-calendar-alt { -webkit-mask-image:url("../assets/icons/calendar-alt.svg"); mask-image:url("../assets/icons/calendar-alt.svg"); }
i.fa-chevron-down { -webkit-mask-image:url("../assets/icons/chevron-down.svg"); mask-image:url("../assets/icons/chevron-down.svg"); }
i.fa-chevron-up { -webkit-mask-image:url("../assets/icons/chevron-up.svg"); mask-image:url("../assets/icons/chevron-up.svg"); }
i.fa-cloud-rain { -webkit-mask-image:url("../assets/icons/cloud-rain.svg"); mask-image:url("../assets/icons/cloud-rain.svg"); }
i.fa-envelope { -webkit-mask-image:url("../assets/icons/envelope.svg"); mask-image:url("../assets/icons/envelope.svg"); }
i.fa-leaf { -webkit-mask-image:url("../assets/icons/leaf.svg"); mask-image:url("../assets/icons/leaf.svg"); }
i.fa-map-marker-alt { -webkit-mask-image:url("../assets/icons/map-marker-alt.svg"); mask-image:url("../assets/icons/map-marker-alt.svg"); }
i.fa-mountain { -webkit-mask-image:url("../assets/icons/mountain.svg"); mask-image:url("../assets/icons/mountain.svg"); }
i.fa-phone { -webkit-mask-image:url("../assets/icons/phone.svg"); mask-image:url("../assets/icons/phone.svg"); }
i.fa-sliders-h { -webkit-mask-image:url("../assets/icons/sliders-h.svg"); mask-image:url("../assets/icons/sliders-h.svg"); }
i.fa-table { -webkit-mask-image:url("../assets/icons/table.svg"); mask-image:url("../assets/icons/table.svg"); }
i.fa-tag { -webkit-mask-image:url("../assets/icons/tag.svg"); mask-image:url("../assets/icons/tag.svg"); }
i.fa-water { -webkit-mask-image:url("../assets/icons/water.svg"); mask-image:url("../assets/icons/water.svg"); }

@media (max-width:1024px) {
  .header-container > .nav { display:none; position:absolute; top:var(--nav-height); left:0; width:100%; max-height:calc(100dvh - var(--nav-height)); overflow-y:auto; margin:0; padding:20px; background:var(--nav-bg); border-bottom:1px solid var(--control-border); box-shadow:0 10px 30px var(--shadow); backdrop-filter:blur(15px); }
  .header-container > .nav.active { display:flex; flex-direction:column; align-items:stretch; }
  .header-container > .nav .nav-list { flex-direction:column; align-items:stretch; gap:6px; }
  .header-container > .nav .nav-list li { width:100%; }
  .header-container > .nav .nav-list a,.header-container > .nav .nav-list .btn-primary-small { width:100%; justify-content:center; min-height:44px; padding:10px 14px; }
  .header-container > .nav .lang-switch { justify-content:center; margin:12px 0 0; }
  .header-container > .nav .lang-btn { justify-content:center; min-width:52px; }
  .mobile-toggle { display:inline-flex; }
}
@media (max-width:768px) {
  .process-grid { grid-template-columns:1fr; gap:12px; }
  .process-grid li { padding:16px; }
  .footer { padding:36px 0 24px; }
  .footer-content,.knowledge-page .footer-content { grid-template-columns:1fr; gap:22px; }
  .footer-bottom { align-items:flex-start; flex-direction:column; }
  .knowledge-page .footer { padding:36px 0 24px; }
  .contact-form { padding-bottom:18px; }
  .phone-float { bottom:max(16px,env(safe-area-inset-bottom)); right:max(16px,env(safe-area-inset-right)); }
  .scroll-to-top { bottom:calc(92px + env(safe-area-inset-bottom)); right:max(24px,env(safe-area-inset-right)); }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }
