@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Syne:wght@600;700;800&display=swap');

:root{
  --ink:#1a1a1a;
  --paper:#FAE6E3;
  --blue:#377771;
  --lime:#D74B2C;
  --coral:#ED6A5E;
  --white:#fff;
  --muted:#777;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;line-height:1.5}
a{color:inherit;text-decoration:none}
img,video{display:block;width:100%;height:auto;object-fit:contain;background:#222}
.nav{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 3.5vw}
.logo{font-family:'Syne',sans-serif;font-size:3.5rem;font-weight:800;letter-spacing:-.1em}
.logo sup{color:var(--blue);font-size:.48em;position:relative;top:-.85em;left:.08em}
.nav nav{display:flex;gap:2rem;align-items:center;font-weight:600;font-size:.85rem}
.nav-contact{background:var(--ink);color:var(--white);padding:.6rem 1rem;border-radius:100px}
.hero{min-height:calc(100vh - 88px);padding:4vh 3.5vw 6vh;position:relative;z-index:0}
.hero-kicker{display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.hero h1{font-family:'Syne',sans-serif;font-size:clamp(3.8rem,10vw,9rem);font-weight:700;letter-spacing:-.075em;line-height:.82;margin:8vh 0 6vh;position:relative;z-index:1}
.hero h1 em{color:var(--blue);font-style:normal}
.hero-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-left:40%}
.hero-bottom p{max-width:480px;font-size:clamp(1rem,1.3vw,1.2rem)}
.circle-link{background:var(--lime);border-radius:50%;width:72px;height:72px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
.shape{position:absolute;border-radius:50%;z-index:-1}
.shape-one{background:var(--coral);width:180px;height:180px;right:10vw;top:18%}
.shape-two{border:32px solid var(--blue);width:230px;height:230px;left:-90px;bottom:5%}
.ticker{background:var(--blue);color:var(--white);font-family:'Syne',sans-serif;font-weight:700;padding:1rem 0;overflow:hidden;white-space:nowrap}
.ticker div{display:inline-block;animation:marquee 26s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
.work{padding:7rem 3.5vw}
.section-heading{display:flex;justify-content:space-between;border-bottom:1px solid #b8b5ad;padding-bottom:1rem;margin-bottom:3rem;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.project-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2vw 2vw}
.home-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2vw 2vw}
.project-image{background:#ddd;overflow:hidden;position:relative}
.project--tall .project-image{aspect-ratio:4/5}
.project--wide .project-image{aspect-ratio:3/2}
.project-index{background:var(--paper);font-size:.7rem;font-weight:600;padding:.4rem .6rem;border-radius:100px;position:absolute;top:1rem;left:1rem}
.project-meta{display:flex;justify-content:space-between;align-items:baseline;padding:1rem 0;border-bottom:1px solid #b8b5ad}
.project-grid .project:not(.category-card) .project-meta{display:none}
.project-meta h2{font-family:'Syne',sans-serif;font-weight:700;letter-spacing:-.04em;font-size:clamp(1.4rem,2.2vw,2.2rem)}
.project-meta p{font-size:.75rem;color:var(--muted)}
.category-card a{display:flex;flex-direction:column}
.category-card .project-meta{order:-1;padding:.5rem 0 1rem;border-bottom:none;border-top:1px solid #b8b5ad}
.category-card .project-meta h2{font-size:clamp(1.4rem,2.2vw,2.2rem)}
.studio{background:var(--lime);display:grid;grid-template-columns:1fr 2.5fr 1fr;padding:6rem 3.5vw;gap:2rem}
.studio-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.studio-copy p:first-child{font-family:'Syne',sans-serif;font-size:clamp(2.8rem,5vw,5rem);font-weight:700;letter-spacing:-.055em;line-height:.98}
.studio-detail{margin-top:2.5rem;font-size:1.1rem;max-width:520px}
.studio-orbit{align-self:end;justify-self:end;background:var(--blue);color:var(--white);width:min(15vw,200px);height:min(15vw,200px);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Syne',sans-serif;font-weight:800;font-size:3rem;transform:rotate(10deg)}
.quote{background:var(--blue);color:var(--white);text-align:center;padding:6rem 7vw;min-height:60vh;display:flex;flex-direction:column;justify-content:center}
.quote p{font-family:'Syne',sans-serif;font-size:clamp(2.5rem,6vw,6rem);font-weight:700;letter-spacing:-.06em;line-height:1}
.quote span{color:var(--lime);text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;margin-top:2rem}
footer{background:var(--ink);color:var(--white);padding:6rem 3.5vw 2rem}
.footer-kicker{color:#aaa;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}
.footer-title{font-family:'Syne',sans-serif;font-size:clamp(3rem,8vw,8rem);font-weight:700;letter-spacing:-.06em;line-height:1;border-bottom:1px solid #555;padding:2rem 0 2rem}
.contact-form{max-width:900px;margin:3rem 0 4rem;display:grid;gap:1rem}
.contact-form textarea{width:100%;max-width:100%;justify-self:start;grid-column:1 / -1;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-form input,.contact-form textarea{background:#222;color:var(--white);border:1px solid #444;border-radius:12px;padding:.9rem 1rem;font-family:inherit;font-size:1rem}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#999}
.contact-form textarea{resize:vertical}
.contact-form button{background:var(--lime);color:var(--ink);border:none;border-radius:100px;padding:.9rem 1.6rem;font-weight:700;cursor:pointer;justify-self:start}
.contact-form button:hover{opacity:.9}
.footer-bottom{display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:4rem;font-size:.72rem;align-items:end}
.logo--footer{font-size:2.6rem}
.footer-logo-col{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
.footer-copy{font-size:.7rem;color:#aaa}
@media(max-width:900px){
  .hero-bottom{margin-left:0}
  .nav nav{display:none}
  .project-grid{grid-template-columns:1fr}
  .home-grid{display:flex;overflow-x:auto;overflow-y:visible;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:2vw;padding-bottom:1rem}
  .home-grid .project.category-card{flex:0 0 85vw;scroll-snap-align:start}
  .project-image{aspect-ratio:auto}
  .project--tall .project-image{aspect-ratio:auto}
  .project--wide .project-image{aspect-ratio:auto}
  .studio{display:block}
  .studio-orbit{margin:3rem auto 0}
  .form-row{grid-template-columns:1fr}
  .contact-form{max-width:100%}
  .contact-form textarea{max-width:100%}
  .footer-logo-col{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}
  .footer-copy{font-size:.7rem;color:#aaa}
}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);display:none;justify-content:center;align-items:center;z-index:9999}
.lightbox.active{display:flex}
.close-lightbox{position:absolute;top:30px;right:30px;color:#fff;font-size:40px;cursor:pointer}
.lightbox-content img,.lightbox-content video{max-width:90vw;max-height:80vh;border-radius:8px}
