:root{
  --ink:#171717;
  --rose:#d98d78;
  --rose-dark:#b96855;
  --blush:#f8e5df;
  --cream:#fffaf8;
  --white:#ffffff;
  --muted:#6f6663;
  --shadow:0 18px 45px rgba(77, 45, 38, .10);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:Arial,Helvetica,sans-serif;
  background:var(--cream);
  color:var(--ink);
  line-height:1.6;
}
img{max-width:100%;display:block}
a{color:inherit}

.site-header{
  position:sticky;
  top:0;
  z-index:50;
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 7%;
  background:rgba(255,250,248,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(217,141,120,.22);
}

.brand img{
  width:220px;
  height:74px;
  object-fit:contain;
  object-position:left center;
}

nav{display:flex;gap:30px;align-items:center}
nav a{
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:.78rem;
  font-weight:700;
  position:relative;
}
nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-7px;
  width:0;
  height:2px;
  background:var(--rose);
  transition:.25s ease;
}
nav a:hover::after,nav a.active::after{width:100%}

.hero{
  min-height:78vh;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  align-items:center;
  gap:70px;
  padding:80px 8% 70px;
  background:
    radial-gradient(circle at 85% 20%, rgba(217,141,120,.18), transparent 30%),
    linear-gradient(145deg,var(--cream),#fff);
}

.eyebrow{
  color:var(--rose-dark);
  text-transform:uppercase;
  letter-spacing:.23em;
  font-size:.76rem;
  font-weight:700;
  margin-bottom:18px;
}

.hero h1,.page-banner h1{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:500;
  line-height:1.07;
}
.hero h1{font-size:clamp(3rem,6vw,6rem);margin-bottom:24px}
.hero h1 span{color:var(--rose)}
.hero p{max-width:650px;font-size:1.08rem;color:var(--muted);margin-bottom:34px}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 28px;
  border-radius:999px;
  background:var(--rose);
  color:white;
  text-decoration:none;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
  font-weight:700;
  box-shadow:0 12px 28px rgba(217,141,120,.28);
  transition:.25s ease;
}
.btn:hover{background:var(--rose-dark);transform:translateY(-2px)}

.hero-logo{
  background:var(--white);
  border:1px solid rgba(217,141,120,.22);
  border-radius:36px;
  padding:28px;
  box-shadow:var(--shadow);
}
.hero-logo img{width:100%;max-height:520px;object-fit:contain}

.about-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  padding:70px 8%;
  background:var(--blush);
}
.info-card{
  background:rgba(255,255,255,.78);
  border:1px solid rgba(185,104,85,.15);
  border-radius:22px;
  padding:30px;
}
.info-card h3{font-family:Georgia,serif;font-size:1.45rem;margin-bottom:10px}
.info-card p{color:var(--muted)}

.page-banner{
  padding:90px 8% 60px;
  text-align:center;
  background:linear-gradient(180deg,var(--blush),var(--cream));
}
.page-banner h1{font-size:clamp(2.8rem,5vw,5rem);margin-bottom:14px}
.page-banner p{color:var(--muted);max-width:720px;margin:auto}

.portfolio-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:28px;
  padding:65px 8% 90px;
}
.project-card{
  overflow:hidden;
  background:white;
  border-radius:24px;
  box-shadow:var(--shadow);
  border:1px solid rgba(217,141,120,.14);
  transition:.28s ease;
}
.project-card:hover{transform:translateY(-7px)}
.project-image{
  height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  background:
    linear-gradient(135deg,rgba(248,229,223,.92),rgba(255,255,255,.94));
  color:var(--rose-dark);
  font-family:Georgia,serif;
  font-size:2rem;
  text-align:center;
}
.project-card:nth-child(even) .project-image{background:linear-gradient(135deg,#fff,#f4d6cc)}
.project-copy{padding:24px}
.project-copy h3{font-family:Georgia,serif;font-size:1.4rem;margin-bottom:8px}
.project-copy p{color:var(--muted)}

footer{
  padding:34px 8%;
  text-align:center;
  background:var(--ink);
  color:#fff;
  letter-spacing:.08em;
  font-size:.82rem;
}

@media (max-width:900px){
  .site-header{padding:12px 5%}
  .brand img{width:170px;height:60px}
  nav{gap:18px}
  .hero{grid-template-columns:1fr;padding:55px 6%}
  .hero-logo{max-width:600px;margin:auto}
  .about-strip{grid-template-columns:1fr;padding:50px 6%}
  .portfolio-grid{grid-template-columns:repeat(2,1fr);padding:50px 6% 70px}
}

@media (max-width:600px){
  .site-header{flex-direction:column;gap:10px}
  .brand img{object-position:center}
  nav a{font-size:.7rem}
  .hero{padding-top:42px}
  .portfolio-grid{grid-template-columns:1fr}
  .project-image{height:230px}
}


/* Clickable portfolio categories */
.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;padding:65px 8% 95px}
.category-card{position:relative;min-height:470px;overflow:hidden;border-radius:28px;background:#fff;box-shadow:var(--shadow);text-decoration:none;border:1px solid rgba(217,141,120,.15);isolation:isolate}
.category-card img,.branding-visual{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .45s ease}
.category-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 25%,rgba(23,23,23,.86) 100%);z-index:1}
.category-card:hover img,.category-card:hover .branding-visual{transform:scale(1.045)}
.category-overlay{position:absolute;left:0;right:0;bottom:0;padding:34px;color:#fff;z-index:2}
.category-overlay span{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#f5c6b7;font-weight:700}
.category-overlay h2{font-family:Georgia,serif;font-size:2.15rem;font-weight:500;margin:6px 0}
.category-overlay p{font-size:.82rem;text-transform:uppercase;letter-spacing:.12em}
.branding-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,#f7ddd5,#fffaf8);color:var(--ink)}
.branding-visual strong{font-family:Georgia,serif;font-size:8rem;font-weight:400;color:var(--rose-dark);line-height:1}
.branding-visual small{text-transform:uppercase;letter-spacing:.18em;margin-top:24px}
.page-banner.compact{padding-bottom:50px}.text-link{display:inline-block;margin-top:24px;color:var(--rose-dark);font-weight:700;text-decoration:none}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding:65px 8% 95px}
.work-card{overflow:hidden;background:#fff;border-radius:24px;box-shadow:var(--shadow);border:1px solid rgba(217,141,120,.15)}
.work-card img{width:100%;height:310px;object-fit:cover}.work-copy{padding:26px}.medium{color:var(--rose-dark)!important;text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:700;margin-bottom:8px}.work-copy h2{font-family:Georgia,serif;font-size:1.55rem;margin-bottom:9px}.work-copy p{color:var(--muted)}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:65px 8% 95px}.services-grid article{background:#fff;border:1px solid rgba(217,141,120,.16);border-radius:24px;padding:38px;box-shadow:var(--shadow)}.services-grid span{color:var(--rose);font-family:Georgia,serif;font-size:2.4rem}.services-grid h2{font-family:Georgia,serif;margin:14px 0 10px}.services-grid p{color:var(--muted)}
@media(max-width:900px){.category-grid,.work-grid,.services-grid{grid-template-columns:1fr 1fr;padding-left:6%;padding-right:6%}.category-card{min-height:400px}}
@media(max-width:600px){.category-grid,.work-grid,.services-grid{grid-template-columns:1fr}.category-card{min-height:420px}.work-card img{height:270px}}
