:root{
  --white:#FFFFFF;
  --grey:#EDEDED;
  --stone:#D3CEC8;
  --blush:#E2D9D6;
  --ink:#302C2C;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}

body{
  font-family:'Futura','Century Gothic','Avenir Next',sans-serif;
  color:var(--ink);
  background:var(--white);
  font-size:15px;
  line-height:1.7;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3{
  font-family:'Adobe Devanagari','Cormorant Garamond',Georgia,serif;
  font-weight:500;
  letter-spacing:0.01em;
  color:var(--ink);
}

a{color:inherit;text-decoration:none;}
.wrap{max-width:1180px;margin:0 auto;padding:0 40px;}

/* NAV */
.nav{
  position:sticky;top:0;z-index:50;
  background:rgba(255,255,255,0.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--grey);
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 40px;max-width:1180px;margin:0 auto;
}
.nav-logo img{height:90px;display:block;}
.nav-links{display:flex;gap:34px;list-style:none;}
.nav-links a{
  font-size:12.5px;letter-spacing:0.04em;color:var(--ink);
  position:relative;padding-bottom:2px;
}
.nav-links a::after{
  content:'';position:absolute;left:0;bottom:-2px;width:0;height:1px;
  background:var(--ink);transition:width .35s ease;
}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle span{width:22px;height:1px;background:var(--ink);display:block;}

/* MAIN PHOTO (home) */
.main-photo{
  width:100%;aspect-ratio:16/7;
  background:linear-gradient(135deg,var(--blush) 0%,var(--stone) 100%);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;
}
.main-photo img{
  width:100%;height:100%;object-fit:cover;display:block;
  transform:scale(1.01);transition:transform 1.2s ease;
}
.main-photo:hover img{transform:scale(1.06);}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;min-height:340px;}
.hero-left{
  background:var(--stone);
  padding:34px 60px 34px 40px;
  display:flex;flex-direction:column;justify-content:center;
  border-radius:0 0 90px 0;
}
.hero h1{font-size:42px;line-height:1.12;margin-bottom:14px;opacity:0;animation:riseIn .9s ease .1s forwards;}
.hero p{font-size:14px;color:var(--ink);opacity:0;max-width:320px;animation:riseIn .9s ease .3s forwards;}
.hero-right{
  background:var(--blush);
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;
  border-radius:0 0 0 90px;
}
.hero-right img{
  width:100%;height:100%;object-fit:cover;display:block;
  opacity:0;transform:scale(1.08);
  animation:heroImgIn 1.3s cubic-bezier(.22,.9,.32,1) .35s forwards;
}
.hero-right:hover img{transform:scale(1.14);transition:transform 1.4s ease;}

@keyframes riseIn{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes heroImgIn{from{opacity:0;transform:scale(1.08);}to{opacity:1;transform:scale(1.0);}}
@media (prefers-reduced-motion:reduce){
  .hero h1,.hero p,.hero-right img{animation:none;opacity:1;transform:none;}
}

/* SCROLL-REVEAL */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in-view{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* PAGE HEADER (inner pages) */
.page-header{background:var(--stone);padding:80px 0 64px;border-radius:0 0 90px 0;}
.page-header .label{color:#4d4845;}
.page-header h1{font-size:36px;margin-top:10px;max-width:560px;}
.page-header p{font-size:14px;max-width:480px;margin-top:16px;color:#3a3634;}

/* WHO / generic centered section */
.who{background:var(--grey);padding:90px 0;text-align:center;}
.label{font-size:11.5px;letter-spacing:0.14em;text-transform:uppercase;color:#6b6663;margin-bottom:22px;}
.section-heading{font-size:34px;line-height:1.15;margin-bottom:26px;}
.who p{max-width:660px;margin:0 auto 30px;font-size:14.5px;line-height:1.85;}
.more-link{font-size:12.5px;border-bottom:1px solid var(--ink);padding-bottom:2px;}

/* FEATURE GRID */
.features{padding:90px 0 60px;}
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:50px;}
.feature-card{
  background:var(--grey);border-radius:22px;padding:30px 32px;
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.feature-card:hover{transform:translateY(-6px);background:var(--white);box-shadow:0 18px 34px rgba(48,44,44,0.10);}
.feature-card h3{font-size:16px;margin-bottom:10px;}
.feature-card p{font-size:13px;color:#514c4a;line-height:1.75;}
.features-cta{text-align:center;}
.btn-dark{
  display:inline-block;background:var(--ink);color:var(--white);
  font-size:12.5px;letter-spacing:0.04em;padding:14px 34px;border-radius:30px;border:none;cursor:pointer;
}

/* WHAT WE DO */
.whatwedo{background:var(--blush);padding:90px 0;text-align:center;}
.wwd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px;}
.wwd-item{display:flex;flex-direction:column;align-items:center;}
.wwd-circle{
  width:150px;height:150px;border-radius:50%;background:var(--white);
  display:flex;align-items:center;justify-content:center;margin-bottom:20px;
  transition:transform .4s ease, box-shadow .4s ease;
}
.wwd-item:hover .wwd-circle{transform:translateY(-8px) scale(1.04);box-shadow:0 16px 30px rgba(48,44,44,0.14);}
.wwd-circle svg{width:52px;height:52px;transition:transform .4s ease;}
.wwd-item:hover .wwd-circle svg{transform:scale(1.08);}
.wwd-item h3{font-size:14px;letter-spacing:0.03em;margin-bottom:6px;}
.wwd-item span{font-size:12.5px;color:#514c4a;}

/* CONTENT BLOCKS (inner pages) */
.content-block{padding:80px 0;}
.content-block.alt{background:var(--grey);}
.content-block h2{font-size:26px;margin-bottom:26px;}
.content-block .intro{font-size:14.5px;max-width:640px;margin-bottom:40px;color:#3a3634;line-height:1.85;}

.step-list{display:flex;flex-direction:column;gap:0;}
.step-item{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:26px 0;border-top:1px solid #d8d4d1;}
.step-item:last-child{border-bottom:1px solid #d8d4d1;}
.step-item .step-label{font-size:12px;letter-spacing:0.04em;color:#6b6663;text-transform:uppercase;padding-top:2px;}
.step-item h3{font-size:16px;margin-bottom:6px;}
.step-item p{font-size:13.5px;color:#514c4a;line-height:1.75;}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}
.two-col .col p{font-size:13.5px;color:#3a3634;line-height:1.85;margin-bottom:16px;}
.two-col .col h3{font-size:16px;margin-bottom:14px;}

.channel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:30px;}
.channel-chip{
  background:var(--white);border:1px solid #ddd8d5;border-radius:16px;
  padding:18px 20px;font-size:13px;text-align:center;
  transition:transform .3s ease, background .3s ease, border-color .3s ease;
}
a.channel-chip:hover{transform:translateY(-4px);background:var(--ink);color:var(--white);border-color:var(--ink);}
.channel-chip.static{color:#918c89;cursor:default;}

/* GALLERY CAROUSEL */
.gallery{
  margin-top:24px;
  column-count:4;column-gap:14px;
}
.gallery-item{
  break-inside:avoid;margin-bottom:14px;border-radius:16px;overflow:hidden;
  position:relative;cursor:pointer;background:var(--grey);
}
.gallery-item img{
  width:100%;display:block;transition:transform .6s cubic-bezier(.22,.9,.32,1), filter .5s ease;
}
.gallery-item:hover img{transform:scale(1.045);}
.gallery-item::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(48,44,44,0) 60%, rgba(48,44,44,0.28) 100%);
  opacity:0;transition:opacity .4s ease;
}
.gallery-item:hover::after{opacity:1;}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;background:rgba(48,44,44,0.92);
  display:none;align-items:center;justify-content:center;z-index:200;
  padding:40px;
}
.lightbox.open{display:flex;}
.lightbox img{
  max-width:min(90vw,900px);max-height:88vh;object-fit:contain;border-radius:8px;
  box-shadow:0 30px 60px rgba(0,0,0,0.4);
}
.lightbox-close{
  position:absolute;top:24px;right:32px;color:var(--white);
  font-size:14px;letter-spacing:0.04em;background:none;border:1px solid rgba(255,255,255,0.4);
  border-radius:20px;padding:8px 18px;cursor:pointer;
}
.lightbox-close:hover{background:rgba(255,255,255,0.12);}
.lightbox-nav{
  position:absolute;top:50%;transform:translateY(-50%);
  color:var(--white);background:none;border:none;font-size:28px;cursor:pointer;
  padding:10px 16px;opacity:0.75;transition:opacity .2s ease;
}
.lightbox-nav:hover{opacity:1;}
.lightbox-prev{left:12px;}
.lightbox-next{right:12px;}

@media (max-width:900px){
  .gallery{column-count:3;column-gap:10px;}
  .gallery-item{margin-bottom:10px;border-radius:12px;}
  .lightbox-nav{font-size:22px;padding:8px 10px;}
  .lightbox-close{top:16px;right:16px;padding:6px 14px;font-size:12px;}
}
@media (max-width:560px){
  .gallery{column-count:2;column-gap:8px;}
  .gallery-item{margin-bottom:8px;border-radius:10px;}
}
@media (prefers-reduced-motion:reduce){
  .gallery-item img{transition:none;}
}

/* PARTNER LOGO GRID */
.partner-grid-logos{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:20px;}
.partner-slot{
  aspect-ratio:1/1;background:var(--white);border:1px solid #e4e0dd;border-radius:18px;
  display:flex;align-items:center;justify-content:center;padding:22px;text-align:center;
  transition:transform .3s ease, box-shadow .3s ease;
}
.partner-slot:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(48,44,44,0.10);}
.partner-slot img{width:100%;height:100%;object-fit:contain;display:block;}
.partner-slot.empty{background:var(--grey);border-style:dashed;font-size:11px;color:#928d8a;}

/* FORM */
.partner{padding:90px 0;}
.partner-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:start;}
.partner h2{font-size:28px;margin-bottom:36px;}
.field{margin-bottom:22px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:820px){.field-row{grid-template-columns:1fr;}}
.field label{display:block;font-size:12px;margin-bottom:8px;color:#514c4a;}
.field input,.field select,.field textarea{
  width:100%;border:none;border-bottom:1px solid #c9c4c1;background:transparent;
  padding:10px 2px;font-size:13.5px;font-family:inherit;color:var(--ink);
}
.field select{
  appearance:none;background:transparent;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23302C2C'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 4px center;
}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-bottom-color:var(--ink);}
.field textarea{resize:vertical;min-height:80px;}
.submit-note{font-size:11px;color:#918c89;margin-top:10px;}
.form-status{font-size:12.5px;margin-top:14px;min-height:18px;}
.contact-card{background:var(--stone);border-radius:22px;padding:40px 34px;}
.contact-card h3{font-size:20px;margin-bottom:16px;}
.contact-card p{font-size:13px;line-height:1.8;color:#3a3634;margin-bottom:14px;}
.contact-card .detail{font-size:13px;line-height:2;color:#3a3634;}
.contact-card .detail b{display:block;font-size:11px;letter-spacing:0.04em;text-transform:uppercase;color:#6b6663;margin-top:14px;}

/* FOOTER */
footer{border-top:1px solid var(--grey);padding:50px 0 34px;}
.footer-inner{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:24px;}
.footer-logo img{height:60px;margin-bottom:8px;}
.footer-logo span{font-size:11px;color:#918c89;}
.footer-links{display:flex;gap:26px;list-style:none;flex-wrap:wrap;}
.footer-links a{font-size:12px;color:#514c4a;}
.footer-social{display:flex;gap:14px;margin-top:10px;}
.footer-social a{font-size:11px;color:#514c4a;border-bottom:1px solid #ccc6c3;}

/* MOBILE */
@media (max-width:820px){
  .wrap{padding:0 22px;}
  .nav-inner{padding:10px 22px;}
  .nav-logo img{height:66px;}
  .nav-links{
    position:absolute;top:100%;left:0;right:0;background:var(--white);
    flex-direction:column;gap:0;border-bottom:1px solid var(--grey);display:none;
    z-index:100;box-shadow:0 16px 28px rgba(48,44,44,0.12);
  }
  .nav-links.open{display:flex;}
  .nav.nav-open{background:var(--white);backdrop-filter:none;}
  .nav-links a{padding:14px 22px;width:100%;border-bottom:1px solid var(--grey);}
  .nav-links a::after{display:none;}
  .nav-toggle{display:flex;}
  .hero{grid-template-columns:1fr;}
  .hero-left{border-radius:0;padding:50px 22px;}
  .hero-right{border-radius:0;padding:36px 22px 56px;}
  .hero h1{font-size:32px;}
  .feature-grid,.wwd-grid{grid-template-columns:1fr;}
  .partner-grid{grid-template-columns:1fr;}
  .who,.features,.whatwedo,.partner,.content-block{padding:60px 0;}
  .page-header{border-radius:0;padding:60px 0 48px;}
  .page-header h1{font-size:28px;}
  .two-col{grid-template-columns:1fr;gap:36px;}
  .step-item{grid-template-columns:1fr;gap:6px;}
  .channel-grid{grid-template-columns:1fr 1fr;}
  .partner-grid-logos{grid-template-columns:repeat(3,1fr);gap:12px;}
  .partner-slot{padding:14px;border-radius:14px;}
}

@media (max-width:480px){
  .partner-grid-logos{grid-template-columns:repeat(2,1fr);gap:10px;}
  .partner-slot{padding:16px;}
}
