@import url('https://fonts.googleapis.com/css2?family=Imprima&family=Viaoda+Libre&display=swap');

:root{--reverie-bg:#0a0608;--reverie-white:rgba(255,255,255,.9);--reverie-serif:'Viaoda Libre',serif;--reverie-sans:'Imprima',sans-serif;--portfolio-gold:#d7b37a;--portfolio-panel:rgba(255,255,255,.075);--portfolio-border:rgba(255,255,255,.14)}
html{margin:0;padding:0;background:var(--reverie-bg);scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;padding:0;background:var(--reverie-bg);font-family:var(--reverie-sans);overflow-x:hidden;color:#fff}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes bobUp{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}.reverie-page,.reverie-page *{box-sizing:border-box}.reverie-page{min-height:100vh;background:var(--reverie-bg);color:#fff}.reverie-scroll-stage{position:relative;height:480vh;background:var(--reverie-bg)}.reverie-sticky-scene{position:sticky;top:0;min-height:100vh;height:100vh;overflow:hidden;background:var(--reverie-bg);isolation:isolate}.reverie-layer,.reverie-curtain,.reverie-vignette{position:absolute;inset:0;width:100%;height:100%;will-change:transform,opacity;transform:translateZ(0);pointer-events:none}.reverie-world{z-index:1;background-image:url('https://res.cloudinary.com/dsdhxhhqh/image/upload/v1779975077/world_bg_jzzcn1.jpg');background-size:cover;background-position:center}.reverie-portal{z-index:8;background-image:url('https://res.cloudinary.com/dsdhxhhqh/image/upload/v1779974947/portal_bg_mu60k9.png');background-size:cover;background-position:center;transform-origin:52% 38%}.reverie-curtain{z-index:12;object-fit:cover;object-position:center;transition:transform 1.35s cubic-bezier(.22,1,.36,1)}.reverie-vignette{z-index:30;background:radial-gradient(circle at 50% 45%,rgba(0,0,0,0) 0%,rgba(0,0,0,.08) 38%,rgba(0,0,0,.72) 100%),linear-gradient(180deg,rgba(0,0,0,.35),rgba(10,6,8,.2) 55%,rgba(10,6,8,.86))}.reverie-nav{position:absolute;z-index:50;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 48px;opacity:0;transform:translateY(-8px);transition:opacity .9s ease .6s,transform .9s ease .6s}.reverie-ready .reverie-nav{opacity:1;transform:translateY(0)}.reverie-nav-side{display:flex;align-items:center;gap:30px}.reverie-nav-right{justify-content:flex-end}.reverie-nav a{color:rgba(255,255,255,.92);text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.12em;line-height:1;transition:opacity .25s ease,color .25s ease}.reverie-nav a:hover{opacity:.7;color:#fff}.reverie-star-logo{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center}.reverie-star-logo svg{width:28px;height:28px;fill:rgba(255,255,255,.96);filter:drop-shadow(0 2px 12px rgba(0,0,0,.24))}.reverie-mobile-link{display:none}.reverie-hero{position:absolute;z-index:45;inset:0;opacity:0;transform:translateY(20px);transition:opacity .9s ease .3s,transform .9s ease .3s;pointer-events:none}.reverie-ready .reverie-hero{opacity:1;transform:translateY(0)}.reverie-hero-copy{position:absolute;top:46%;left:60px;transform:translateY(-50%);max-width:510px;color:#fff}.portfolio-eyebrow{margin:0 0 16px!important;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--portfolio-gold)!important}.portfolio-eyebrow-light{color:rgba(215,179,122,.95)!important}.reverie-hero h1{margin:0 0 22px;font-family:var(--reverie-serif);font-weight:400;font-size:clamp(54px,6.2vw,92px);line-height:.94;letter-spacing:.035em;text-shadow:0 2px 24px rgba(0,0,0,.42)}.reverie-hero p{margin:0;font-size:18px;line-height:1.68;color:rgba(255,255,255,.8);max-width:480px}.portfolio-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.portfolio-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:999px;text-decoration:none;font-size:13px;letter-spacing:.08em;text-transform:uppercase;transition:transform .25s ease,background .25s ease,border-color .25s ease}.portfolio-btn:hover{transform:translateY(-2px)}.portfolio-btn-primary{background:#fff;color:#120b0d;border:1px solid rgba(255,255,255,.9)}.portfolio-btn-ghost{color:#fff;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.reverie-cards{position:absolute;top:50%;right:40px;transform:translateY(-50%);display:flex;gap:18px}.reverie-card{position:relative;width:158px;height:158px;overflow:hidden;border-radius:28px;background:rgba(255,255,255,.08);box-shadow:0 20px 60px rgba(0,0,0,.24);pointer-events:auto;transform:translateZ(0);transition:transform .35s ease}.reverie-card:hover{transform:translateY(-6px) translateZ(0)}.reverie-card img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02)}.reverie-card::after{content:'';position:absolute;inset:auto 0 0 0;height:74%;background:linear-gradient(to top,rgba(0,0,0,.72) 0%,rgba(0,0,0,.18) 60%,transparent 100%);pointer-events:none}.reverie-card-label{position:absolute;z-index:2;left:12px;right:12px;bottom:12px;min-height:42px;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:999px;color:#fff;font-size:12px;letter-spacing:.04em;background:rgba(255,255,255,.13);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.reverie-play{width:27px;height:27px;border-radius:999px;background:rgba(255,255,255,.94);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.reverie-play svg{width:18px;height:18px;fill:#21120e}.reverie-metric-label{display:block;border-radius:18px;text-align:left;padding:12px 14px}.reverie-metric-label strong{display:block;font-family:var(--reverie-serif);font-size:42px;line-height:.82;font-weight:400}.reverie-metric-label span{display:block;margin-top:5px;font-size:11px;color:rgba(255,255,255,.85)}.reverie-dots{position:absolute;z-index:47;left:60px;bottom:40px;display:flex;gap:9px;align-items:center;opacity:0;transition:opacity .9s ease .6s}.reverie-ready .reverie-dots{opacity:1}.reverie-dots span{display:block;height:6px;width:14px;border-radius:999px;background:rgba(255,255,255,.44)}.reverie-dots span:first-child{width:28px;background:rgba(255,255,255,.92)}.reverie-scroll-cue{position:absolute;z-index:47;bottom:36px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;transition:opacity .9s ease .7s}.reverie-ready .reverie-scroll-cue{opacity:1}.reverie-scroll-cue span{text-transform:uppercase;font-size:10px;letter-spacing:.22em;color:rgba(255,255,255,.6)}.reverie-cue-circle{width:34px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:bobUp 1.8s ease-in-out infinite}.reverie-cue-circle svg{width:18px;height:18px;fill:none;stroke:rgba(255,255,255,.74);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.reverie-cta{position:absolute;inset:0;z-index:46;display:flex;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none;padding:30px;will-change:opacity}.reverie-cta h2{margin:0;font-family:var(--reverie-serif);font-size:clamp(42px,6.2vw,86px);color:#fff;letter-spacing:.035em;line-height:1.02;font-weight:400;text-shadow:0 2px 20px rgba(0,0,0,.4)}.reverie-cta p{margin:22px auto 0;font-family:var(--reverie-sans);font-size:20px;max-width:560px;line-height:1.6;color:rgba(255,255,255,.82)}.portfolio-cta-btn{margin-top:28px}.reverie-no-entry-transition .reverie-curtain,.reverie-no-entry-transition .reverie-hero,.reverie-no-entry-transition .reverie-nav,.reverie-no-entry-transition .reverie-dots,.reverie-no-entry-transition .reverie-scroll-cue{transition:none}
.portfolio-section{position:relative;background:#0a0608;padding:110px 24px;border-top:1px solid rgba(255,255,255,.08)}.portfolio-section:before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 8%,rgba(215,179,122,.08),transparent 32%),radial-gradient(circle at 88% 10%,rgba(155,90,255,.07),transparent 30%)}.portfolio-container{position:relative;z-index:1;max-width:1120px;margin:0 auto}.portfolio-section-head{max-width:720px;margin-bottom:42px}.portfolio-section-head h2,.portfolio-about-card h2,.portfolio-contact-card h2{margin:0;font-family:var(--reverie-serif);font-weight:400;font-size:clamp(42px,5.2vw,76px);line-height:1.02;letter-spacing:.025em}.portfolio-section-head p:not(.portfolio-eyebrow),.portfolio-about-card p,.portfolio-contact-card p{font-size:17px;line-height:1.75;color:rgba(255,255,255,.72);margin:18px 0 0}.portfolio-work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.portfolio-work-card{min-height:430px;border:1px solid var(--portfolio-border);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.035));padding:16px;overflow:hidden;box-shadow:0 24px 80px rgba(0,0,0,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:transform .3s ease,border-color .3s ease}.portfolio-work-card:hover{transform:translateY(-6px);border-color:rgba(215,179,122,.38)}.portfolio-work-image{height:220px;border-radius:24px;background-size:cover;background-position:center;margin-bottom:22px}.portfolio-work-image-1{background-image:url('https://res.cloudinary.com/dsdhxhhqh/image/upload/v1779975070/card_3_nbwm25.jpg')}.portfolio-work-image-2{background-image:url('https://res.cloudinary.com/dsdhxhhqh/image/upload/v1779975070/card_2_wr6al6.jpg')}.portfolio-work-image-3{background-image:url('https://res.cloudinary.com/dsdhxhhqh/image/upload/v1779975070/card_1_jz8otj.jpg')}.portfolio-work-card span,.portfolio-service-list span,.portfolio-process-grid span{display:inline-block;color:var(--portfolio-gold);font-size:12px;letter-spacing:.15em;text-transform:uppercase;margin-bottom:12px}.portfolio-work-card h3,.portfolio-service-list h3,.portfolio-process-grid h3{margin:0 0 10px;font-size:22px;font-weight:400;color:#fff}.portfolio-work-card p,.portfolio-service-list p,.portfolio-process-grid p{margin:0;color:rgba(255,255,255,.68);line-height:1.7;font-size:15px}.portfolio-two-col{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:start}.portfolio-sticky-head{position:sticky;top:80px}.portfolio-service-list{display:grid;gap:16px}.portfolio-service-list article,.portfolio-process-grid article{border:1px solid var(--portfolio-border);border-radius:28px;background:rgba(255,255,255,.055);padding:28px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.portfolio-skill-pills{display:flex;flex-wrap:wrap;gap:12px}.portfolio-skill-pills span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);border-radius:999px;padding:13px 18px;color:rgba(255,255,255,.84);font-size:14px}.portfolio-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.portfolio-about-card,.portfolio-contact-card{border:1px solid rgba(215,179,122,.22);border-radius:38px;padding:56px;background:linear-gradient(135deg,rgba(215,179,122,.12),rgba(255,255,255,.045));box-shadow:0 30px 100px rgba(0,0,0,.25)}.portfolio-about-card p,.portfolio-contact-card p{max-width:760px}.portfolio-contact-card{text-align:center}.portfolio-contact-card p{margin-left:auto;margin-right:auto}.portfolio-contact-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:30px}
@media(max-width:1099px){.reverie-hero{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:28px;padding:94px 24px 84px}.reverie-hero-copy{position:static;transform:none;max-width:560px;color:#fff}.reverie-hero h1{font-size:clamp(48px,9vw,78px);line-height:1}.reverie-hero p{font-size:16px;max-width:500px}.portfolio-hero-actions{justify-content:center}.reverie-cards{position:static;transform:none;justify-content:center;flex-wrap:nowrap}.reverie-dots{left:50%;transform:translateX(-50%);bottom:32px}.portfolio-work-grid{grid-template-columns:1fr}.portfolio-work-card{min-height:auto}.portfolio-two-col{grid-template-columns:1fr;gap:26px}.portfolio-sticky-head{position:static}.portfolio-process-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:767px){.reverie-nav{grid-template-columns:1fr auto 1fr;padding:18px 20px}.reverie-desktop-nav{display:none}.reverie-mobile-link{display:block}.reverie-mobile-link:last-child{text-align:right}.reverie-star-logo{justify-self:center}.reverie-hero{padding:90px 22px 86px;gap:24px}.reverie-hero-copy{max-width:320px}.portfolio-eyebrow{font-size:10px}.reverie-hero h1{font-size:clamp(42px,13vw,60px)}.reverie-hero p{max-width:310px;font-size:14px;line-height:1.62}.portfolio-hero-actions{gap:10px}.portfolio-btn{width:100%;max-width:250px}.reverie-card{width:min(72vw,250px);height:min(72vw,250px);border-radius:30px}.reverie-tablet-card{display:none}.reverie-scroll-cue{display:none}.reverie-cta p{font-size:14px;max-width:280px}.reverie-dots{bottom:28px}.portfolio-section{padding:78px 20px}.portfolio-section-head h2,.portfolio-about-card h2,.portfolio-contact-card h2{font-size:clamp(38px,12vw,58px)}.portfolio-work-image{height:190px}.portfolio-process-grid{grid-template-columns:1fr}.portfolio-about-card,.portfolio-contact-card{padding:34px 24px;border-radius:30px}.portfolio-contact-actions .portfolio-btn{max-width:100%}}
.portfolio-work-card{
    cursor:pointer;
}

.portfolio-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.92);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:99999;
}

.portfolio-modal.active{
    display:flex;
}

.portfolio-modal img{
    max-width:90%;
    max-height:90vh;
    border-radius:16px;
}

.portfolio-close{
    position:absolute;
    top:20px;
    right:40px;
    color:#fff;
    font-size:50px;
    cursor:pointer;
}
.portfolio-work-image{
    width:100%;
    aspect-ratio:16/10;
    border-radius:24px;
    background-size:cover;
    background-position:top center;
    background-repeat:no-repeat;
    margin-bottom:20px;
}

.portfolio-work-card{
    cursor:pointer;
}

.portfolio-modal{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.95);

    justify-content:center;
    align-items:center;
    z-index:99999;
}

.portfolio-modal.active{
    display:flex;
}

.portfolio-modal img{
    max-width:90%;
    max-height:90vh;
    border-radius:20px;
}

.portfolio-close{
    position:absolute;
    top:30px;
    right:40px;
    color:#fff;
    font-size:50px;
    cursor:pointer;
}
.portfolio-work-card{
  cursor:pointer;
}

.portfolio-modal{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.95);

  justify-content:center;
  align-items:center;
  z-index:999999;
}

.portfolio-modal.active{
  display:flex !important;
}

.portfolio-modal img{
  max-width:90%;
  max-height:90vh;
  border-radius:20px;
}

.portfolio-close{
  position:absolute;
  top:30px;
  right:40px;
  color:white;
  font-size:52px;
  cursor:pointer;
  z-index:1000000;
}
@media (max-width: 767px){

  .reverie-cards{
    display: flex;
    flex-direction: row;
    gap: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding: 0 22px 18px;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }

  .reverie-card{
    flex: 0 0 72vw;
    min-width: 72vw;
    max-width: 72vw;
    scroll-snap-align: center;
  }

  .reverie-card img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  .reverie-cards::-webkit-scrollbar{
    display: none;
  }

  .reverie-cards{
    scrollbar-width: none;
  }

}
@media (max-width:767px){

  .reverie-cards{
      display:flex;
      gap:16px;
      overflow-x:auto;
      padding:0 20px 20px;
      scroll-snap-type:x mandatory;
      justify-content:flex-start;
  }

  .reverie-card{
      flex:0 0 90vw;
      min-width:90vw;
      max-width:90vw;
      scroll-snap-align:center;
  }

  .reverie-card img{
      width:100%;
      height:100%;
      object-fit:cover;
  }

}
@media (max-width: 767px){

  .reverie-cards{
    align-items: flex-start;
    padding-bottom: 32px;
  }

  .reverie-card{
    height: 360px !important;
    min-height: 360px !important;
    max-height: 360px !important;
    flex: 0 0 82vw !important;
    min-width: 82vw !important;
    max-width: 82vw !important;
  }

  .reverie-card img{
    height: 100% !important;
    object-fit: cover;
    object-position: top center;
  }

  .reverie-card-label{
    bottom: 14px !important;
  }

}
@media (max-width: 767px){

  .reverie-cards{
    position: relative !important;
    transform: none !important;
    margin-top: 18px !important;
    margin-bottom: 30px !important;

    display: flex !important;
    gap: 16px !important;

    width: 100% !important;
    padding: 0 18px 20px !important;

    overflow-x: auto !important;
    overflow-y: visible !important;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;

    z-index: 20 !important;
  }

  .reverie-card{
    display: block !important;
    flex: 0 0 78vw !important;
    min-width: 78vw !important;
    max-width: 78vw !important;

    height: 230px !important;
    min-height: 230px !important;

    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;

    scroll-snap-align: start;
  }

  .reverie-card img{
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: top center !important;
  }

  .reverie-card-label{
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    bottom: 12px !important;
  }

  .reverie-cards::-webkit-scrollbar{
    display: none;
  }

}