@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;800&display=swap');

:root{
  --bg-gradient-start:#041224;
  --bg-gradient-end:#07192b;
  --card:rgba(255,255,255,0.96);
  --primary:#08263a;   /* deep navy for elements */
  --accent:#ff7a18;    /* vivid orange accent */
  --blue-text:#dff6ff; /* light cyan-blue for readable body text */
  --blue-muted:#a7d6ee; /* muted blue for secondary text */
  --muted:#9aa6b2;
  --danger:#c94a3f;
  --font: "Poppins", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  font-family: var(--font);
  color:var(--blue-text);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
*{box-sizing:border-box}
html,body,#app{height:100%;margin:0}
body{
  /* background photo + subtle brand gradients/overlays for depth */
  background:
    linear-gradient(180deg, rgba(7,34,64,0.55), rgba(7,34,64,0.55)),
    radial-gradient(1200px 400px at 10% 10%, rgba(7,34,64,0.18), transparent 12%),
    radial-gradient(1000px 300px at 95% 85%, rgba(255,122,24,0.06), transparent 8%),
    url('/modern_kitchen.png') center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;padding:20px;
  min-height:100vh;
  color: var(--blue-text);
}
#app{width:100%;max-width:1024px;position:relative;}

/* subtle pattern using pseudo element */
#app::before{
  content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;
  background-image:linear-gradient(90deg, rgba(255,255,255,0.02) 1px, transparent 1px),
                   linear-gradient(180deg, rgba(255,255,255,0.02) 1px, transparent 1px);
  background-size:40px 40px, 40px 40px;opacity:0.6;
  mix-blend-mode:overlay;
}

/* header & brand */
.header{
  display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px;position:relative;z-index:1;
}
.brand{display:flex;gap:14px;align-items:center}
.logo{
  width:52px;height:52px;border-radius:8px;display:block;object-fit:contain;
  box-shadow:0 8px 20px rgba(2,8,23,0.45);border:1px solid rgba(255,255,255,0.04);
}
/* ensure brand text is visible: orange title + light-blue subtitle */
.brand{ display:flex; gap:14px; align-items:center; color: var(--blue-text); }
.brand > div{ color: var(--blue-text); }
.brand .small-muted{ color: var(--blue-muted); font-weight:600; }
.brand strong{ color:var(--accent); font-weight:800; }

/* cards use a slightly translucent dark tint so text is readable */
.card{
  background:rgba(6,18,28,0.78);border-radius:14px;padding:16px;box-shadow:0 20px 50px rgba(2,8,23,0.6);
  border:1px solid rgba(255,255,255,0.04);
}

/* hero style used on homepage to remove the white box and let the background image show through */
.hero{
  background: linear-gradient(180deg, rgba(2,8,18,0.46), rgba(2,8,18,0.56));
  border:0;
  box-shadow: 0 12px 40px rgba(2,8,23,0.55);
  padding:28px;
  border-radius:14px;
  color: var(--blue-text);
  backdrop-filter: blur(6px) saturate(110%);
  -webkit-backdrop-filter: blur(6px) saturate(110%);
  display:block;
  max-width:920px;
  margin:8px auto;
}

/* hero internal typography for stronger integration with background */
.hero > div { line-height:1.28; }
.hero .title{
  font-size:22px;
  font-weight:800;
  letter-spacing:0.6px;
  color: var(--accent);
  text-shadow: 0 6px 20px rgba(2,8,23,0.6);
  margin-bottom:8px;
}
.hero .lead{
  font-size:15px;
  font-weight:600;
  color: var(--blue-text);
  margin-bottom:10px;
  max-width:80%;
}
.hero .sub{
  font-size:13.5px;
  color: var(--blue-muted);
}

/* make header brand title lean into the new font */
.brand strong{ font-family:var(--font); letter-spacing:0.8px; font-weight:800; font-size:18px; color:var(--accent); text-shadow:0 2px 8px rgba(2,8,23,0.45); }
.row{display:flex;gap:12px}
.col{flex:1}
.controls{display:flex;gap:10px;align-items:center}
.btn{
  background:var(--accent);color:white;border:0;padding:10px 14px;border-radius:12px;font-weight:800;min-width:44px;cursor:pointer;
  box-shadow:0 8px 18px rgba(7,19,35,0.45);transition:transform .14s ease,box-shadow .14s ease;
}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(7,19,35,0.55)}
.btn.ghost{
  background:transparent;color:var(--blue-text);border:1px solid rgba(255,255,255,0.06);font-weight:700;backdrop-filter:blur(4px);
}
/* client button variant: ensure white text and slightly lighter border for contrast on dark header */
.btn.ghost.client-btn{
  color: #ffffff;
  border-color: rgba(255,255,255,0.08);
}
.small{padding:8px 10px;font-size:14px}
/* inputs readable with light blue text */
.input,textarea,select{
  width:100%;padding:12px;border-radius:12px;border:1px solid rgba(255,255,255,0.06);background:rgba(255,255,255,0.03);color:var(--blue-text);font-size:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.02);
}
textarea.input{min-height:72px;resize:vertical}
.file-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.thumb{
  width:90px;height:90px;border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,0.02),rgba(255,255,255,0.01));
  border:1px solid rgba(255,255,255,0.03);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;color:var(--blue-muted);
}
.thumb img{width:100%;height:100%;object-fit:cover}
.meta{font-size:13px;color:var(--blue-muted);margin-top:8px}
.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.project-card{
  padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,0.04);
  background:linear-gradient(180deg,rgba(6,18,28,0.6),rgba(6,18,28,0.45));
  color:var(--blue-text);backdrop-filter:blur(6px);
}
.timeline{margin-top:10px;border-left:3px solid rgba(255,255,255,0.03);padding-left:16px}
.timeline .item{margin-bottom:12px}
.timeline .item strong{color:var(--accent)}
.actions{display:flex;gap:8px;justify-content:flex-end}
.badge{
  display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(255,122,24,0.12);color:var(--accent);font-weight:800;font-size:12px;border:1px solid rgba(255,122,24,0.08)
}
.footer{margin-top:14px;text-align:center;color:var(--blue-muted);font-size:13px}
.link{color:var(--accent);text-decoration:none}
.small-muted{font-size:13px;color:var(--blue-muted)}
.mobile-hide{display:inline}
@media (max-width:520px){
  .row{flex-direction:column}
  .mobile-hide{display:none}
  body{padding:12px}
}