
:root{
  --ink:#171717;
  --cream:#F8F2E8;
  --paper:#FFFDF9;
  --lav:#D9C8F2;
  --lav2:#EEE5FA;
  --sage:#DCE7D7;
  --sage2:#EFF4EC;
  --plum:#5A456D;
  --muted:#6B675F;
  --line:#D9D0C5;
  --max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--cream);color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.45;
}
a{color:inherit}
img,video{display:block;max-width:100%}
.topbar{
  position:sticky;top:0;z-index:30;
  height:64px;padding:0 max(18px,calc((100vw - var(--max))/2));
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(248,242,232,.95);backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.wordmark{
  text-decoration:none;font-weight:900;letter-spacing:.08em;font-size:.86rem;
}
.topbar nav{display:flex;align-items:center;gap:22px}
.topbar nav a{text-decoration:none;font-size:.86rem;font-weight:700}
.topbar .hire{background:var(--ink);color:white;padding:9px 13px;border-radius:999px}
.hero{
  max-width:var(--max);margin:auto;padding:52px 24px 60px;
  display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;gap:56px;
}
.micro,.label{
  font-size:.68rem;font-weight:900;letter-spacing:.16em;margin:0 0 12px;
}
.micro{color:var(--plum)}
.hero h1,.profile-card h2,.work-heading h2,.gallery-copy h2,.cta h2{
  font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.045em;margin:0;
}
.hero h1{font-size:clamp(4rem,7.2vw,7.3rem);line-height:.82}
.hero h1 span{
  position:relative;display:inline-block;color:var(--plum);
}
.hero h1 span:after{
  content:"";position:absolute;left:-1%;right:-2%;bottom:-8px;height:13px;
  background:var(--sage);z-index:-1;transform:rotate(-1.4deg);
}
.lead{max-width:590px;font-size:1.08rem;color:var(--muted);margin:28px 0 24px}
.hero-buttons{display:flex;gap:10px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none;
  min-height:46px;padding:0 17px;border-radius:999px;font-weight:850;font-size:.9rem;
}
.btn.dark{background:var(--ink);color:#fff}
.btn.light{border:1.5px solid var(--ink);background:transparent}
.hero-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.hero-tags span{
  border-bottom:2px solid var(--lav);padding:4px 1px;font-size:.76rem;font-weight:800;
}
.hero-visual{position:relative;min-height:540px}
.lavender-block{
  position:absolute;left:10%;top:4%;width:84%;height:88%;background:var(--lav);
  border-radius:44px 44px 120px 44px;transform:rotate(2.3deg);
}
.hero-photo{
  position:absolute;left:3%;top:0;width:90%;height:96%;object-fit:cover;object-position:center 36%;
  border-radius:28px;box-shadow:0 24px 55px rgba(32,25,36,.16);
}
.profile-band{
  max-width:var(--max);margin:0 auto 72px;padding:0 24px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:14px;
}
.profile-card{
  position:relative;padding:26px 24px 24px;border:1px solid var(--line);border-radius:24px;
  min-height:330px;overflow:hidden;
}
.profile-card:after{
  content:"";position:absolute;width:85px;height:85px;border:1px solid rgba(23,23,23,.13);
  border-radius:50%;right:-22px;bottom:-22px;
}
.about-card{background:var(--paper)}
.create-card{background:var(--lav2)}
.why-card{background:var(--sage2)}
.section-no{
  position:absolute;top:18px;right:20px;margin:0;font-family:Georgia,serif;
  font-size:2.6rem;color:rgba(23,23,23,.12)
}
.label{color:var(--plum)}
.profile-card h2{font-size:2.2rem;line-height:.98;margin-bottom:22px;max-width:260px}
.clean-list{list-style:none;margin:0;padding:0}
.clean-list li{
  padding:8px 0;border-top:1px solid rgba(23,23,23,.12);
  font-size:.88rem;font-weight:650;
}
.about-story{
  margin:0 0 16px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.02rem;
  line-height:1.5;
}
.about-note{
  margin:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.45;
}
.type-list{display:flex;flex-wrap:wrap;gap:8px}
.type-list span{
  border:1.5px solid rgba(23,23,23,.32);border-radius:999px;padding:7px 10px;
  font-size:.76rem;font-weight:800;background:rgba(255,255,255,.35);
}
.work-section{
  background:var(--ink);color:white;padding:70px max(24px,calc((100vw - var(--max))/2));
}
.work-heading{
  display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px
}
.work-heading h2{font-size:clamp(2.8rem,5vw,5.2rem)}
.work-heading>p{max-width:410px;margin:0;color:#CFCBC5}
.work-heading .micro{color:var(--lav)}
.work-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 20px;
}
.work-card{text-align:left;min-width:0}
.work-stage{
  min-height:390px;border-radius:26px;padding:18px;
  display:grid;place-items:center;position:relative;overflow:hidden;
}
.work-card:nth-child(6n+1) .work-stage,.work-card:nth-child(6n+4) .work-stage{background:var(--lav)}
.work-card:nth-child(6n+2) .work-stage,.work-card:nth-child(6n+5) .work-stage{background:var(--sage)}
.work-card:nth-child(6n+3) .work-stage,.work-card:nth-child(6n+6) .work-stage{background:#EADDCB}
.work-stage:before{
  content:"";position:absolute;width:155px;height:155px;border-radius:50%;
  border:1px solid rgba(23,23,23,.18);right:-55px;top:-55px;
}
.phone-shell{
  position:relative;width:185px;padding:6px;background:#151515;border:2px solid #4A4A4A;
  border-radius:31px;box-shadow:0 18px 35px rgba(0,0,0,.22);z-index:2;
}
.phone-shell:before{
  content:"";position:absolute;z-index:3;top:10px;left:50%;transform:translateX(-50%);
  width:42px;height:6px;border-radius:99px;background:#0B0B0B;pointer-events:none;
}
.video-wrap{aspect-ratio:9/16;border-radius:23px;overflow:hidden;background:#111}
.video-wrap video{width:100%;height:100%;object-fit:cover;background:#111}
.work-copy{padding:15px 2px 0}
.work-copy .eyebrow{
  margin:0 0 6px;font-size:.62rem;font-weight:900;letter-spacing:.12em;color:var(--lav);
  text-transform:uppercase;
}
.work-copy h3{margin:0;font-size:1.08rem;line-height:1.1}
.work-copy p:last-child{margin:7px 0 0;color:#C7C2BB;font-size:.82rem;line-height:1.4}
.gallery-section{
  max-width:var(--max);margin:auto;padding:64px 24px;
  display:grid;grid-template-columns:.76fr 1.24fr;gap:52px;align-items:start;
}
.gallery-copy h2{font-size:clamp(2.7rem,5vw,5rem);line-height:.9}
.gallery-copy>p:last-child{color:var(--muted);max-width:390px}
.gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gallery-link{
  min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  text-decoration:none;padding:18px;border:1px solid var(--line);border-radius:16px;
  background:var(--paper);font-weight:850;font-size:.88rem;
}
.gallery-link:nth-child(2n){background:var(--sage2)}
.gallery-link:nth-child(3n){background:var(--lav2)}
.gallery-link span:last-child{font-size:1.25rem}
.cta{
  max-width:var(--max);margin:0 auto 30px;padding:42px;border-radius:30px;
  background:var(--plum);color:white;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:end;
}
.cta h2{font-size:clamp(2.7rem,5vw,5rem);line-height:.94;max-width:720px}
.inverse{color:var(--sage)}
.cta>a{
  justify-self:end;text-decoration:none;background:white;color:var(--ink);border-radius:999px;
  padding:15px 18px;font-weight:900;font-size:.9rem;
}
.cta>a span{margin-left:8px}
footer{
  max-width:var(--max);margin:auto;padding:8px 24px 30px;
  display:flex;justify-content:space-between;color:var(--muted);font-size:.78rem;
}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;gap:34px}
  .hero-copy{max-width:720px}
  .hero-visual{min-height:520px;max-width:570px;width:100%;margin:auto}
  .profile-band{grid-template-columns:1fr 1fr}
  .profile-card:last-child{grid-column:1/-1;min-height:auto}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-section{grid-template-columns:1fr}
  .cta{grid-template-columns:1fr}
  .cta>a{justify-self:start}
}
@media(max-width:640px){
  .topbar{height:58px;padding:0 14px}
  .topbar nav a:not(.hire){display:none}
  .wordmark{font-size:.76rem}
  .topbar .hire{padding:8px 11px;font-size:.75rem}
  .hero{padding:34px 16px 42px;gap:24px}
  .hero h1{font-size:clamp(3.4rem,19vw,5.3rem)}
  .lead{font-size:.98rem;margin:22px 0 18px}
  .hero-tags{margin-top:16px}
  .hero-visual{min-height:390px;max-width:390px}
  .hero-photo{left:2%;width:94%;height:95%;border-radius:20px}
  .lavender-block{left:8%;width:88%;border-radius:30px 30px 80px 30px}
  .profile-band{padding:0 16px;margin-bottom:46px;grid-template-columns:1fr;gap:10px}
  .profile-card{min-height:auto;padding:22px 20px}
  .profile-card:last-child{grid-column:auto}
  .profile-card h2{font-size:1.9rem;margin-bottom:16px}
  .clean-list li{padding:6px 0;font-size:.82rem}
  .about-story{font-size:.96rem;line-height:1.45}
  .about-note{font-size:.74rem}
  .type-list{gap:6px}
  .type-list span{padding:6px 8px;font-size:.7rem}
  .work-section{padding:48px 14px}
  .work-heading{display:block;margin-bottom:28px}
  .work-heading h2{font-size:2.9rem}
  .work-heading>p{margin-top:12px;font-size:.9rem}
  .work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}
  .work-stage{min-height:280px;border-radius:18px;padding:9px}
  .phone-shell{width:min(100%,128px);padding:4px;border-radius:22px}
  .phone-shell:before{top:7px;width:28px;height:4px}
  .video-wrap{border-radius:16px}
  .work-copy{padding-top:10px}
  .work-copy .eyebrow{font-size:.52rem;letter-spacing:.08em}
  .work-copy h3{font-size:.88rem}
  .work-copy p:last-child{font-size:.7rem;line-height:1.32}
  .gallery-section{padding:48px 16px;gap:25px}
  .gallery-copy h2{font-size:3rem}
  .gallery-grid{grid-template-columns:1fr 1fr;gap:7px}
  .gallery-link{min-height:72px;padding:12px;font-size:.73rem}
  .cta{margin:0 14px 24px;padding:28px 20px;border-radius:22px}
  .cta h2{font-size:2.65rem}
  .cta>a{font-size:.78rem;padding:13px 14px}
  footer{padding:4px 16px 24px;flex-direction:column;gap:3px}
}
