
:root{
  --paper:#f5f2ec;
  --paper-2:#ece7de;
  --ink:#171717;
  --muted:#77736d;
  --gold:#b89452;
  --line:#d8d3ca;
  --white:#fffdf9;
  --dark:#191919;
  --dark-muted:#bdb7ae;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Inter",Arial,sans-serif;font-weight:300;line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
body.menu-open,body.lightbox-open{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
.container{width:min(1320px,92vw);margin:auto}
.narrow{width:min(880px,92vw);margin:auto}
.serif{font-family:"Cormorant Garamond",Georgia,serif}
.gold{color:var(--gold)}
.kicker{
  font-size:10px;letter-spacing:.20em;text-transform:uppercase;color:var(--muted);
  margin-bottom:20px
}
.section-label{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  border-top:1px solid var(--line);padding-top:14px;margin-bottom:42px;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)
}
.page-intro{padding:92px 0 78px}
.page-intro h1{
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:clamp(58px,7vw,104px);line-height:.9;letter-spacing:-.035em;
  margin:0;max-width:980px
}
.page-intro p{max-width:640px;color:#5f5a54;font-size:14px;margin:28px 0 0}
.text-link{
  display:inline-block;border-bottom:1px solid currentColor;padding-bottom:5px;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase
}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(245,242,236,.93);
  backdrop-filter:blur(14px);border-bottom:1px solid rgba(23,23,23,.08)
}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:13px;min-width:0}
.logo{width:50px;height:50px;object-fit:cover;border-radius:50%;flex:0 0 50px}
.brand-text{font-size:12px;letter-spacing:.15em;font-weight:500;white-space:nowrap}
.menu{display:flex;align-items:center;gap:31px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.menu a{position:relative}
.menu a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-7px;height:1px;background:var(--ink);
  transition:right .25s
}
.menu a:hover::after,.menu a[aria-current="page"]::after{right:0}
.nav-right{display:flex;align-items:center;gap:12px}
.whatsapp{
  border:1px solid var(--ink);padding:10px 16px;border-radius:999px;
  font-size:11px;letter-spacing:.1em;text-transform:uppercase
}
.mobile-toggle{display:none;background:none;border:0;font-size:25px;cursor:pointer;padding:8px}

/* Homepage */
.hero{padding:70px 0 110px}
.hero-grid{display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:center}
.hero h1{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(54px,6vw,96px);
  font-weight:500;line-height:.92;letter-spacing:-.03em;margin:0 0 24px
}
.hero p{max-width:510px;font-size:14px;color:#5e5a55}
.hero-links{display:flex;gap:26px;margin-top:34px;flex-wrap:wrap}
.hero-photo img{width:100%;max-height:76vh;object-fit:cover;object-position:center}
.hero-caption{
  display:flex;justify-content:space-between;gap:20px;font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:10px
}
.statement{padding:115px 0 125px;text-align:center}
.statement p{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(36px,4.2vw,64px);
  line-height:1.05;max-width:920px;margin:0 auto;font-weight:400
}
.statement small{
  display:block;margin-top:24px;color:var(--muted);font-size:10px;
  letter-spacing:.18em;text-transform:uppercase
}
.work{padding:10px 0 130px}
.editorial-grid{
  display:grid;grid-template-columns:1.15fr .8fr 1.05fr;gap:28px;align-items:start
}
.stack{display:grid;gap:28px}
.photo{cursor:zoom-in;overflow:hidden;background:#ddd}
.photo img{width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.6,.2,1)}
.photo:hover img{transform:scale(1.012)}
.photo.tall img{aspect-ratio:3/4;object-fit:cover}
.photo.land img{aspect-ratio:4/3;object-fit:cover}
.photo.square img{aspect-ratio:1/1;object-fit:cover}
.photo.wide img{aspect-ratio:16/10;object-fit:cover}
.categories{padding:0 0 130px}
.category-list{border-top:1px solid var(--line)}
.category-row{
  display:grid;grid-template-columns:50px 1fr auto;gap:24px;align-items:center;
  padding:24px 0;border-bottom:1px solid var(--line)
}
.category-row .num{font-size:10px;color:var(--muted)}
.category-row h3{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(34px,4vw,58px);
  font-weight:400;margin:0
}
.category-row span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.about-band{background:var(--dark);color:#efebe4;padding:120px 0}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}
.about-photo img{width:100%;aspect-ratio:4/5;object-fit:cover}
.about-band .kicker{color:#aaa59c}
.about-band h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(48px,5vw,78px);
  line-height:.95;font-weight:400;margin:0 0 26px
}
.about-band p{font-size:14px;color:#c9c4bb;max-width:560px}
.about-meta{
  margin-top:36px;padding-top:18px;border-top:1px solid #3b3b3b;
  display:grid;grid-template-columns:1fr 1fr;gap:18px;font-size:11px;color:#aaa59c
}
.cta{padding:130px 0;text-align:center}
.cta h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(48px,5vw,76px);
  line-height:.95;font-weight:400;max-width:800px;margin:0 auto 26px
}
.cta p{font-size:13px;color:var(--muted);max-width:590px;margin:0 auto 30px}
.cta-actions{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}
.btn{
  display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);
  padding:13px 20px;border-radius:999px;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;background:transparent;cursor:pointer
}
.btn.dark{background:var(--ink);color:white}
.btn:hover{opacity:.76}

/* Portfolio */
.filters{
  display:flex;gap:22px;flex-wrap:wrap;margin:0 0 45px;
  font-size:10px;letter-spacing:.14em;text-transform:uppercase
}
.filter-btn{background:none;border:0;border-bottom:1px solid transparent;padding:0 0 5px;cursor:pointer}
.filter-btn.active{border-color:var(--ink)}
.masonry{
  columns:3 320px;column-gap:24px;padding-bottom:125px
}
.masonry-item{break-inside:avoid;margin-bottom:24px;cursor:zoom-in}
.masonry-item img{width:100%;height:auto}
.masonry-item[hidden]{display:none}

/* Services */
.services-list{padding-bottom:120px}
.service-row{
  display:grid;grid-template-columns:1fr 1fr;gap:7vw;align-items:center;
  padding:72px 0;border-top:1px solid var(--line)
}
.service-row:nth-child(even) .service-image{order:2}
.service-image img{width:100%;max-height:620px;object-fit:cover}
.service-copy h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(44px,4.5vw,68px);
  font-weight:400;line-height:.95;margin:0 0 18px
}
.service-copy p{font-size:14px;color:#5f5a54;max-width:520px}
.service-copy ul{
  padding:0;margin:28px 0 0;list-style:none;border-top:1px solid var(--line)
}
.service-copy li{
  padding:11px 0;border-bottom:1px solid var(--line);font-size:11px;
  letter-spacing:.06em;color:var(--muted)
}

/* About */
.about-story{padding-bottom:125px}
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}
.story-copy h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-weight:400;
  font-size:clamp(42px,4.8vw,70px);line-height:.98;margin:0 0 25px
}
.story-copy p{font-size:14px;color:#5f5a54}
.story-images{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.story-images img:first-child{margin-top:80px}
.story-images img{width:100%;height:auto}
.values{background:var(--paper-2);padding:100px 0}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}
.value{border-top:1px solid #cbc3b8;padding-top:18px}
.value .num{font-size:10px;color:var(--muted)}
.value h3{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:40px;font-weight:400;margin:18px 0 12px
}
.value p{font-size:13px;color:#5f5a54}
.service-area{padding:115px 0}
.service-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:7vw}
.service-area h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(46px,5vw,74px);
  line-height:.96;font-weight:400;margin:0
}
.area-list{columns:2;list-style:none;padding:0;margin:0}
.area-list li{padding:9px 0;border-bottom:1px solid var(--line);font-size:12px;color:#5f5a54}

/* Contact */
.contact-wrap{padding-bottom:125px}
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw}
.contact-details{position:sticky;top:120px;align-self:start}
.contact-details h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:46px;font-weight:400;
  line-height:1;margin:0 0 22px
}
.contact-details p,.contact-details a{font-size:13px;color:#5f5a54}
.contact-block{border-top:1px solid var(--line);padding:16px 0}
.contact-block strong{
  display:block;font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--muted);font-weight:400;margin-bottom:5px
}
.form{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.field{display:grid;gap:7px}
.field.full{grid-column:1/-1}
.field label{font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}
.field input,.field select,.field textarea{
  width:100%;border:0;border-bottom:1px solid #a9a39a;background:transparent;
  padding:10px 0 12px;border-radius:0;outline:none;color:var(--ink)
}
.field textarea{min-height:120px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus{border-bottom-color:var(--ink)}
.form-note{grid-column:1/-1;font-size:10px;color:var(--muted)}
.form-actions{grid-column:1/-1;display:flex;gap:14px;flex-wrap:wrap;margin-top:6px}

/* Privacy / 404 */
.prose{padding:0 0 120px}
.prose h2{
  font-family:"Cormorant Garamond",Georgia,serif;font-size:38px;font-weight:400;
  margin:48px 0 12px
}
.prose p,.prose li{font-size:13px;color:#5f5a54}
.prose ul{padding-left:20px}

/* Footer */
footer{border-top:1px solid var(--line);padding:42px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:40px}
footer h4{font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px}
footer p,footer a{font-size:12px;color:var(--muted)}
.footer-links{display:grid;gap:8px}
.copyright{
  margin-top:38px;padding-top:18px;border-top:1px solid var(--line);
  display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)
}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(8,8,8,.97);z-index:100;display:none;
  align-items:center;justify-content:center;padding:42px
}
.lightbox.open{display:flex}
.lightbox img{max-width:92vw;max-height:88vh;object-fit:contain}
.lb-close,.lb-prev,.lb-next{
  position:absolute;background:none;border:0;color:white;cursor:pointer;
  font-weight:300
}
.lb-close{top:20px;right:25px;font-size:36px}
.lb-prev,.lb-next{top:50%;transform:translateY(-50%);font-size:42px;padding:20px}
.lb-prev{left:8px}.lb-next{right:8px}

/* Responsive */
@media(max-width:900px){
  .menu{
    display:none;position:fixed;left:0;right:0;top:78px;background:var(--paper);
    padding:32px 4vw 38px;border-bottom:1px solid var(--line);flex-direction:column;
    align-items:flex-start;gap:25px
  }
  .menu.open{display:flex}
  .mobile-toggle{display:block}
  .whatsapp{display:none}
  .hero-grid,.about-grid,.service-row,.story-grid,.service-area-grid,.contact-grid{grid-template-columns:1fr}
  .hero{padding-top:40px}
  .hero-photo{order:-1}
  .hero-photo img{max-height:none}
  .editorial-grid{grid-template-columns:1fr 1fr}
  .editorial-grid>div:nth-child(3){grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}
  .service-row:nth-child(even) .service-image{order:0}
  .contact-details{position:static}
  .values-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:600px){
  .brand-text{font-size:10px;letter-spacing:.1em}
  .logo{width:44px;height:44px;flex-basis:44px}
  .nav{min-height:70px}
  .menu{top:70px}
  .hero h1{font-size:56px}
  .statement{padding:80px 0}
  .editorial-grid{grid-template-columns:1fr;gap:18px}
  .editorial-grid>div:nth-child(3){grid-column:auto;display:grid;grid-template-columns:1fr;gap:18px}
  .stack{gap:18px}
  .category-row{grid-template-columns:34px 1fr}
  .category-row span{display:none}
  .about-band{padding:80px 0}
  .about-meta{grid-template-columns:1fr}
  .page-intro{padding:65px 0 58px}
  .page-intro h1{font-size:58px}
  .masonry{columns:1}
  .service-row{padding:48px 0}
  .story-images{gap:12px}
  .story-images img:first-child{margin-top:35px}
  .area-list{columns:1}
  .form{grid-template-columns:1fr}
  .field.full,.form-note,.form-actions{grid-column:auto}
  .footer-grid{grid-template-columns:1fr}
  .footer-grid>div:first-child{grid-column:auto}
  .copyright{flex-direction:column}
}
