:root{
  --paper:#f6f4ef;--ink:#111;--muted:#777;--accent:#c8ff32;--line:rgba(17,17,17,.16)
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:"Manrope",sans-serif;background:var(--paper);color:var(--ink);overflow-x:hidden}
a{color:inherit;text-decoration:none}.serif{font-family:"DM Serif Display",serif;font-weight:400}
.bg-ink{background:#111!important}.accent{color:var(--accent)}
.navbar{padding:1.2rem 0;transition:.3s;background:transparent}
.navbar.scrolled{background:rgba(246,244,239,.92);backdrop-filter:blur(12px);padding:.75rem 0;border-bottom:1px solid var(--line)}
.brand-mark{font-weight:800;letter-spacing:-.06em;font-size:1.35rem}.brand-mark span{color:#777;margin:0 .06em}
.nav-link{font-size:.88rem;font-weight:600}.menu-lines,.menu-lines:before{display:block;width:28px;height:2px;background:#111;content:"";margin:6px 0}
.mobile-link{font-size:clamp(2.4rem,9vw,4rem);font-weight:700;letter-spacing:-.06em;line-height:1.25}.accent-link{color:var(--accent)}
.hero{padding-top:8rem}.hero-meta,.section-label,.small-caps{font-size:.72rem;letter-spacing:.15em;font-weight:700}
.display-hero{font-size:clamp(4.2rem,11.5vw,10.5rem);line-height:.78;letter-spacing:-.075em;font-weight:800;margin:0}
.display-hero .serif{letter-spacing:-.045em}.hero-copy{font-size:clamp(1.1rem,1.6vw,1.5rem);line-height:1.45;max-width:32rem}
.text-link{font-weight:700;border-bottom:1px solid;padding-bottom:.3rem}
.marquee-wrap{overflow:hidden;background:var(--accent);padding:.9rem 0;transform:rotate(-1deg);width:102%;margin-left:-1%}
.marquee-track{display:flex;width:max-content;animation:marquee 24s linear infinite;font-weight:800;font-size:.8rem;letter-spacing:.12em}
.marquee-track span{padding-right:2rem}@keyframes marquee{to{transform:translateX(-50%)}}
.section-pad{padding:clamp(6rem,10vw,10rem) 0}.section-label{border-top:1px solid var(--ink);padding-top:1rem}
.statement{font-size:clamp(3.2rem,7vw,7.4rem);line-height:.92;letter-spacing:-.065em;font-weight:700}
.lead-copy{font-size:1.1rem;line-height:1.8;color:#444}
.services-list{border-top:1px solid var(--ink)}
.service-row{display:grid;grid-template-columns:70px 1fr 40px;gap:1rem;border-bottom:1px solid var(--line);padding:2.1rem 0;align-items:start;transition:.3s}
.service-row h3{font-size:clamp(1.65rem,3.5vw,3.7rem);letter-spacing:-.055em;margin:0;transition:.3s}.service-row p{max-width:45rem;color:var(--muted);margin:.7rem 0 0;display:none}
.service-row>i{font-size:1.5rem;transition:.3s}.service-row:hover{padding-left:1rem}.service-row:hover h3{font-family:"DM Serif Display",serif;font-weight:400}.service-row:hover p{display:block}.service-row:hover>i{transform:rotate(45deg)}
.work-image{aspect-ratio:4/3;display:flex;align-items:flex-end;justify-content:flex-end;padding:1.5rem;font-size:4rem;font-weight:800;letter-spacing:-.08em;overflow:hidden;transition:.45s}
.work-one{background:#d9d3c5}.work-two{background:#171717;color:white;aspect-ratio:1/1}.work-three{background:var(--accent);aspect-ratio:1/1}.work-four{background:#c9c6be}
.work-card:hover .work-image{transform:scale(.985);border-radius:2rem}.work-card h3{font-size:1.25rem;margin-bottom:.2rem}.work-card p{color:var(--muted);font-size:.85rem}.work-card i{font-size:1.4rem}
.client-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}
.client-grid div{min-height:120px;display:grid;place-items:center;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);font-weight:800;color:#555;transition:.25s}.client-grid div:hover{background:var(--accent);color:#111}
.faq-title{font-size:clamp(3rem,5vw,5.5rem);line-height:.95;letter-spacing:-.055em;margin-top:2rem}
.accordion{--bs-accordion-bg:transparent;--bs-accordion-border-color:var(--line);--bs-accordion-btn-focus-box-shadow:none;--bs-accordion-active-bg:transparent;--bs-accordion-active-color:#111}
.accordion-button{font-size:1.2rem;font-weight:700;padding:1.6rem 0}.accordion-body{padding:0 0 1.7rem;color:#555;line-height:1.8;max-width:50rem}
.contact-section{min-height:100vh;display:flex;align-items-center}.contact-title{font-size:clamp(3.6rem,8vw,8rem);line-height:.88;letter-spacing:-.07em;font-weight:700}
.contact-form label{font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;color:#999}.contact-form .form-control{background:transparent;border:0;border-bottom:1px solid #555;border-radius:0;color:white;padding:.7rem 0;box-shadow:none}.contact-form .form-control:focus{border-color:var(--accent)}
.btn-accent{background:var(--accent);color:#111;font-weight:800;border:0}.btn-accent:hover{background:white;color:#111}
.footer{border-top:1px solid #333;color:#999;font-size:.82rem}.footer strong,.footer a{color:white}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.delay-1{transition-delay:.12s}
@media(max-width:991.98px){.navbar{background:rgba(246,244,239,.9);backdrop-filter:blur(10px)}.hero{min-height:88vh!important}.hero-meta{font-size:.62rem}.display-hero{line-height:.85}.hero-copy{margin-top:2rem}.statement{font-size:clamp(3rem,12vw,5.5rem)}.service-row{grid-template-columns:45px 1fr 25px}.service-row p{display:block}.service-row:hover{padding-left:0}.contact-section{min-height:auto}.client-grid div{min-height:90px}}
@media(max-width:575.98px){.container-fluid{padding-left:1.25rem!important;padding-right:1.25rem!important}.display-hero{font-size:19vw}.hero-meta span:first-child{max-width:130px}.section-pad{padding:5rem 0}.service-row h3{font-size:1.6rem}.service-no{font-size:.75rem}.client-grid{grid-template-columns:1fr 1fr}.contact-title{font-size:15vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}.reveal{opacity:1;transform:none;transition:none}}

/* Portfolio media: use real descriptive alt text when replacing placeholders. */
.media-frame{overflow:hidden;background:#ddd}
.media-frame img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.work-card:hover .media-frame img{transform:scale(1.025)}
.video-placeholder{background:#171717;color:#fff}
.video-dummy{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:.65rem;text-align:center}
.video-dummy i{font-size:3.5rem;color:var(--accent)}
.video-dummy span{font-weight:800;font-size:1.1rem}
.video-dummy small{color:#999}
.project-summary{max-width:42rem;color:#666;font-size:.92rem;line-height:1.65;margin-top:.5rem}
.hero-fullbleed{position:relative;isolation:isolate;overflow:hidden;background:#0b0b0b;padding-top:8rem}.hero-media,.hero-overlay{position:absolute;inset:0}.hero-media{z-index:-3}.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 36%;filter:saturate(.78) contrast(1.06)}.hero-overlay{z-index:-2;background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.64) 43%,rgba(0,0,0,.25) 75%),linear-gradient(0deg,rgba(0,0,0,.75),transparent 50%)}.hero-content{position:relative;z-index:1}.hero-secondary{font-size:clamp(2rem,4.4vw,5rem);line-height:.95;letter-spacing:-.055em;font-weight:800;margin:1rem 0 0}.hero-secondary span{color:var(--accent)}.hero-services{display:flex;gap:1rem 2rem;flex-wrap:wrap;text-transform:uppercase;font-size:.67rem;letter-spacing:.14em;font-weight:700}.hero-services span:not(:last-child)::after{content:"/";margin-left:2rem;color:#ffffff70}@media(max-width:991.98px){.hero-fullbleed{min-height:100svh!important}.hero-media img{object-position:center}.hero-overlay{background:linear-gradient(0deg,rgba(0,0,0,.9),rgba(0,0,0,.35) 75%)}.hero-services span:not(:last-child)::after{display:none}}

/* Navigation fix — transparent over hero, light after scroll */
#mainNav{
  background:transparent;
  border-bottom:1px solid transparent;
}
#mainNav .navbar-brand,
#mainNav .nav-link{
  color:#fff;
}
#mainNav .nav-link:hover,
#mainNav .nav-link:focus{
  color:var(--accent);
}
#mainNav .brand-mark span{color:rgba(255,255,255,.58)}
#mainNav .navbar-toggler{color:#fff}
#mainNav .menu-lines,
#mainNav .menu-lines::before{
  background:#fff;
}
#mainNav .btn-dark{
  background:#fff;
  border-color:#fff;
  color:#111;
}
#mainNav .btn-dark:hover,
#mainNav .btn-dark:focus{
  background:var(--accent);
  border-color:var(--accent);
  color:#111;
}

#mainNav.scrolled{
  background:rgba(246,244,239,.94);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  border-bottom-color:var(--line);
}
#mainNav.scrolled .navbar-brand,
#mainNav.scrolled .nav-link{
  color:#111;
}
#mainNav.scrolled .nav-link:hover,
#mainNav.scrolled .nav-link:focus{
  color:#555;
}
#mainNav.scrolled .brand-mark span{color:#777}
#mainNav.scrolled .menu-lines,
#mainNav.scrolled .menu-lines::before{
  background:#111;
}
#mainNav.scrolled .btn-dark{
  background:#111;
  border-color:#111;
  color:#fff;
}
#mainNav.scrolled .btn-dark:hover,
#mainNav.scrolled .btn-dark:focus{
  background:var(--accent);
  border-color:var(--accent);
  color:#111;
}

/* Mobile navbar stays transparent over the hero; offcanvas is the menu surface. */
@media (max-width:991.98px){
  #mainNav,
  #mainNav:not(.scrolled){
    background:transparent;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  #mainNav.scrolled{
    background:rgba(246,244,239,.94);
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
  }
  #mainNav .navbar-toggler{
    display:flex;
    width:44px;
    height:44px;
    align-items:center;
    justify-content:center;
    padding:0;
  }
  #mobileNav{z-index:1060}
  #mobileNav .mobile-link{
    display:block;
    padding:.18em 0;
    color:#fff;
  }
  #mobileNav .mobile-link:hover,
  #mobileNav .mobile-link:focus{
    color:var(--accent);
  }
  #mobileNav .accent-link{color:var(--accent)}
}
