/* =========================================================
   Aeline — Ana Stil Dosyası
========================================================= */

:root{
  --dark:#111111;
  --dark-soft:#1c1c1c;
  --accent:#D6FD70;
  --accent-dark:#B8E84A;
  --bg:#ffffff;
  --bg-soft:#f3f3f0;
  --border:#e7e7e2;
  --muted:#6c6c68;
  --radius-lg:28px;
  --radius-md:20px;
  --radius-sm:14px;
  --container:1320px;
  --ff-head:'Space Grotesk', 'Inter', sans-serif;
  --ff-body:'Inter', sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ff-body);
  color:var(--dark);
  background:var(--bg);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--ff-head);font-weight:500;margin:0 0 .5em;line-height:1.15;letter-spacing:-.01em;}
p{margin:0 0 1em;color:var(--muted);}
.container{max-width:var(--container);margin:0 auto;padding-inline:32px;}
section{padding:96px 0;}
@media(max-width:768px){section{padding:56px 0;}}

/* Full-bleed section — spans the viewport with only a thin edge gutter,
   for panels (CTA band, colored hero blocks) that should feel edge-to-edge
   rather than boxed into the 1240px content container. */
.section-bleed{padding-inline:16px;}
@media(max-width:768px){.section-bleed{padding-inline:10px;}}

/* Tightens the default 96px section top padding for a section that sits
   directly under a colored hero panel — the panel's own padding already
   does the separating, so stacking the full default gap on top reads as
   a dead, oversized gap. */
.section-tight-top{padding-top:56px;}
@media(max-width:768px){.section-tight-top{padding-top:40px;}}

.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:12px;text-transform:uppercase;letter-spacing:.14em;
  color:var(--muted);font-weight:600;margin-bottom:14px;
}
.eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--dark);}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:8px 8px 8px 22px;border-radius:999px;
  font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  border:none;cursor:pointer;font-family:var(--ff-body);
  transition:transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s ease,
             background-color .3s ease, color .3s ease, border-color .3s ease;
}
.btn-dark{background:var(--dark);color:#fff;}
.btn-dark .btn-ico{background:var(--accent);color:var(--dark);}
.btn-dark:hover{background:var(--accent);color:var(--dark);}
.btn-dark:hover .btn-ico{background:var(--dark);color:var(--accent);}
.btn-accent{background:var(--accent);color:var(--dark);}
.btn-accent .btn-ico{background:var(--dark);color:var(--accent);}
.btn-accent:hover{background:#fff;}
.btn-outline{background:transparent;color:var(--dark);border:1px solid var(--border);padding:10px 22px;}
.btn-outline:hover{background:var(--dark);color:#fff;border-color:var(--dark);}
.btn-ico{
  width:30px;height:30px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;flex-shrink:0;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), background-color .3s ease, color .3s ease;
}
.btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 12px 28px rgba(0,0,0,.16);}
.btn:hover .btn-ico{transform:rotate(45deg) scale(1.1);}

/* Header */
.site-header{
  position:sticky;top:0;z-index:100;background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--border);
  transition:background .3s ease,border-color .3s ease;
}
.site-header .container{display:flex;align-items:center;justify-content:space-between;height:84px;}

/* Transparent header overlapping the home hero — turns solid once scrolled past it.
   Stays position:fixed in both states so it never reserves flow space itself;
   body.has-transparent-header reserves that space globally instead (see below). */
.site-header.is-transparent{
  position:fixed;top:0;left:0;right:0;
  background:transparent;border-bottom:1px solid transparent;backdrop-filter:none;
}
.site-header.is-transparent .site-logo,
.site-header.is-transparent .main-nav a,
.site-header.is-transparent .nav-toggle{color:#fff;}
.site-header.is-transparent .main-nav a::after{background:#fff;}
/* The dropdown panel itself is always a white card, regardless of header
   state — its links must stay dark, or white-on-white makes them vanish. */
.site-header.is-transparent .main-nav .sub-menu a{color:var(--dark);}
.site-header.is-transparent.is-scrolled{
  background:rgba(255,255,255,.92);
  border-bottom-color:var(--border);backdrop-filter:blur(10px);
}
.site-header.is-transparent.is-scrolled .site-logo,
.site-header.is-transparent.is-scrolled .main-nav a,
.site-header.is-transparent.is-scrolled .nav-toggle{color:var(--dark);}
.site-header.is-transparent.is-scrolled .main-nav a::after{background:var(--dark);}
@media(max-width:900px){
  .site-header.is-transparent .main-nav a{color:var(--dark);}
  .site-header.is-transparent .main-nav a::after{background:var(--dark);}
}
/* Reserve the header's height in normal flow (fixed header takes it out of flow),
   then pull the hero back up to fill that gap so it still starts at the true top. */
body.has-transparent-header{padding-top:84px;}
body.has-transparent-header .hero-bg{margin-top:-84px;}
.site-logo{display:flex;align-items:center;gap:10px;font-family:var(--ff-head);font-size:19px;font-weight:600;}
.site-logo img,.site-logo svg{height:26px;width:auto;}
.main-nav ul{display:flex;gap:36px;align-items:center;}
.main-nav a{font-size:13px;text-transform:uppercase;letter-spacing:.06em;font-weight:600;position:relative;}
.main-nav a::after{content:'';position:absolute;left:0;bottom:-6px;width:0;height:2px;background:var(--dark);transition:width .25s ease;}
.main-nav a:hover::after{width:100%;}
.main-nav .menu-item-has-children{position:relative;}
.main-nav .sub-menu{
  position:absolute;top:130%;left:50%;transform:translateX(-50%);
  background:#fff;border:1px solid var(--border);border-radius:14px;
  min-width:180px;padding:8px;opacity:0;visibility:hidden;transition:.2s ease;
  box-shadow:0 20px 40px rgba(0,0,0,.08);
}
.main-nav .menu-item-has-children:hover .sub-menu{opacity:1;visibility:visible;top:120%;}
.main-nav .sub-menu li a{display:block;padding:8px 12px;border-radius:8px;text-transform:none;font-weight:500;}
.main-nav .sub-menu li a:hover{background:var(--bg-soft);}
.header-actions{display:flex;align-items:center;gap:18px;}
.nav-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;}
@media(max-width:900px){
  .main-nav{position:fixed;inset:84px 0 0 0;background:#fff;padding:32px;transform:translateY(-110%);transition:.3s ease;z-index:90;}
  .main-nav.is-open{transform:translateY(0);}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:22px;}
  .nav-toggle{display:block;}
}

/* Hero */
.hero{padding:72px 0 40px;text-align:center;}
.hero h1{font-size:clamp(34px,5vw,58px);max-width:820px;margin-inline:auto;}
.hero .lead{max-width:560px;margin:0 auto 28px;font-size:16px;}
.hero-cta{display:flex;gap:14px;justify-content:center;margin-bottom:48px;}
.hero-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;}
.hero-media img{width:100%;height:auto;object-fit:cover;}
.hero-media.tall img{aspect-ratio:16/8;object-fit:cover;}

/* floating info card */
.float-card{
  position:absolute;background:rgba(17,17,17,.88);color:#fff;
  border-radius:16px;padding:14px 16px;font-size:12px;backdrop-filter:blur(6px);
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}
.float-card .fc-title{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#c9c9c9;margin-bottom:6px;}
.float-card .fc-value{font-family:var(--ff-head);font-size:20px;color:var(--accent);}

/* Home hero — full-bleed sky-blue panel, header overlaps it up top */
.hero-bg{
  position:relative;overflow:hidden;min-height:640px;
  padding:160px 24px 120px;text-align:center;
  background:linear-gradient(180deg,#8fd0e8 0%,#4FA6E8 55%,#2f7fb8 100%);
  display:flex;align-items:center;justify-content:center;
}
.hero-bg > .container{width:100%;}
.hero-bg::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at 18% 15%,rgba(255,255,255,.28),transparent 55%);
  pointer-events:none;
}
.hero-bg h1,.hero-bg .lead{color:#fff;}
.hero-bg h1{font-size:clamp(38px,5.4vw,62px);max-width:840px;margin-inline:auto;}
.hero-bg .lead{color:rgba(255,255,255,.85);font-size:18px;max-width:580px;margin:0 auto 28px;}
.hero-bg .eyebrow{color:rgba(255,255,255,.75);}
.hero-bg .eyebrow::before{background:var(--accent);}
.hero-cards{position:relative;z-index:2;height:276px;max-width:640px;margin:56px auto 0;}
.hc{
  position:absolute;top:12px;width:204px;border-radius:18px;overflow:hidden;
  box-shadow:0 24px 40px rgba(15,40,60,.28);
  animation:hcFloat 6s ease-in-out infinite;transition:transform .35s ease,box-shadow .35s ease;
}
.hc img{width:100%;height:156px;object-fit:cover;display:block;}
.hc-1{left:1%;top:31px;transform:rotate(-11deg);animation-delay:0s;}
.hc-2{left:25%;top:-7px;transform:rotate(-4deg);animation-delay:.5s;z-index:2;}
.hc-3{left:49%;top:-2px;transform:rotate(4deg);animation-delay:1s;z-index:3;}
.hc-4{left:73%;top:26px;transform:rotate(11deg);animation-delay:1.5s;}
.hero-cards:hover .hc{animation-play-state:paused;}
.hc:hover{transform:translateY(-12px) rotate(0deg) scale(1.06) !important;box-shadow:0 32px 54px rgba(15,40,60,.38);z-index:5;}
@keyframes hcFloat{0%,100%{translate:0 0;}50%{translate:0 -10px;}}
.hero-trust{position:relative;z-index:2;margin-top:22px;font-size:12px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em;}

/* Client logo marquee */
.logo-marquee{
  overflow:hidden;padding:28px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);
}
.logo-track{display:flex;gap:64px;width:max-content;animation:aeline-marquee 30s linear infinite;align-items:center;}
.logo-marquee:hover .logo-track{animation-play-state:paused;}
.logo-item{font-family:var(--ff-head);font-size:20px;font-weight:600;letter-spacing:.02em;color:var(--dark);white-space:nowrap;display:flex;align-items:center;gap:8px;opacity:.82;}
.logo-item::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent-dark);}
@keyframes aeline-marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* Mini stat graphic used on expertise cards */
.mini-card{
  background:var(--dark);color:#fff;border-radius:14px;padding:14px 16px;
  margin-bottom:20px;display:inline-flex;flex-direction:column;gap:4px;min-width:150px;
}
.mini-card .mc-label{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#9c9c98;}
.mini-card .mc-value{font-family:var(--ff-head);font-size:18px;color:var(--accent);}
.mini-card.accent{background:var(--accent);color:var(--dark);}
.mini-card.accent .mc-label{color:rgba(17,17,17,.6);}
.mini-card.accent .mc-value{color:var(--dark);}

@media(max-width:700px){.hero-cards{transform:scale(.7);height:170px;}}

/* Split hero (about/contact) */
.split-hero{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:32px;}
.split-hero .panel{border-radius:var(--radius-lg);padding:56px 44px;background:var(--bg-soft);min-height:420px;display:flex;flex-direction:column;justify-content:center;}
.split-hero .panel h1{font-size:clamp(30px,3.6vw,44px);}
.split-hero .panel p{font-size:16.5px;}
.split-hero .media-panel{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:420px;}
.split-hero .media-panel img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.avatar-stack{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.avatar-stack .avatars{display:flex;}
.avatar-stack .avatars img{width:32px;height:32px;border-radius:50%;border:2px solid #fff;object-fit:cover;margin-left:-10px;}
.avatar-stack .avatars img:first-child{margin-left:0;}
.avatar-stack span{font-size:13px;color:var(--muted);}
@media(max-width:860px){.split-hero{grid-template-columns:1fr;}}

/* Section headings */
.section-head{text-align:center;max-width:640px;margin:0 auto 56px;}
.section-head.left{text-align:left;margin:0 0 40px;}

/* Stats row */
.stats-row{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:32px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:32px 0;}
.stats-row .stat b{display:block;font-family:var(--ff-head);font-size:26px;}
.stats-row .stat span{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.06em;}

/* Cards grid generic */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
@media(max-width:900px){.grid-3,.grid-2{grid-template-columns:1fr;}}

.card{
  background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-md);
  padding:32px;transition:.3s ease;
}
.card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.08);}
.card .icon{
  width:40px;height:40px;border-radius:12px;background:var(--accent);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:18px;
}
.card h3{font-size:20px;}
.card .card-media{margin-top:20px;border-radius:14px;overflow:hidden;background:var(--dark);min-height:120px;position:relative;}

/* Why us */
.why-us{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.why-us img{border-radius:var(--radius-lg);}
@media(max-width:860px){.why-us{grid-template-columns:1fr;}}

/* Testimonials — continuous sliding row */
.testimonial-marquee{
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
}
.testimonial-track{display:flex;gap:20px;width:max-content;animation:aeline-marquee 46s linear infinite;}
.testimonial-marquee:hover .testimonial-track{animation-play-state:paused;}
.testimonial-card{
  flex:0 0 280px;background:var(--bg-soft);border:1px solid var(--border);
  border-radius:var(--radius-md);padding:24px;text-align:center;transition:transform .3s ease,box-shadow .3s ease;
}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 20px 34px rgba(0,0,0,.08);}
.testimonial-card img{width:72px;height:72px;border-radius:50%;object-fit:cover;margin:0 auto 16px;}
.testimonial-card .quote-mark{font-size:22px;color:var(--accent-dark);}
.testimonial-card p{font-size:14px;}
.testimonial-card .name{font-weight:600;color:var(--dark);font-size:13px;}

/* Devices (Cihazlarımız) */
.device-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch;}
.device-card{
  border:1px solid var(--border);border-radius:var(--radius-md);background:#fff;
  overflow:hidden;display:flex;flex-direction:column;transition:.3s ease;
}
.device-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px rgba(0,0,0,.08);}
.device-card .thumb{aspect-ratio:4/3;overflow:hidden;}
.device-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.device-card .body{padding:28px;display:flex;flex-direction:column;flex:1;}
.device-card h3{font-size:20px;}
.device-card ul{margin:12px 0 24px;flex-grow:1;}
.device-card li{display:flex;gap:10px;font-size:14px;margin-bottom:10px;align-items:flex-start;color:var(--muted);}
.device-card li::before{content:'✓';width:18px;height:18px;border-radius:50%;background:var(--dark);color:#fff;font-size:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px;}
.device-card .btn{justify-content:center;width:100%;}
@media(max-width:900px){.device-grid{grid-template-columns:1fr;}}

/* FAQ accordion */
.faq-list{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:12px;}
.faq-item{background:var(--bg-soft);border-radius:16px;overflow:hidden;}
.faq-q{
  width:100%;display:flex;justify-content:space-between;align-items:center;
  padding:20px 24px;background:none;border:none;cursor:pointer;text-align:left;
  font-family:var(--ff-body);font-size:15px;font-weight:600;
}
.faq-q .plus{width:26px;height:26px;border-radius:50%;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:.25s ease;flex-shrink:0;}
.faq-item.active .faq-q .plus{transform:rotate(45deg);background:var(--dark);color:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 24px;}
.faq-item.active .faq-a{max-height:200px;padding-bottom:20px;}
.faq-a p{margin:0;font-size:14px;}

/* CTA band */
.cta-band{
  border-radius:var(--radius-lg);background:linear-gradient(135deg,#4FA6E8,#8FD6E8);
  padding:80px;min-height:440px;position:relative;overflow:hidden;color:#fff;
  display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:24px;
}
.cta-band h2{color:#fff;font-size:clamp(30px,3.4vw,44px);}
.cta-band p{color:rgba(255,255,255,.85);max-width:440px;font-size:17px;}
.cta-band .media{position:relative;min-height:220px;}
.cta-band .float-card{position:absolute;}
.cta-band .float-card .fc-value{font-size:22px;}
@media(max-width:860px){.cta-band{grid-template-columns:1fr;padding:48px;min-height:auto;}}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.team-card{background:var(--bg-soft);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);}
.team-card .team-head{padding:24px 24px 0;display:flex;justify-content:space-between;align-items:flex-start;}
.team-card h3{font-size:22px;margin-bottom:2px;}
.team-card .role{font-size:13px;color:var(--muted);}
.team-card .arrow{width:34px;height:34px;border-radius:50%;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.team-card img{width:100%;aspect-ratio:1/1.05;object-fit:cover;margin-top:20px;}
@media(max-width:900px){.team-grid{grid-template-columns:1fr;}}

/* Journey timeline */
.journey{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;}
.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.journey-item{border:1px solid var(--border);border-radius:16px;padding:20px;}
.journey-item .year{display:inline-block;background:var(--dark);color:#fff;padding:6px 16px;border-radius:999px;font-family:var(--ff-head);font-size:14px;margin-bottom:12px;}
.journey-item p{font-size:13px;margin:0;}
@media(max-width:860px){.journey{grid-template-columns:1fr;}}

/* Blog */
.blog-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;}
.blog-feature img{border-radius:var(--radius-lg);}
.blog-feature .date{font-size:13px;color:var(--muted);margin-bottom:8px;}
.blog-feature h2{font-size:28px;}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px;margin-top:16px;}
.blog-card .thumb{position:relative;border-radius:var(--radius-md);overflow:hidden;aspect-ratio:4/3;margin-bottom:16px;}
.blog-card .thumb img{width:100%;height:100%;object-fit:cover;}
.blog-card .thumb .arrow-btn{
  position:absolute;bottom:14px;right:14px;width:38px;height:38px;border-radius:50%;
  background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:14px;
}
.blog-card .date{font-size:13px;color:var(--muted);margin-bottom:6px;}
.blog-card h3{font-size:18px;}
.service-card{display:block;}
.service-card p{font-size:14px;margin-top:6px;}
@media(max-width:900px){.blog-feature{grid-template-columns:1fr;}.blog-grid{grid-template-columns:1fr;}}

/* Content gallery — styles WordPress's native Gallery block so a page editor
   can add project photos (Hizmet Detayı şablonu) without touching code. */
.content-gallery{margin-top:8px;}
.content-gallery p:first-child{max-width:640px;}
.content-gallery .wp-block-gallery,
.content-gallery .blocks-gallery-grid{
  display:grid !important;grid-template-columns:repeat(3,1fr);gap:24px;
  list-style:none;margin:0 0 32px;padding:0;
}
.content-gallery .wp-block-image,
.content-gallery .blocks-gallery-item{margin:0;}
.content-gallery .wp-block-image img,
.content-gallery .blocks-gallery-item img{
  width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-md);display:block;
}
.content-gallery figcaption{margin-top:10px;font-size:14px;color:var(--muted);text-align:left;}
.content-gallery img{border-radius:var(--radius-md);}
@media(max-width:900px){
  .content-gallery .wp-block-gallery,
  .content-gallery .blocks-gallery-grid{grid-template-columns:1fr;}
}

/* Contact */
.contact-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;}
.contact-info{background:var(--bg-soft);border-radius:var(--radius-lg);padding:48px;}
.contact-info h1{font-size:34px;}
.contact-info .item{margin-top:24px;}
.contact-info .item label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px;}
.contact-info .item div{font-size:16px;font-weight:600;}
.contact-info .socials{display:flex;gap:10px;margin-top:24px;}
.contact-info .socials a{width:38px;height:38px;border-radius:50%;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:center;}
.contact-media{position:relative;border-radius:var(--radius-lg);overflow:hidden;min-height:480px;background:linear-gradient(135deg,#8FCBEF,#DDEAB0);}
.contact-form{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  background:#fff;border-radius:var(--radius-md);padding:36px;width:min(420px,86%);
  box-shadow:0 30px 60px rgba(0,0,0,.18);
}
.contact-form label{display:block;font-size:14px;font-weight:600;margin:16px 0 6px;}
.contact-form label:first-child{margin-top:0;}
.contact-form input,.contact-form textarea{
  width:100%;border:1px solid var(--border);border-radius:12px;padding:12px 14px;
  font-family:var(--ff-body);font-size:14px;background:var(--bg-soft);
}
.contact-form textarea{min-height:100px;resize:vertical;}
.contact-form .btn{margin-top:20px;width:100%;justify-content:center;}
@media(max-width:900px){.contact-wrap{grid-template-columns:1fr;}.contact-media{min-height:360px;}}

/* Footer */
.site-footer{background:var(--dark);color:#d8d8d5;padding:72px 0 0;margin-top:96px;}
.footer-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:56px;border-bottom:1px solid #2a2a2a;}
.footer-top .site-logo{color:#fff;margin-bottom:16px;}
.footer-brand p{max-width:280px;font-size:14px;}
.newsletter{display:flex;margin-top:18px;background:#1c1c1c;border-radius:999px;padding:6px;max-width:320px;}
.newsletter input{flex:1;background:none;border:none;padding:10px 16px;color:#fff;font-size:13px;}
.newsletter input::placeholder{color:#8a8a86;}
.newsletter .btn{padding:8px 8px 8px 18px;}
.footer-col h4{color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:18px;}
.footer-col ul li{margin-bottom:12px;}
.footer-col a{font-size:14px;color:#b8b8b4;}
.footer-col a:hover{color:var(--accent);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-size:13px;color:#8a8a86;flex-wrap:wrap;gap:12px;}
.footer-bottom a{margin-right:18px;color:#8a8a86;}
@media(max-width:900px){.footer-top{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.footer-top{grid-template-columns:1fr;}}

/* Scroll reveal — cards spring/settle into place, staggered by position */
.reveal{
  opacity:0;
  transform:translateY(36px) scale(.94);
  transition:opacity .5s ease, transform .7s cubic-bezier(.34,1.56,.64,1);
}
.reveal.is-visible{opacity:1;transform:translateY(0) scale(1);}
.grid-3 > .reveal:nth-child(1),.grid-2 > .reveal:nth-child(1),.device-grid > .reveal:nth-child(1),.team-grid > .reveal:nth-child(1),.blog-grid > .reveal:nth-child(1),.journey-grid > .reveal:nth-child(1){transition-delay:0ms;}
.grid-3 > .reveal:nth-child(2),.grid-2 > .reveal:nth-child(2),.device-grid > .reveal:nth-child(2),.team-grid > .reveal:nth-child(2),.blog-grid > .reveal:nth-child(2),.journey-grid > .reveal:nth-child(2){transition-delay:110ms;}
.grid-3 > .reveal:nth-child(3),.grid-2 > .reveal:nth-child(3),.device-grid > .reveal:nth-child(3),.team-grid > .reveal:nth-child(3),.blog-grid > .reveal:nth-child(3),.journey-grid > .reveal:nth-child(3){transition-delay:220ms;}
.grid-2 > .reveal:nth-child(4),.blog-grid > .reveal:nth-child(4),.journey-grid > .reveal:nth-child(4){transition-delay:330ms;}
.blog-grid > .reveal:nth-child(5){transition-delay:440ms;}
.blog-grid > .reveal:nth-child(6){transition-delay:550ms;}

/* Click / press feedback */
.btn{transform-origin:center;}
.btn:active{transform:scale(.95);}
.card:active{transform:translateY(-2px) scale(.99);}
.faq-q:active .plus{transform:scale(.85);}

/* Cross-page transition */
body{opacity:0;animation:aeline-page-in .5s ease forwards;}
@keyframes aeline-page-in{to{opacity:1;}}
body.is-leaving{opacity:0 !important;transition:opacity .28s ease;}

@media (prefers-reduced-motion: reduce){
  .hc,.logo-track,.testimonial-track,body{animation:none !important;}
  body{opacity:1;}
  .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
}
