:root{--bg:#080808;--panel:#111;--text:#f4f4f1;--muted:#9a9a95;--line:#292929;--accent:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;position:fixed;top:0;left:0;right:0;z-index:10;background:linear-gradient(#080808,transparent);backdrop-filter:blur(6px)}.logo{font-family:Oswald,sans-serif;font-size:28px;font-weight:700;letter-spacing:-1px}.logo span{color:#777}.nav nav{display:flex;gap:30px;font-size:12px;text-transform:uppercase;letter-spacing:.14em}.nav nav a,.footer-links a{color:#cfcfca;transition:color .25s,transform .25s,font-weight .25s;position:relative}.nav nav a:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:#fff;transform:scaleX(0);transform-origin:center;transition:transform .25s ease}.nav nav a:hover,.nav nav a.active,.footer-links a:hover{color:#fff}.nav nav a:hover,.nav nav a.active{font-weight:700;transform:scale(1.05)}.nav nav a:hover:after,.nav nav a.active:after{transform:scaleX(1)}.nav-cta{border:1px solid #555;padding:10px 16px;border-radius:999px;font-size:11px;text-transform:uppercase;letter-spacing:.12em}.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero-media{position:absolute;inset:0}.placeholder{background:radial-gradient(circle at 70% 40%,#272727 0,#151515 30%,#090909 72%);display:grid;place-items:center}.placeholder-inner{display:flex;flex-direction:column;align-items:center;gap:7px;color:#666;text-transform:uppercase;letter-spacing:.18em;font-size:11px}.placeholder-inner small{font-size:9px;color:#444}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.8),rgba(0,0,0,.18) 60%,rgba(0,0,0,.55)),linear-gradient(0deg,#080808 0,transparent 45%)}.hero-content{position:relative;z-index:2;padding:0 8vw 9vh;max-width:950px}.eyebrow{font-size:10px;letter-spacing:.25em;color:#aaa;text-transform:uppercase;margin:0 0 18px}.hero h1,h2{font-family:Oswald,Impact,sans-serif;font-weight:600;letter-spacing:-.025em;line-height:.82;margin:0}.hero h1{font-size:clamp(76px,13vw,180px)}em{font-style:normal;color:#a8a8a2}.hero-copy{max-width:470px;color:#c5c5c0;margin:30px 0;font-size:16px}.hero-actions{display:flex;align-items:center;gap:25px}.button{display:inline-flex;align-items:center;gap:24px;padding:15px 20px;border-radius:2px;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:700}.button-light{background:#f2f2ef;color:#080808}.button span{font-size:16px}.text-link{text-transform:uppercase;letter-spacing:.14em;font-size:10px;border-bottom:1px solid #666;padding-bottom:5px}.scroll-note{position:absolute;right:5vw;bottom:5vh;z-index:2;color:#777;font-size:9px;letter-spacing:.18em}.scroll-note span{font-size:15px;margin-left:8px}.section{padding:130px 8vw}.section-heading{display:flex;justify-content:space-between;gap:60px;align-items:end;margin-bottom:70px}.section-heading h2,.about-content h2,.contact-section h2{font-size:clamp(60px,9vw,125px)}.section-intro{max-width:330px;color:#999;font-size:13px}.work-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:55px 28px}.work-card.large{grid-row:span 2}.work-card.wide{grid-column:span 2}.media-placeholder{background:linear-gradient(135deg,#171717,#0d0d0d);border:1px solid var(--line);min-height:360px;display:grid;place-items:center;position:relative;overflow:hidden}.media-placeholder:after{content:"";position:absolute;inset:12px;border:1px dashed #2b2b2b}.media-placeholder span{position:relative;z-index:1;color:#50504c;font-size:10px;letter-spacing:.2em}.work-card.large .media-placeholder{min-height:650px}.work-card.wide .media-placeholder{min-height:420px}.card-meta{display:flex;justify-content:space-between;color:#6d6d68;font-size:9px;text-transform:uppercase;letter-spacing:.16em;padding-top:12px}.about-section{border-top:1px solid var(--line);display:grid;grid-template-columns:100px 1fr .9fr;gap:40px;align-items:center}.about-number{font-family:Oswald;font-size:50px;color:#3b3b38}.about-content{max-width:600px}.about-content h2{margin-bottom:35px}.about-content p{color:#a6a6a1;font-size:14px;max-width:530px}.about-content .text-link{display:inline-block;margin-top:18px}.portrait-placeholder{min-height:620px}.services-section{border-top:1px solid var(--line)}.compact{margin-bottom:55px}.services-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:70px 1fr 1fr;gap:30px;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.service span{font-size:10px;color:#686864}.service h3{font-family:Oswald;font-size:24px;margin:0;letter-spacing:.02em}.service p{color:#8f8f8a;font-size:12px;margin:0;max-width:360px}.contact-section{min-height:80vh;border-top:1px solid var(--line);display:grid;place-items:center;text-align:center;padding:100px 8vw}.contact-inner{max-width:900px}.contact-section h2{margin-bottom:30px}.contact-section p:not(.eyebrow){color:#999;max-width:430px;margin:0 auto 32px}.large-button{padding:18px 25px}footer{border-top:1px solid var(--line);padding:35px 8vw;display:grid;grid-template-columns:1fr 1fr 1fr;gap:30px;align-items:end}footer strong{font-family:Oswald;font-size:18px;display:block}footer span{font-size:8px;letter-spacing:.2em;color:#777}.footer-links{display:flex;gap:18px;justify-content:center;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.copyright{font-size:9px;color:#666;text-align:right}@media(max-width:800px){.nav{padding:0 5vw}.nav nav{display:none}.nav-cta{padding:8px 12px}.hero-content{padding:0 7vw 12vh}.hero h1{font-size:23vw}.hero-copy{font-size:14px}.scroll-note{display:none}.section{padding:90px 7vw}.section-heading{display:block;margin-bottom:45px}.section-intro{margin-top:25px}.work-grid{display:block}.work-card{margin-bottom:35px}.work-card.large .media-placeholder,.work-card .media-placeholder,.work-card.wide .media-placeholder{min-height:52vw}.about-section{display:block}.about-number{margin-bottom:35px}.portrait-placeholder{margin-top:45px;min-height:100vw}.service{grid-template-columns:35px 1fr;gap:12px}.service p{grid-column:2}.service h3{font-size:20px}footer{grid-template-columns:1fr}.footer-links{justify-content:flex-start;flex-wrap:wrap}.copyright{text-align:left}}

/* V2 portfolio additions */
.portfolio-label{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:end;margin:64px 0 24px;padding-top:18px;border-top:1px solid var(--line)}
.portfolio-label span{font-family:Oswald,sans-serif;font-size:.8rem;color:var(--muted)}
.portfolio-label h3{margin:0;font-family:Oswald,sans-serif;font-size:clamp(1.5rem,3vw,2.4rem);letter-spacing:.03em}
.portfolio-label p{margin:0;color:var(--muted);font-size:.85rem;text-align:right}
.woodward-feature{display:grid;grid-template-columns:1.55fr .75fr;gap:0;background:#111;min-height:520px;border:1px solid var(--line);overflow:hidden}
.woodward-media{min-height:520px;border:0;border-right:1px solid var(--line)}
.woodward-copy{padding:56px 46px;display:flex;flex-direction:column;justify-content:center}
.woodward-copy h3,.wedding-copy h3{font-family:Oswald,sans-serif;font-size:clamp(2.5rem,5vw,5rem);line-height:.92;margin:12px 0 26px}
.woodward-copy p:not(.eyebrow),.wedding-copy p:not(.eyebrow){color:var(--muted);line-height:1.75;max-width:440px}
.sports-sub{margin-top:88px}
.weddings-section{margin-top:120px;padding-top:10px}
.wedding-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.wedding-card{margin:0}
.wedding-copy{padding:20px 10px}
.wedding-copy h3{font-size:clamp(2.2rem,4vw,4rem)}
.wedding-copy .text-link{margin-top:20px}

@media (max-width: 800px){
  .portfolio-label{grid-template-columns:auto 1fr;gap:10px}
  .portfolio-label p{grid-column:2;text-align:left}
  .woodward-feature,.wedding-grid{grid-template-columns:1fr}
  .woodward-media{min-height:360px;border-right:0;border-bottom:1px solid var(--line)}
  .woodward-copy{padding:38px 28px}
  .weddings-section{margin-top:80px}
}


.hype-card .media-placeholder {
  min-height: 360px;
}

.hype-card .media-placeholder small {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .65;
}
