*{box-sizing:border-box}:root{--black:#070707;--panel:#0b0b0b;--text:#eee9e1;--muted:#aaa59d;--gold:#ad8742;--line:rgba(255,255,255,.10)}
html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--text);font-family:Inter,Arial,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}
.site-header{position:fixed;z-index:20;top:0;left:0;right:0;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 3.2vw;background:linear-gradient(180deg,rgba(0,0,0,.78),rgba(0,0,0,0))}
.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand span{font-family:"Cormorant Garamond",serif;font-size:39px;letter-spacing:.24em;font-weight:400}.brand small{font-size:10px;letter-spacing:.48em;margin-top:9px;margin-left:0;color:#d2cec8}
.nav{display:flex;gap:45px;align-items:center;font-size:11px;letter-spacing:.05em}.nav a{position:relative;padding:10px 0;color:#d0ccc6}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--gold)}.mobile-toggle{display:none;background:none;border:0;color:var(--text);font-size:25px}
.hero{height:593px;min-height:680px;position:relative;overflow:hidden;display:flex;align-items:center;padding:88px 0 0}.hero-photo{position:absolute;inset:0;background-image:url("assets/hero-main.jpg");background-size:cover;background-position:center 18%}.hero-vignette{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,4,.98) 0%,rgba(4,4,4,.78) 22%,rgba(4,4,4,.20) 52%,rgba(4,4,4,.18) 100%),linear-gradient(0deg,rgba(4,4,4,.40),transparent 30%)}
.hero-content{position:relative;z-index:2;margin-left:3.2vw;width:360px}.eyebrow{margin:0 0 18px;color:var(--gold);font-size:11px;font-weight:500;letter-spacing:.20em}.hero h1,.section-heading h2,.about h2,.contact h2{font-family:"Cormorant Garamond",serif;font-weight:400;line-height:.88}.hero h1{font-size:48px;letter-spacing:.015em;margin:0}.gold-rule{height:2px;width:60px;background:var(--gold);margin:22px 0}.categories{font-size:11px;letter-spacing:.12em;color:#e1ddd6;white-space:nowrap}.categories b{color:var(--gold);font-weight:400;padding:0 5px}
.outline-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-width:205px;padding:13px 20px;border:1px solid rgba(173,135,66,.75);color:var(--gold);font-size:10px;letter-spacing:.15em;font-weight:500;transition:.25s}.outline-button span{font-size:20px;line-height:0}.outline-button:hover{background:var(--gold);color:#080808}.hero-content .outline-button{margin-top:26px}
.section{background:var(--panel)}.portfolio{padding:25px 1.4vw 0}.section-heading{text-align:center;margin-bottom:20px}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2{font-size:31px;letter-spacing:.05em;margin:0}
.portfolio-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.portfolio-card{display:block;overflow:hidden}.portfolio-more-wrap{grid-column:2 / span 2;justify-self:center;display:flex;align-items:center;justify-content:center;padding:0 5px 27px;min-height:74px}.portfolio-more{min-width:155px;text-align:center;padding:13px 22px;font-size:10px;letter-spacing:.18em}.portfolio-more span{margin-left:14px;font-size:16px}.portfolio-card img{width:100%;height:318px;object-fit:cover;transition:transform .5s}.portfolio-card:hover img{transform:scale(1.035)}.card-label{display:flex;justify-content:space-between;align-items:center;padding:12px 5px 27px;font-size:11px;letter-spacing:.16em}.card-label b{font-size:21px;color:var(--gold);font-weight:300}
.about{display:grid;grid-template-columns:1fr 1fr;background:#0b0b0b;border-top:1px solid var(--line)}.about-photo{min-height:315px;background:url("assets/about-lika.jpg") center 25%/cover no-repeat}.about-copy{padding:42px 5.2vw;display:flex;flex-direction:column;justify-content:center}.about-copy .eyebrow{margin-bottom:12px}.about h2{font-size:31px;letter-spacing:.05em;margin:0}.about-copy .gold-rule{margin:13px 0}.about-copy p{max-width:560px;color:#b7b2aa;font-size:11.5px;line-height:1.55;margin:4px 0}.about-copy strong{color:#d8d3cc;font-weight:500}.about-copy .outline-button{margin-top:14px;width:183px;min-width:0}
.services{background:#0a0a0a;padding:55px 7vw 60px;border-top:1px solid var(--line)}.services .section-heading{margin-bottom:32px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line)}.service-grid>div,.service-grid>.service-link{padding:24px 22px;border-right:1px solid var(--line)}.service-grid>div:last-child,.service-grid>.service-link:last-child{border-right:0}.service-grid span{font-size:10px;color:var(--gold);letter-spacing:.15em}.service-grid h3{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:400;margin:8px 0}.service-grid p{color:#96918a;font-size:11px;line-height:1.55;margin:0}
.contact{min-height:165px;position:relative;display:grid;grid-template-columns:1.1fr 1.1fr 1fr;align-items:center;background:#090909;border-top:1px solid var(--line);overflow:hidden}.contact-image{position:absolute;left:0;top:0;bottom:0;width:33%;background:url("assets/contact.png") center/cover no-repeat;opacity:.72}.contact-copy{position:relative;margin-left:34vw;align-self:center}.contact-copy .eyebrow{margin-bottom:8px}.contact h2{font-size:29px;letter-spacing:.02em;margin:0 0 10px}.contact-copy .outline-button{min-width:168px;padding:9px 14px}.contact-details{
  position:relative;
  border-left:0;
  padding-left:42px;
  display:grid;
  grid-template-rows:repeat(3,40px);
  align-content:center;
  row-gap:0;
  font-size:11px;
  color:#c3beb7;
}
.contact-details a,
.contact-details>span{
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  height:40px;
  line-height:1.2;
}
.contact-details a:hover{color:var(--gold)}
.icon{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  width:32px;
  height:40px;
  color:var(--gold);
  font-size:16px;
  line-height:1;
}
footer{height:42px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;padding:0 .6vw;color:#aaa49b;font-size:8px;letter-spacing:.15em;text-transform:uppercase}footer span:nth-child(2){text-align:center}footer a{text-align:right}

/* v10: click-to-open Portfolio dropdown */
.portfolio-nav{position:relative;height:100%;display:flex;align-items:center}
.portfolio-trigger{
  position:relative;background:none;border:0;color:#d0ccc6;padding:10px 0;
  font:inherit;font-size:11px;letter-spacing:.05em;cursor:pointer;
  display:flex;align-items:center;gap:7px;
}
.portfolio-trigger:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:transparent;transition:.2s;
}
.portfolio-nav.open .portfolio-trigger{color:var(--gold)}
.portfolio-nav.open .portfolio-trigger:after{background:var(--gold)}
.chevron{font-size:16px;line-height:8px;transform:translateY(-2px);transition:transform .2s}
.portfolio-nav.open .chevron{transform:rotate(180deg) translateY(2px)}

.portfolio-menu{
  position:absolute;top:calc(100% + 12px);left:50%;transform:translateX(-50%) translateY(-8px);
  width:320px;padding:12px 12px 8px;background:rgba(9,9,9,.98);
  border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 45px rgba(0,0,0,.55);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s,transform .22s,visibility .22s;
}
.portfolio-menu:before{
  content:"";position:absolute;top:-7px;left:50%;width:13px;height:13px;
  transform:translateX(-50%) rotate(45deg);background:#090909;
  border-left:1px solid rgba(255,255,255,.12);border-top:1px solid rgba(255,255,255,.12);
}
.portfolio-nav.open .portfolio-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.portfolio-menu-item{
  display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:center;
  padding:8px 7px;border-bottom:1px solid rgba(255,255,255,.08);transition:background .2s;
}
.portfolio-menu-item:hover{background:rgba(255,255,255,.035)}
.portfolio-menu-item img{width:72px;height:62px;object-fit:cover}
.portfolio-menu-item strong{
  display:block;font-family:"Cormorant Garamond",serif;font-size:18px;font-weight:400;
  letter-spacing:.02em;color:var(--text);margin-bottom:4px;
}
.portfolio-menu-item small{display:block;color:#aaa59d;font-size:10px;line-height:1.45}
.portfolio-menu-all{
  display:flex;align-items:center;justify-content:center;gap:16px;padding:15px 7px 11px;
  color:var(--gold);font-size:10px;letter-spacing:.13em;font-weight:500;
}
.portfolio-menu-all span{font-size:20px;line-height:0}

@media(max-width:900px){

  .portfolio-nav{display:block}
  .portfolio-trigger{width:100%;justify-content:space-between;padding:10px 0}
  .portfolio-menu{position:static;width:100%;transform:none!important;margin:4px 0 8px;box-shadow:none}
  .portfolio-menu:before{display:none}
  .portfolio-nav.open .portfolio-menu{opacity:1;visibility:visible;pointer-events:auto}
  .portfolio-menu-item{grid-template-columns:62px 1fr}
  .portfolio-menu-item img{width:62px;height:54px}
}

@media(max-width:900px){.site-header{height:75px}.brand span{font-size:31px}.brand small{font-size:8px;letter-spacing:.42em}.nav{display:none;position:absolute;top:75px;right:0;background:#080808;width:230px;padding:15px 25px;flex-direction:column;align-items:flex-start;gap:8px;border:1px solid var(--line)}.nav.open{display:flex}.mobile-toggle{display:block}.hero{min-height:720px}.hero-content{width:55%;margin-left:6vw}.hero h1{font-size:54px}.portfolio-grid{grid-template-columns:repeat(2,1fr)}.portfolio-more-wrap{grid-column:1 / span 2;justify-self:center}.portfolio-card img{height:380px}.about{grid-template-columns:1fr}.about-photo{min-height:430px}.about-copy{padding:50px 7vw}.service-grid{grid-template-columns:repeat(2,1fr)}.service-grid>div:nth-child(2),.service-grid>.service-link:nth-child(2){border-right:0}.contact{grid-template-columns:1fr;padding:45px 7vw}.contact-image{display:none}.contact-copy{margin:0}.contact-details{border-left:0;padding-left:0;margin-top:35px;grid-template-rows:repeat(3,40px);}.contact-details::before{display:none;}footer{height:auto;min-height:55px;grid-template-columns:1fr;gap:8px;padding:14px 3vw}footer span:nth-child(2),footer a{text-align:left}}
@media(max-width:560px){.brand span{font-size:25px}.brand small{letter-spacing:.36em}.hero{min-height:720px}.hero-content{width:82%;margin-left:7vw}.hero h1{font-size:47px}.categories{font-size:8px}.portfolio{padding-left:4vw;padding-right:4vw}.portfolio-grid{grid-template-columns:1fr;gap:0}.portfolio-more-wrap{grid-column:1;justify-self:center}.portfolio-card img{height:420px}.card-label{padding-bottom:23px}.section-heading h2{font-size:29px}.about-photo{min-height:380px}.contact h2{font-size:35px}.service-grid{grid-template-columns:1fr}.service-grid>div,.service-grid>.service-link{border-right:0;border-bottom:1px solid var(--line)}}

/* v5: optical icon alignment */
.contact-details .icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:32px;
  height:40px;
  flex:0 0 32px;
}
.contact-details .icon svg{
  display:block;
  width:18px;
  height:18px;
  overflow:visible;
  fill:none;
  stroke:currentColor;
  stroke-width:1.5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

/* v7: independent contact divider positioning */
@media (min-width:901px){
  .contact-details::before{
    left:28px;
    top:50%;
    height:102px;
    transform:translateY(-50%);
  }
}
}

/* Dedicated Weddings route: preserves v10 styling while making the Weddings service card clickable. */
.service-link{display:block;color:inherit;text-decoration:none}
.service-link:hover h3{color:var(--gold-soft)}

/* v13: expanded portfolio categories */
.section-anchor{position:relative;top:-90px;display:block;height:0;overflow:hidden}

/* v18 wedding contact: email icon optical alignment */
.details > div:first-child > .email-icon{
  display:inline-block;
  transform:translateX(10px);
}
