
:root{
  --bg:#0c0c0b;
  --surface:#141412;
  --surface-2:#1b1a17;
  --text:#f1ede4;
  --muted:#b8b2a7;
  --accent:#b18a5a;
  --line:rgba(255,255,255,.11);
  --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:Inter,Arial,sans-serif;line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}
.site-header{
  position:fixed;z-index:50;top:0;left:0;right:0;
  background:linear-gradient(to bottom,rgba(10,10,9,.88),rgba(10,10,9,.15));
  backdrop-filter:blur(10px);
}
.nav{height:82px;display:flex;align-items:center;justify-content:space-between}
.brand{text-decoration:none;letter-spacing:.17em;text-transform:uppercase;font-size:.82rem;font-weight:600}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{text-decoration:none;color:#eee8de;font-size:.92rem}
.nav-links a:hover{color:#fff}
.nav-cta{border:1px solid rgba(255,255,255,.38);padding:10px 15px;border-radius:999px}
.menu-btn{display:none;background:none;border:0;color:white;font-size:1.6rem}
.hero{
  min-height:94svh;position:relative;display:grid;align-items:end;
  background:#0a0a09 center 58%/cover no-repeat;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(5,5,4,.72) 0%,rgba(5,5,4,.34) 52%,rgba(5,5,4,.18) 100%),
             linear-gradient(0deg,rgba(5,5,4,.8) 0%,transparent 45%);
}
.hero .inner{position:relative;z-index:2;padding:138px 0 72px;max-width:790px}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:#d5c7b3;margin-bottom:18px}
h1,h2,h3{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:.98;margin:0}
h1{font-size:clamp(3.6rem,8vw,7.8rem);letter-spacing:-.025em}
h2{font-size:clamp(2.6rem,5vw,5rem)}
h3{font-size:2rem}
.lead{font-size:clamp(1.05rem,1.7vw,1.28rem);color:#e2ddd4;max-width:670px;margin:26px 0 30px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;padding:14px 19px;border-radius:999px;font-size:.92rem;transition:.2s ease}
.btn-primary{background:#f3eee6;color:#111}
.btn-primary:hover{transform:translateY(-2px);background:white}
.btn-ghost{border:1px solid rgba(255,255,255,.42);color:white}
.btn-ghost:hover{background:rgba(255,255,255,.08)}
section{padding:92px 0}
.section-head{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;margin-bottom:46px;align-items:end}
.section-head p{margin:0;color:var(--muted);max-width:640px}
.work-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}
.card{position:relative;overflow:hidden;background:var(--surface);min-height:380px}
.card.tall{min-height:660px}
.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7),transparent 55%)}
.card:hover img{transform:scale(1.025)}
.card-copy{position:absolute;z-index:2;left:26px;right:26px;bottom:24px}
.card-copy small{text-transform:uppercase;letter-spacing:.15em;color:#ddd0bd}
.card-copy h3{margin-top:7px}
.stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:58px;align-items:center}
.split img{width:100%;height:650px;object-fit:cover}
.prose p{color:var(--muted);font-size:1.08rem}
.quote{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(2rem,4vw,4rem);line-height:1.05;color:#ede6da}
.rule{height:1px;background:var(--line);margin:28px 0}
.process-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.process-grid figure{margin:0}
.process-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}
.process-grid figcaption{color:var(--muted);font-size:.9rem;margin-top:10px}
.cta{
  padding:100px 0;background:#d7c3a7;color:#14100d;
}
.cta .section-head p{color:#4e443a}
.cta .btn-primary{background:#14100d;color:#fff}
.footer{padding:45px 0 70px;border-top:1px solid var(--line)}
.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:flex-end}
.footer small{color:var(--muted)}
.page-hero{padding:170px 0 75px;border-bottom:1px solid var(--line)}
.page-hero p{max-width:720px;color:var(--muted);font-size:1.1rem}
.gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.gallery-item{grid-column:span 6;overflow:hidden;background:var(--surface)}
.gallery-item.wide{grid-column:span 12}
.gallery-item img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:.4s}
.gallery-item:hover img{transform:scale(1.018)}
.gallery-meta{padding:14px 2px 28px;color:var(--muted);font-size:.92rem}
.form{display:grid;gap:16px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{font-size:.83rem;color:#d3ccc0}
input,textarea,select{
  width:100%;margin-top:7px;background:#11110f;color:white;border:1px solid #33312d;
  padding:14px;border-radius:4px;font:inherit;
}
textarea{min-height:145px;resize:vertical}
.notice{font-size:.9rem;color:var(--muted)}
@media(max-width:820px){
  .nav-links{display:none;position:absolute;top:82px;left:0;right:0;background:#0d0d0c;padding:20px;flex-direction:column;align-items:flex-start;border-top:1px solid var(--line)}
  .nav-links.open{display:flex}.menu-btn{display:block}
  .section-head,.split{grid-template-columns:1fr}
  .work-grid{grid-template-columns:1fr}
  .card.tall{min-height:520px}.stack .card{min-height:360px}
  .process-grid{grid-template-columns:1fr}
  .gallery-item,.gallery-item.wide{grid-column:span 12}
  .form-row{grid-template-columns:1fr}
  .footer-grid{flex-direction:column;align-items:flex-start}
  section{padding:78px 0}
  .split img{height:500px}
}

.intro-strip{
  padding:64px 0 70px;
  border-bottom:1px solid var(--line);
  background:#10100f;
}
.intro-grid{
  display:grid;
  grid-template-columns:.7fr 1.3fr;
  gap:54px;
  align-items:start;
}
.intro-grid p{
  margin:0;
  color:var(--muted);
  font-size:1.07rem;
  max-width:760px;
}
.intro-link{
  display:inline-block;
  margin-top:18px;
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.35);
  padding-bottom:3px;
}
@media(max-width:820px){
  .intro-grid{grid-template-columns:1fr;gap:24px}
  .hero{min-height:88svh;background-position:58% center}
}

.hero .inner{
  max-width:720px;
  padding-bottom:84px;
}
.hero h1{
  font-size:clamp(3.2rem,6.4vw,6.2rem);
  max-width:700px;
  text-wrap:balance;
}
.hero .lead{
  max-width:610px;
}
@media(max-width:820px){
  .hero h1{font-size:clamp(2.9rem,11vw,4.7rem)}
  .hero .inner{padding-bottom:64px}
}

.portfolio-intro{
  max-width:760px;
  color:var(--muted);
  margin-top:18px;
}
.gallery-item{
  position:relative;
  cursor:zoom-in;
}
.gallery-item img{
  display:block;
}
.gallery-meta{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
}
.gallery-meta strong{
  display:block;
  color:var(--text);
  font-weight:500;
}
.gallery-meta span{
  display:block;
  margin-top:3px;
}
.gallery-index{
  color:#817a70;
  letter-spacing:.12em;
  font-size:.76rem;
  padding-top:2px;
}
.lightbox{
  position:fixed;
  inset:0;
  z-index:100;
  background:rgba(0,0,0,.94);
  display:none;
  align-items:center;
  justify-content:center;
  padding:38px;
}
.lightbox.open{display:flex}
.lightbox img{
  max-width:min(94vw,1500px);
  max-height:82vh;
  object-fit:contain;
}
.lightbox-close{
  position:absolute;
  top:18px;
  right:24px;
  border:0;
  background:none;
  color:#fff;
  font-size:2.4rem;
  cursor:pointer;
}
.lightbox-caption{
  position:absolute;
  left:30px;
  right:70px;
  bottom:16px;
  color:#ddd7cd;
  font-size:.9rem;
}
@media(max-width:820px){
  .lightbox{padding:18px}
  .lightbox img{max-height:78vh}
}

.archive-section{padding-top:96px}.process-archive{background:#11110f}.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.archive-card{margin:0;background:#171715;cursor:zoom-in;overflow:hidden}.archive-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .35s ease,opacity .25s ease}.archive-card:hover img{transform:scale(1.025)}.archive-card figcaption{padding:9px 10px 11px;color:#928b80;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase}@media(max-width:1000px){.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.archive-card figcaption{font-size:.68rem;padding:7px 8px 9px}}

.gallery-meta > div:first-child{display:block;min-width:0}.gallery-meta strong,.gallery-meta span{display:block!important}.gallery-meta strong{margin:0 0 7px 0!important;line-height:1.25}.gallery-meta span{margin:0!important;line-height:1.45}.archive-section{padding:96px 0}.process-archive{background:#11110f}.archive-count{color:#8e877c;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;margin:-20px 0 24px}.archive-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.archive-card{margin:0;background:#171715;overflow:hidden;cursor:zoom-in}.archive-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;transition:transform .3s ease}.archive-card:hover img{transform:scale(1.025)}.archive-card figcaption{display:block;padding:10px 11px 12px;min-height:38px}.caption-title{display:block;color:#aaa297;font-size:.72rem;line-height:1.25;letter-spacing:.09em;text-transform:uppercase}@media(max-width:1000px){.archive-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){.archive-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.archive-card figcaption{padding:8px 9px 10px}.archive-section{padding:72px 0}}

/* August 25, 2026 update */
.hero-a1a{
  background-image:url('assets/updates/hero-a1anew.jpg');
  background-position:center center;
}
.instagram-section{
  background:var(--surface-2);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.instagram-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:54px;
  align-items:end;
}
.instagram-copy p{
  color:var(--muted);
  max-width:620px;
  margin:0 0 25px;
  font-size:1.06rem;
}
.instagram-profile-link,.footer-instagram{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
}
.instagram-profile-link{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(1.55rem,3vw,2.35rem);
  border-bottom:1px solid rgba(255,255,255,.32);
  padding-bottom:5px;
}
.instagram-profile-link:hover,.footer-instagram:hover{color:#fff}
.footer-instagram{
  margin-top:14px;
  color:var(--muted);
  font-size:.85rem;
}
.instagram-icon{
  width:1.15em;
  height:1.15em;
  display:inline-flex;
  flex:0 0 auto;
}
.instagram-icon svg{
  width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;
}
.instagram-icon svg circle:last-child{fill:currentColor;stroke:none}
.gallery-only-card figcaption{display:none}
.gallery-only-grid .archive-card img{aspect-ratio:1/1;object-fit:cover}

@media(max-width:820px){
  .hero-a1a{background-position:58% center}
  .instagram-grid{grid-template-columns:1fr;gap:28px}
  .instagram-profile-link{font-size:1.55rem}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  }


/* August 25 revision: homepage hero placement + client design comparison */
.hero .inner{
  max-width:720px;
  padding-left:clamp(18px,4vw,54px);
  padding-right:clamp(18px,4vw,54px);
  padding-bottom:50px;
  overflow-wrap:break-word;
}
.hero h1,.hero .lead{max-width:100%}

.design-comparison{
  background:#090908;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.comparison-head{margin-bottom:30px}
.comparison-head h2{max-width:650px}
.comparison-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,360px));
  justify-content:center;
  gap:24px;
  align-items:start;
  max-width:760px;
  margin:0 auto;
}
.comparison-card{
  margin:0;
  background:#141412;
  overflow:hidden;
}
.comparison-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:auto;
  object-fit:contain;
}
.comparison-card figcaption{
  display:block;
  padding:13px 15px 16px;
  color:#ddd7cd;
  font-size:.92rem;
  line-height:1.5;
  letter-spacing:.01em;
}
@media(max-width:820px){
  .hero .inner{
    padding-left:12px;
    padding-right:12px;
    padding-bottom:42px;
  }
  .hero h1{font-size:clamp(2.55rem,10vw,4.35rem)}
  .comparison-head{margin-bottom:24px}
  .comparison-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    max-width:100%;
  }
  .comparison-card figcaption{
    padding:10px 11px 13px;
    font-size:.8rem;
    line-height:1.4;
  }
}
