/* Large project pages: intentionally different from the home page */

.project-page{
  min-height:100vh;
  background:
    radial-gradient(circle at top left, rgba(37,99,235,0.10), transparent 24%),
    radial-gradient(circle at bottom right, rgba(14,165,233,0.08), transparent 22%),
    linear-gradient(180deg, #f6f9ff 0%, #edf3fb 100%);
}

.project-page .project-wrap{
  width:min(1260px, calc(100vw - 2rem));
  margin:0 auto;
  padding:1.5rem 0 3rem;
}

.project-page .project-hero-shell{
  overflow:hidden;
  border-radius:1.5rem;
  border:1px solid rgba(15,23,42,0.08);
  background:rgba(255,255,255,0.95);
  box-shadow:0 22px 50px rgba(15,23,42,0.10);
}

.project-page .project-hero-shell::before{
  content:"";
  display:block;
  height:0.5rem;
  background:linear-gradient(90deg, #2563eb 0%, #38bdf8 100%);
}

.project-page .project-grid{
  display:grid;
  grid-template-columns:minmax(360px, 1.06fr) minmax(320px, 0.94fr);
}

.project-page .project-visual,
.project-page .project-copy{
  min-height:100%;
}

.project-page .project-visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1.5rem;
  background:linear-gradient(180deg, #f8fafc 0%, #eef2f8 100%);
}

.project-page .project-visual::after{
  content:"";
  position:absolute;
  inset:1rem;
  border-radius:1.25rem;
  border:1px solid rgba(148,163,184,0.08);
  background:linear-gradient(180deg, rgba(255,255,255,0.78), rgba(255,255,255,0.18));
  pointer-events:none;
}

.project-page .project-visual > *{
  position:relative;
  z-index:1;
}

.project-page .project-copy{
  padding:2.25rem;
  background:linear-gradient(180deg, rgba(255,255,255,0.98), rgba(248,250,252,0.96));
}

.project-page .eyebrow{
  display:inline-block;
  padding:0.3rem 0.7rem;
  border-radius:999px;
  background:rgba(59,130,246,0.10);
  color:#2563eb;
  text-transform:uppercase;
  letter-spacing:0.16em;
  font-size:0.72rem;
  font-weight:700;
}

.project-page .project-copy h1,
.project-page .project-copy .lead{
  text-wrap:balance;
}

.project-page .project-copy .lead{
  max-width:38rem;
  color:#334155 !important;
}

.project-page .project-list{
  margin-left:1.1rem;
  color:#334155;
}

.project-page .project-list li::marker{
  color:#2563eb;
}

.project-page .project-buttons .btn{
  min-width:132px;
  border-radius:999px;
  padding-left:1.05rem;
  padding-right:1.05rem;
}

.project-page .project-buttons .btn-primary{
  box-shadow:0 12px 20px rgba(37,99,235,0.16);
}

.project-page .project-buttons .btn-outline-secondary{
  border-color:rgba(100,116,139,0.22);
}

.project-page .battleship-carousel-shell{
  width:100%;
}

.project-page .battleship-carousel-frame{
  position:relative;
  width:100%;
  height:620px;
  padding:0.95rem;
  border-radius:1.15rem;
  background:linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  box-shadow:0 14px 28px rgba(15,23,42,0.08);
}

.project-page .battleship-carousel-shell .carousel-inner{
  height:100%;
  border-radius:0.9rem;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(148,163,184,0.14);
}

.project-page .project-visual img{
  width:100%;
  height:auto;
  max-height:640px;
  object-fit:cover;
}

.project-page .battleship-carousel-hitarea{
  position:absolute;
  top:0;
  bottom:0;
  width:50%;
  z-index:3;
  opacity:0;
  background:transparent;
  border:0;
  padding:0;
  cursor:pointer;
}

.project-page .battleship-carousel-hitarea.carousel-control-prev{left:0;}
.project-page .battleship-carousel-hitarea.carousel-control-next{right:0;}

.project-page .battleship-carousel-indicators{
  position:static;
  margin:0.9rem 0 0;
  justify-content:center;
  gap:0.5rem;
}

.project-page .battleship-carousel-indicators [data-bs-target]{
  width:0.8rem;
  height:0.8rem;
  border-radius:999px;
  background-color:#94a3b8;
  opacity:1;
}

.project-page .battleship-carousel-indicators .active{background-color:#2563eb;}

body.battleship-page .project-hero-shell::before{
  background:linear-gradient(90deg, #0f172a 0%, #2563eb 50%, #38bdf8 100%);
}

body.battleship-page .project-visual{
  background:
    radial-gradient(circle at 18% 18%, rgba(59,130,246,0.16), transparent 18%),
    radial-gradient(circle at 82% 18%, rgba(14,165,233,0.12), transparent 16%),
    radial-gradient(circle at 50% 72%, rgba(59,130,246,0.08), transparent 26%),
    linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
}

body.battleship-page .project-visual::after{
  inset:0.85rem;
  border-color:rgba(148,163,184,0.08);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.84), rgba(255,255,255,0.22)),
    radial-gradient(circle at top left, rgba(59,130,246,0.10), transparent 28%),
    radial-gradient(circle at bottom right, rgba(14,165,233,0.08), transparent 22%);
}

body.battleship-page .project-copy h1{color:#0f172a;}
body.battleship-page .project-copy{
  position:relative;
}

body.battleship-page .project-copy::before{
  content:"";
  position:absolute;
  left:2.25rem;
  right:2.25rem;
  top:1.1rem;
  height:0.22rem;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(37,99,235,0.18), rgba(59,130,246,0.85), rgba(56,189,248,0.18));
}

body.battleship-page .project-buttons .btn-primary{background:#2563eb; border-color:#2563eb;}

body.battleship-page .project-buttons .btn-outline-secondary{
  background:rgba(37,99,235,0.03);
}

body.battleship-page .battleship-carousel-frame{
  background:
    linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%),
    radial-gradient(circle at top, rgba(59,130,246,0.06), transparent 40%);
  border:1px solid rgba(148,163,184,0.10);
  box-shadow:0 18px 32px rgba(15,23,42,0.08), inset 0 1px 0 rgba(255,255,255,0.75);
}

body.battleship-page .battleship-carousel-shell .carousel-inner{
  border:1px solid rgba(148,163,184,0.10);
}

body.battleship-page .battleship-carousel-indicators [data-bs-target]{
  background-color:#cbd5e1;
}

body.battleship-page .battleship-carousel-indicators .active{background-color:#1d4ed8;}

body.battleship-page .project-list li{
  position:relative;
  padding-left:0.1rem;
}

body.battleship-page .project-list li::marker{color:#1d4ed8;}

body.battleship-page .project-copy .mb-4{
  position:relative;
}

body.battleship-page .project-copy .mb-4 h2{
  display:inline-block;
  padding-bottom:0.2rem;
  border-bottom:2px solid rgba(37,99,235,0.18);
}

body.battleship-page .project-copy .project-buttons{
  margin-top:0.2rem;
}

body.battleship-page .project-copy .project-buttons .btn{
  transition:transform 0.18s ease, box-shadow 0.18s ease;
}

body.battleship-page .project-copy .project-buttons .btn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(37,99,235,0.16);
}

body.kotlin-page .project-hero-shell::before{
  background:linear-gradient(90deg, #1d4ed8 0%, #6366f1 60%, #f59e0b 100%);
}

body.kotlin-page .project-visual{
  background:
    radial-gradient(circle at 18% 18%, rgba(37,99,235,0.12), transparent 22%),
    radial-gradient(circle at 84% 16%, rgba(245,158,11,0.10), transparent 18%),
    linear-gradient(180deg, #eff6ff 0%, #f8fafc 100%);
}

body.kotlin-page .project-visual::after{
  border-color:rgba(37,99,235,0.10);
  background:
    radial-gradient(circle at 30% 30%, rgba(37,99,235,0.07) 0 1px, transparent 1px 100%),
    radial-gradient(circle at 70% 70%, rgba(245,158,11,0.06) 0 1px, transparent 1px 100%);
  background-size:28px 28px, 34px 34px;
}

body.kotlin-page .project-copy h1{color:#0f172a;}
body.kotlin-page .eyebrow{background:rgba(37,99,235,0.08); color:#1d4ed8;}
body.kotlin-page .project-buttons .btn-primary{
  background:linear-gradient(135deg, #1d4ed8 0%, #6366f1 100%);
  border-color:transparent;
  box-shadow:0 12px 20px rgba(37,99,235,0.18);
}

@media (max-width: 991px){
  .project-page .project-grid{grid-template-columns:1fr;}
  .project-page .project-copy{padding:1.5rem;}
  .project-page .project-visual{padding:1.25rem;}
  .project-page .battleship-carousel-frame{height:360px;}
  .project-page .project-visual img{max-height:360px;}
  .project-page .project-buttons .btn{min-width:unset;}
  .project-page .project-hero-shell{border-radius:1.25rem;}
}
