*{box-sizing:border-box}body{margin:0;background:#101112;color:#f6f1e8;font:16px/1.6 Arial,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #d7b87b;outline-offset:3px}.wrap{max-width:1200px;width:calc(100% - 64px);margin:auto}header{background:#111;border-bottom:1px solid #333}header .wrap{min-height:80px;display:flex;align-items:center;gap:26px}.logo{font-size:29px;font-weight:900;letter-spacing:-2px;white-space:nowrap}.logo b,.eyebrow,.card em,.email{color:#d7b87b}nav{display:flex;gap:20px;margin-left:auto}nav a{font-size:13px;font-weight:bold}nav a[aria-current]{color:#d7b87b}.cta{display:inline-block;background:#d7b87b;color:#151515;padding:12px 20px;font-weight:bold;font-size:13px;white-space:nowrap}.menu{display:none}.hero{min-height:550px;position:relative;display:flex;align-items:center;overflow:hidden}.hero picture,.hero img{position:absolute;inset:0;width:100%;height:100%}.hero img{object-fit:cover}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0b0bee 0%,#0b0b0bc0 36%,#0b0b0b33 100%)}.hero .wrap{position:relative;z-index:1;padding:65px 0}.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:11px;font-weight:bold;margin-bottom:22px}.hero h1{font-size:clamp(40px,5.5vw,78px);line-height:1.08;letter-spacing:-3px;max-width:680px;margin:0 0 24px}.hero p{max-width:450px;color:#e4ddd2;margin:0 0 30px;font-size:18px}.section{padding:54px 0 70px}.section h2{font-size:clamp(28px,3vw,38px);line-height:1.2;margin:0 0 25px;letter-spacing:-1px}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.card{background:#1c1c1d;border:1px solid #383532;display:block;overflow:hidden}.card:hover{border-color:#d7b87b}.card img{width:100%;height:175px;object-fit:cover;display:block}.card div{padding:20px}.card h3{font-size:21px;margin:0 0 8px}.card p,.muted{color:#bdb7ad}.card em{font-style:normal;font-size:13px;font-weight:bold}.statement{border-left:2px solid #d7b87b;padding:18px 26px;font-size:clamp(22px,3vw,31px);max-width:840px}.panel{padding:28px;background:#22201d;border:1px solid #5d4d34;margin-top:25px}.email{font-weight:bold;overflow-wrap:anywhere}footer{border-top:1px solid #333;padding:28px 0;color:#aaa;font-size:12px}footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footlinks{display:flex;gap:18px;flex-wrap:wrap}.legal{max-width:850px;padding:55px 0 100px}.legal p{color:#c5c1b8}@media(max-width:1000px){nav{gap:11px}nav a{font-size:12px}header .wrap{gap:15px}}@media(max-width:790px){header .wrap{flex-wrap:wrap;min-height:70px}.menu{display:block;margin-left:auto;background:transparent;color:white;border:1px solid #666;padding:8px}nav{display:none;order:4;width:100%;flex-direction:column;padding-bottom:15px}nav.open{display:flex}nav a{padding:7px 0;font-size:15px}.hero{min-height:480px}.hero:after{background:linear-gradient(90deg,#0b0b0be8,#0b0b0b77)}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.wrap{width:calc(100% - 36px)}.logo{font-size:25px}header .cta{padding:9px;font-size:11px}.hero h1{letter-spacing:-2px}.hero p{font-size:16px}.cards{grid-template-columns:1fr}.section{padding:42px 0}.card img{height:190px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
/* v2 editorial refinements */
html{scroll-padding-top:100px;scroll-behavior:smooth}header{position:sticky;top:0;z-index:100;background:#101112}main{min-height:50vh}.hero{isolation:isolate}.hero .wrap{padding-top:90px;padding-bottom:90px}.hero h1{overflow-wrap:normal;text-wrap:balance}.section h2{text-wrap:balance}.editorial{max-width:1200px;border-top:1px solid #40382c;padding-top:52px;padding-bottom:70px}.editorial h2{max-width:700px;font-size:clamp(30px,4vw,48px)}.editorial p{max-width:780px;color:#c8c2b9;font-size:18px;line-height:1.8;margin-bottom:30px}.card p{min-height:75px}.card{transition:transform .2s ease,border-color .2s ease}.card:hover{transform:translateY(-4px)}.card img{height:200px}.hero-about img{object-position:center 45%}.hero-contact img{object-position:center 55%}.hero-talent img{object-position:center 40%}.hero-collaborate img{object-position:center 55%}.hero-what-we-do img{object-position:center 50%}body:has(.hero-about) .hero{min-height:490px}body:has(.hero-contact) .hero{min-height:490px}body:has(.hero-collaborate) .cards{grid-template-columns:1.3fr 1fr 1fr}body:has(.hero-talent) .cards{grid-template-columns:repeat(3,minmax(0,1fr))}body:has(.hero-what-we-do) .cards{grid-template-columns:repeat(2,minmax(0,1fr))}body:has(.hero-what-we-do) .card:first-child{grid-row:span 2}body:has(.hero-what-we-do) .card:first-child img{height:350px}body:has(.hero-about) .statement{max-width:760px;font-size:clamp(23px,3vw,35px)}@media(max-width:790px){body:has(.hero-collaborate) .cards,body:has(.hero-talent) .cards,body:has(.hero-what-we-do) .cards{grid-template-columns:1fr 1fr}body:has(.hero-what-we-do) .card:first-child{grid-row:auto}body:has(.hero-what-we-do) .card:first-child img{height:200px}.hero .wrap{padding-top:55px;padding-bottom:55px}}@media(max-width:520px){body:has(.hero-collaborate) .cards,body:has(.hero-talent) .cards,body:has(.hero-what-we-do) .cards{grid-template-columns:1fr}.editorial p{font-size:16px}.hero{min-height:480px}.hero h1{font-size:clamp(37px,10vw,54px)}.card p{min-height:0}}@media(prefers-reduced-motion:reduce){.card{transition:none}}
/* Legal content typography */
.legal h2{font-size:clamp(21px,2.4vw,27px);margin:38px 0 12px;color:#f4e8d5}.legal p,.legal li{line-height:1.8;color:#d0cbc2}.legal ul{padding-left:24px}.legal li{margin:8px 0}.legal strong{color:#f4e8d5}.legal a:not(.email){text-decoration:underline;text-underline-offset:3px}.legal h1{font-size:clamp(38px,5vw,60px);line-height:1.12}

/* v3.1: editorial sections use the same centered content grid as every other page. */
.section.container.editorial {
  width:calc(100% - 64px);
  max-width:1200px;
  margin-inline:auto;
  padding-inline:0;
}
.section.container.editorial > * { max-width:100%; }
@media(max-width:520px) {
  .section.container.editorial { width:calc(100% - 36px); }
}

/* v3.3 mobile-first refinements */
html{overflow-x:clip}body{overflow-x:clip}img{max-width:100%} .wrap,.section.container.editorial{min-width:0}
@media(max-width:790px){
 header .wrap{gap:12px;align-content:center;padding-block:12px}
 .logo{margin-right:auto}.menu{min-height:44px;min-width:72px;border-radius:3px;cursor:pointer;font-weight:700}
 header .cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 nav{order:5;width:100%;margin-left:0;padding:8px 0 4px;border-top:1px solid #383532;gap:0}
 nav a{display:block;padding:13px 12px;min-height:46px;border-bottom:1px solid #292929;font-size:16px}
 .hero{min-height:clamp(490px,70svh,700px)}.hero .wrap{padding-block:65px}
 .hero:after{background:linear-gradient(90deg,rgba(11,11,11,.91),rgba(11,11,11,.48)),linear-gradient(0deg,rgba(11,11,11,.32),transparent 55%)}
 .hero h1{max-width:620px;letter-spacing:-1.8px}.hero p{max-width:520px}
 .editorial{padding-top:38px;padding-bottom:55px}.section{padding-block:42px 55px}
 .card img{height:185px}.card p{min-height:0}
 body:has(.hero-about) .hero,body:has(.hero-contact) .hero{min-height:490px}
}
@media(max-width:520px){
 .wrap,.section.container.editorial{width:calc(100% - 36px)}
 header .wrap{gap:9px}.logo{font-size:24px;letter-spacing:-1.6px}
 header .cta{font-size:12px;padding:10px 12px;white-space:normal;text-align:center}
 .menu{font-size:13px;padding:9px;min-width:64px}
 .hero{min-height:clamp(510px,77svh,730px)}.hero .wrap{padding-block:65px 75px}
 .hero h1{font-size:clamp(38px,10.5vw,54px);line-height:1.08;letter-spacing:-1.8px;overflow-wrap:break-word}
 .hero p{font-size:16px;line-height:1.65}.eyebrow{letter-spacing:2px;font-size:10px}
 .hero img{object-position:60% center}.hero-about img{object-position:60% center}.hero-talent img{object-position:58% center}
 .hero-contact img{object-position:65% center}.hero-collaborate img{object-position:65% center}
 .section h2,.editorial h2{font-size:clamp(28px,8vw,38px)}
 .cards,body:has(.hero-collaborate) .cards,body:has(.hero-talent) .cards,body:has(.hero-what-we-do) .cards{grid-template-columns:minmax(0,1fr)}
 .card img,body:has(.hero-what-we-do) .card:first-child img{height:190px}.card div{padding:19px}
 .editorial p{line-height:1.65}.statement{padding:12px 18px;font-size:23px}.panel{padding:20px}
 .cta{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
 footer .wrap{flex-direction:column;gap:18px}.footlinks{gap:12px 18px}.footlinks a{padding-block:6px}
 .legal{padding-top:35px;padding-bottom:70px}.legal h1{font-size:36px}
}
@media(max-width:360px){header .wrap{gap:6px}.logo{font-size:22px}header .cta{font-size:11px;padding-inline:8px}.menu{min-width:58px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.card:hover{transform:none}}

/* v3.4: mobile design system; desktop presentation preserved */
.arrow{display:inline-block;margin-left:.18em;color:inherit;font-family:Arial,sans-serif;font-weight:700}
@media(max-width:790px){
 html{scroll-padding-top:88px}
 header .wrap{min-height:72px;flex-wrap:nowrap;padding-block:10px;gap:10px}
 header .logo{flex:0 0 auto;font-size:clamp(21px,4.7vw,27px);letter-spacing:-1.5px}
 header .menu{margin-left:auto;flex:0 0 auto;min-width:62px;min-height:42px;padding:8px 10px;border:1px solid #555;background:#181819;color:#f6f1e8;font-size:13px;line-height:1.2}
 header .cta{flex:0 0 auto;min-height:42px;padding:9px 12px;font-size:13px;line-height:1.2;white-space:nowrap}
 header nav{position:absolute;top:100%;left:0;right:0;display:none;width:100%;padding:10px max(18px,calc((100vw - 1200px)/2)) 18px;background:#141414;border-top:1px solid #39332b;border-bottom:1px solid #51452f;box-shadow:0 18px 24px #0009;max-height:calc(100svh - 80px);overflow-y:auto}
 header nav.open{display:flex}header nav a{font-size:16px;min-height:49px;padding:12px 14px}
 .hero{min-height:clamp(460px,68svh,660px)}.hero .wrap{padding-block:64px}
 .hero h1{font-size:clamp(37px,8vw,59px);line-height:1.09;letter-spacing:-1.6px;margin-bottom:21px}
 .hero p{font-size:clamp(15px,3.6vw,18px);line-height:1.65;max-width:520px}
 .hero:after{background:linear-gradient(90deg,rgba(10,10,10,.86),rgba(10,10,10,.44)),linear-gradient(0deg,rgba(10,10,10,.48),transparent 60%)}
 .section{padding-block:38px 52px}.editorial{padding-top:40px;padding-bottom:55px}
 .section h2,.editorial h2{font-size:clamp(29px,6.5vw,41px);line-height:1.15;letter-spacing:-.9px}
 .card div{padding:20px}.card h3{font-size:20px}.card p{font-size:15px;line-height:1.65;margin:10px 0 20px}
 .card em{font-size:14px}.card img{height:190px}
 .editorial p{font-size:16px;line-height:1.7}.statement{font-size:clamp(21px,4.7vw,29px);line-height:1.55}
 .eyebrow{font-size:10px;letter-spacing:2px}.cta{min-height:44px}
}
@media(max-width:520px){
 .wrap,.section.container.editorial{width:calc(100% - 40px)}
 header .wrap{gap:8px}header .logo{font-size:clamp(20px,5.6vw,25px)}
 header .menu{min-width:57px;padding:8px 9px;font-size:12px}
 header .cta{font-size:12px;padding:9px 11px}
 .hero{min-height:clamp(470px,69svh,640px)}.hero .wrap{padding-block:52px 62px}
 .hero h1{font-size:clamp(36px,9.6vw,49px);letter-spacing:-1.35px;max-width:100%}
 .hero p{font-size:15.5px;line-height:1.65;margin-bottom:24px}
 .hero img{object-position:58% center}.hero-about img{object-position:56% center}
 .hero-contact img{object-position:64% center}.hero-talent img{object-position:56% center}
 .hero-collaborate img{object-position:63% center}
 .section{padding-block:36px 48px}.section h2,.editorial h2{font-size:clamp(29px,7.8vw,37px)}
 .cards{gap:16px}.card img,body:has(.hero-what-we-do) .card:first-child img{height:180px}
 .card div{padding:18px 19px 21px}.card p{min-height:0;margin-bottom:20px}
 .editorial{padding-top:37px;padding-bottom:52px}.editorial p{font-size:15.5px;line-height:1.7}
 .statement{padding:12px 18px;font-size:clamp(20px,5.3vw,25px)}
 footer{padding-block:24px 32px}footer .wrap{gap:15px}.footlinks{gap:8px 18px}
}
@media(max-width:365px){header .logo{font-size:20px}header .menu{min-width:52px;font-size:11px}header .cta{font-size:11px;padding-inline:8px}}

/* v3.5: compact mobile rhythm and coherent interactions */
.arrow{font-family:Arial,sans-serif;font-size:1em;line-height:1;display:inline-block;transform:translateY(-.03em);margin-left:.2em}
@media(max-width:790px){
 html{scroll-padding-top:78px}
 header .wrap{min-height:64px;padding-block:8px}
 header .menu,header .cta{min-height:42px}
 .hero .wrap{padding-block:48px 55px}
 .section{padding-block:32px 40px}
 .editorial{padding-top:34px;padding-bottom:43px}
 .card{transition:none}
 .card div{padding:17px 19px 19px}
 .card p{margin:8px 0 15px;line-height:1.58}
 .cards{gap:14px}
 .eyebrow{margin-bottom:16px}
 .section h2,.editorial h2{margin-bottom:20px}
 .hero-about img{object-position:center center}
}
@media(max-width:520px){
 header .wrap{gap:7px}
 header .logo{font-size:clamp(20px,5.4vw,24px)}
 header .menu{font-size:12px;padding:8px;min-width:57px}
 header .cta{font-size:12px;padding:8px 10px}
 .hero{min-height:clamp(440px,63svh,610px)}
 .hero h1{font-size:clamp(35px,9.2vw,47px)}
 .hero p{font-size:15.5px}
 .section{padding-block:30px 38px}
 .section h2,.editorial h2{font-size:clamp(28px,7.4vw,36px)}
 .card img,body:has(.hero-what-we-do) .card:first-child img{height:174px}
 .card div{padding:16px 18px 18px}
 .card h3{font-size:19px}
 .card p{font-size:15px}
 .editorial p{line-height:1.6;margin-bottom:22px}
 .statement{font-size:clamp(19px,5vw,24px);padding:10px 16px}
 .hero-about img{object-position:48% center}
 footer{padding-block:20px 25px}
}
@media(max-width:380px){header .cta{font-size:11px;padding-inline:8px}header .menu{min-width:51px}header .logo{font-size:20px}}

/* v3.6 — editorial explanation of AI-generated imagery */
.ai-faces { border-top: 1px solid rgba(211,177,111,.22); }
.ai-faces .ai-faces-copy { max-width: 760px; }
.ai-faces .ai-faces-copy p { line-height: 1.75; margin: 0 0 1.15em; }
.ai-faces .ai-faces-copy strong { color: #f6f0e7; }
.ai-faces-punchline { border-left: 3px solid #d4b476; padding: .55em 0 .55em 1.1em; color: #e5c58a; font-weight: 650; }
.ai-faces-signoff { font-size: clamp(1.25rem, 2.5vw, 1.8rem); font-weight: 700; color: #f6f0e7; }
.ai-faces .cta { margin-top: .6rem; }
@media(max-width:600px) { .ai-faces .ai-faces-copy p { line-height: 1.65; } .ai-faces-punchline { padding-left: .85em; } }
