
:root{
  --bg:#f2eee5;
  --paper:#f8f5ee;
  --ink:#171514;
  --muted:#6d6862;
  --wine:#7c1f2b;
  --line:#c9c0b5;
  --soft:#e7dfd4;
  --blue:#dbe6f5;
  --max:1180px;
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:
    radial-gradient(circle at 15% 10%, rgba(255,255,255,.7), transparent 22%),
    radial-gradient(circle at 82% 18%, rgba(124,31,43,.05), transparent 24%),
    var(--bg);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  line-height:1.5;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(calc(100% - 38px),var(--max));margin:auto}
.serif{font-family:Georgia,"Times New Roman",serif}
.mono{font-family:"SFMono-Regular",Consolas,"Liberation Mono",monospace}
.eyebrow{font-size:.73rem;letter-spacing:.16em;text-transform:uppercase}
.muted{color:var(--muted)}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;background:#fff;padding:10px 14px;z-index:99}
header{
  position:sticky;top:0;z-index:20;
  background:rgba(242,238,229,.92);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(23,21,20,.12)
}
.nav{
  min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px
}
.brand{font:700 1.55rem Georgia,serif}
.navlinks{display:flex;gap:29px;align-items:center;font-size:.93rem}
.navlinks a{padding:9px 0;border-bottom:1px solid transparent}
.navlinks a:hover,.navlinks a.active{border-color:var(--ink)}
.nav-cta{
  border:1px solid var(--ink);border-radius:999px;padding:10px 17px;
  display:inline-flex;align-items:center;gap:8px
}
.menu-btn{display:none;border:1px solid var(--ink);background:transparent;border-radius:999px;padding:8px 12px}

.hero{
  display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center;
  padding:74px 0 62px;min-height:690px
}
.hero h1{font:400 clamp(4.5rem,10vw,8.4rem)/.83 Georgia,serif;margin:12px 0 25px;letter-spacing:-.065em}
.hero h1 em{font-weight:400;color:var(--wine)}
.hero h2{font:400 clamp(1.7rem,3vw,2.6rem)/1.03 Georgia,serif;margin:0 0 22px}
.hero p{max-width:560px;font-size:1.05rem;color:#3d3935}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.btn{
  display:inline-flex;gap:13px;align-items:center;justify-content:center;
  border:1px solid var(--ink);border-radius:3px;padding:13px 20px;font-size:.86rem;
  letter-spacing:.08em;text-transform:uppercase;background:transparent
}
.btn.dark{background:var(--ink);color:white}
.btn.wine{background:var(--wine);border-color:var(--wine);color:#fff}
.hero-art{position:relative;min-height:525px}
.portrait{
  position:absolute;inset:22px 50px 38px 56px;border:1px solid var(--ink);
  border-radius:46% 46% 8px 8px;
  background:
    radial-gradient(circle at 55% 25%,#d9d0c4 0 11%,transparent 12%),
    linear-gradient(145deg,#b9b0a7,#6f6862 58%,#211f1e);
  overflow:hidden;
}
.portrait:before{
  content:"YOUR PHOTO";position:absolute;left:24px;bottom:22px;color:#fff;
  font-size:.73rem;letter-spacing:.16em
}
.card-note{
  position:absolute;background:var(--paper);border:1px solid var(--ink);
  padding:10px 15px;box-shadow:5px 6px 0 rgba(23,21,20,.08);font-family:Georgia,serif
}
.note-1{left:4px;top:95px;transform:rotate(-4deg)}
.note-2{right:5px;bottom:94px;transform:rotate(3deg);background:#e8ddd1}
.note-3{right:22px;top:18px;background:var(--wine);color:#fff;border-color:var(--wine)}
.tags{position:absolute;left:10px;bottom:10px;display:grid;gap:8px}
.tag{
  width:max-content;background:var(--paper);border:1px solid var(--ink);padding:7px 12px;
  box-shadow:2px 3px 0 rgba(23,21,20,.08);font-family:Georgia,serif
}
.squiggle{font:italic 1.15rem Georgia,serif;transform:rotate(-8deg);display:inline-block;margin-left:20px}

.ticker{border-block:1px solid var(--line);background:#eadbd8}
.ticker .container{display:flex;gap:0;overflow:auto}
.ticker span{white-space:nowrap;padding:13px 24px;border-right:1px solid var(--line);font-size:.86rem}

.section{padding:76px 0}
.section-head{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}
.section-title{font:400 clamp(2.8rem,5vw,5.2rem)/.95 Georgia,serif;margin:0;letter-spacing:-.04em}
.section-title em{color:var(--wine);font-weight:400}
.work-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.project-card{
  border:1px solid var(--line);background:rgba(248,245,238,.7);
  transition:.2s ease;overflow:hidden
}
.project-card:hover{transform:translateY(-4px);box-shadow:0 16px 35px rgba(33,25,20,.08)}
.project-visual{height:220px;position:relative;border-bottom:1px solid var(--line);overflow:hidden}
.project-visual:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 35%,rgba(0,0,0,.12))
}
.v1{background:linear-gradient(135deg,#8f1d25,#201918 55%,#d79b67)}
.v2{background:linear-gradient(135deg,#d9c9ae,#26221e 52%,#9892a4)}
.v3{background:linear-gradient(135deg,#071019,#352445 55%,#7c72bd)}
.v4{background:linear-gradient(135deg,#e1ded8,#252525 55%,#a9a39b)}
.project-number{
  position:absolute;left:12px;top:12px;background:var(--paper);border:1px solid var(--ink);
  padding:5px 8px;z-index:2;font-family:monospace;font-size:.78rem
}
.project-label{
  position:absolute;right:12px;bottom:12px;color:#fff;z-index:2;text-transform:uppercase;
  letter-spacing:.12em;font-size:.67rem
}
.project-body{padding:19px}
.project-body h3{font:400 1.45rem/1.05 Georgia,serif;margin:0 0 8px}
.project-body p{font-size:.86rem;color:var(--muted);margin:0 0 18px;min-height:64px}
.metric{border-top:1px solid var(--line);padding-top:13px;display:flex;justify-content:space-between;gap:12px;align-items:end}
.metric strong{font:600 1.45rem Georgia,serif;color:var(--wine)}
.metric span{font-size:.72rem;color:var(--muted);text-align:right}

.about-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:50px;align-items:center}
.about-photo{height:520px;border:1px solid var(--ink);background:linear-gradient(145deg,#d7d1ca,#5c5753 66%,#191817);position:relative}
.about-photo:after{content:"SAME GIRL / BIGGER IDEAS";position:absolute;left:20px;bottom:20px;color:#fff;font:italic 1rem Georgia,serif}
.about-copy p{font-size:1.05rem;max-width:600px}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:28px}
.mini-card{border:1px solid var(--line);padding:16px;background:rgba(255,255,255,.25)}
.mini-card strong{display:block;font-family:Georgia,serif;margin-bottom:4px}

.contact-box{
  border-block:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:60px 0
}
.contact-box h2{font:400 clamp(3rem,6vw,6rem)/.85 Georgia,serif;margin:0}
.contact-box h2 em{color:var(--wine)}
.contact-links{display:grid;gap:10px;align-content:center}
.contact-row{border:1px solid var(--ink);padding:13px 16px;display:flex;justify-content:space-between;gap:14px}
footer{padding:25px 0 40px;font-size:.75rem;color:var(--muted)}
.footer-row{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap}

.case-hero{padding:72px 0 50px;border-bottom:1px solid var(--line)}
.case-hero .kicker{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase}
.case-hero h1{font:400 clamp(3.8rem,8vw,7.8rem)/.9 Georgia,serif;letter-spacing:-.055em;margin:16px 0 25px;max-width:1000px}
.case-hero .lede{font-size:1.18rem;max-width:760px;color:#413d39}
.case-meta{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
.pill{border:1px solid var(--ink);border-radius:999px;padding:8px 12px;font-size:.74rem}
.case-section{padding:58px 0;border-bottom:1px solid var(--line)}
.case-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:60px}
.case-grid h2{font:400 2rem Georgia,serif;margin:0}
.case-grid p,.case-grid li{color:#3f3b37}
.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}
.stat{border:1px solid var(--line);padding:22px;background:rgba(255,255,255,.28)}
.stat strong{display:block;font:600 2.5rem Georgia,serif;color:var(--wine)}
.gallery{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px;margin-top:25px}
.ph{min-height:250px;border:1px solid var(--line);background:linear-gradient(145deg,#d8cec2,#aaa097);display:flex;align-items:end;padding:14px;color:#fff;font-size:.72rem;letter-spacing:.1em}
.ph.tall{min-height:410px}
.back{display:inline-block;margin:24px 0;font-size:.82rem}
ul.clean{padding-left:18px}
.quote{font:italic 1.7rem/1.25 Georgia,serif;color:var(--wine);max-width:720px}

@media (max-width:950px){
  .hero{grid-template-columns:1fr;min-height:auto}
  .hero-art{min-height:470px}
  .work-grid{grid-template-columns:repeat(2,1fr)}
  .about-grid,.case-grid,.contact-box{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .gallery .tall{grid-column:1/-1}
}
@media (max-width:680px){
  .nav{min-height:64px}
  .menu-btn{display:block}
  .navlinks{
    display:none;position:absolute;left:0;right:0;top:64px;background:var(--paper);
    padding:22px;flex-direction:column;border-bottom:1px solid var(--line)
  }
  .navlinks.open{display:flex}
  .nav-cta{display:none}
  .hero{padding-top:42px}
  .hero h1{font-size:4.4rem}
  .hero-art{min-height:390px}
  .portrait{inset:20px 28px 48px 38px}
  .work-grid,.mini-grid,.stat-grid{grid-template-columns:1fr}
  .section{padding:52px 0}
  .section-head{align-items:start;flex-direction:column}
  .project-visual{height:205px}
  .gallery{grid-template-columns:1fr}
  .gallery .tall{grid-column:auto}
}


/* Real portfolio imagery */
.portrait.has-photo{
  background-image:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.08)),url('../images/hero.JPG');
  background-size:cover;background-position:center 28%;
}
.portrait.has-photo:before{display:none}
.about-photo.has-photo{
  background-image:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.14)),url('../images/about.JPG');
  background-size:cover;background-position:center 42%;
}
.project-visual.real-photo{background-size:cover;background-position:center}
.project-visual.real-photo:after{background:linear-gradient(180deg,rgba(0,0,0,.02) 35%,rgba(0,0,0,.34))}
.project-visual.haidilao-photo{background-image:url('../images/haidilao-hero.JPG')}
.project-visual.eric-photo{background-image:url('../images/eric-hero.jpg');background-position:center 20%}
.project-visual.steam-photo{background-image:url('../images/Steam-hero.jpg')}
.project-visual.video-photo{background-image:url('../images/videography-commercial.jpg');background-position:center 22%}
.ph.real-img{background-size:cover;background-position:center;position:relative;overflow:hidden;text-shadow:0 1px 6px rgba(0,0,0,.65)}
.ph.real-img:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.02),rgba(0,0,0,.45))}
.ph.real-img > span{position:relative;z-index:1}
.case-image-note{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
